zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

2023-03-07 09:40:22 时间

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 networkctl status -a

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