Ubuntu18.04的网络管理netplan和防火墙ufw

Netplan

Ubuntu18.04使用的网络管理是netplan, 配置文件在/etc/netplan/下
刚安装完成的配置是这样的(设置成了静态IP, 添加了DNS)

network:
    ethernets:
        ens3:
            addresses:
            - 192.168.13.25/24
            dhcp4: false
            gateway4: 192.168.13.1
            nameservers:
                addresses:
                - 114.114.114.114
                search: []
    version: 2

添加静态路由

network:
    ethernets:
        ens3:
            addresses:
            - 192.168.13.25/24
            dhcp4: false
            gateway4: 192.168.13.1
            nameservers:
                addresses:
                - 114.114.114.114
                search: []
            routes:
            - to: 10.8.0.0/24
              via: 192.168.13.15
    version: 2

测试配置(并应用), 如果回车则应用新配置

sudo netplan try

应用配置

sudo netplan apply

查看配置结果

sudo networkctl status -a

Update 2023-05-15

在Ubuntu22.04中, gateway4 已经deprecated, 需要使用 default route

            routes:
                - to: default
                  via: 192.168.10.1

完整的配置例子为

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: false
      dhcp6: false
     addresses:
      - 192.168.10.10/24
     routes:
      - to: default
        via: 192.168.10.1
     nameservers:
       addresses: [192.168.10.1]

UFW

Ubuntu18.04自带了一个简单防火墙工具 UFW(Uncomplicated Firewall), 职能与firewalld类似, UFW实际上底层起作用的还是是iptables.
默认情况下UFW 阻止所有传入连接并允许所有传出连接. 任何尝试访问当前机器的请求都无法连接, 但当前机器上运行的应用能对外访问.

# 启动和关闭, 可以运行iptables -L -n查看开启前后的区别
sudo ufw enable
sudo ufw disable

# 查看工作情况和端口打开信息
sudo ufw status verbose

# 查看可用的应用(可用并不代表端口已打开, 以上面的结果为准)
sudo ufw app list
# 查看应用对应的端口
sudo ufw app info OpenSSH

添加开放端口的几种方式

# 允许ssh连接(根据app配置打开22端口)
sudo ufw allow OpenSSH
# 允许 HTTP 连接:
sudo ufw allow http

# 直接指定端口号 80
sudo ufw allow 80
# 只打开80端口的TCP连接
sudo ufw allow 80/tcp
# 也可以使用应用程序配置文件,在本例中为「Nginx HTTP」:
sudo ufw allow 'Nginx HTTP'

# 允许 HTTPS 连接:
sudo ufw allow https
# 也可以直接指定端口号 443:
sudo ufw allow 443/tcp
# 也可以使用应用程序配置文件,在本例中为「Nginx HTTPS」:
sudo ufw allow 'Nginx HTTPS'

# 如果是添加端口区间, 用 : 号分隔
ufw allow 11200:11299/tcp

# 如果要限制访问来源, 用 from, 这里any指代本机的任何IP
ufw allow from 192.168.0.0/16 to any port 5001
# 如果同时还要限制本机IP和协议, 则
ufw allow proto tcp from 10.0.0.0/8 to 192.168.0.1 port 25

# 如果要允许某段IP访问所有端口
sudo ufw allow from 192.168.0.0/16

添加拒绝端口

# both tcp and udp
sudo ufw deny 53
# only tcp
sudo ufw deny 53/tcp

删除存在的规则

sudo ufw delete deny 80/tcp

sudo ufw delete allow 53/udp

posted on 2018-12-18 18:41  Milton  阅读(5286)  评论(1编辑  收藏  举报

导航