跳至主要內容

ufw

lyx926大约 2 分钟

安装命令

sudo apt update
sudo apt install ufw

检查UFW状态

sudo ufw status verbose

应用配置

#列出系统上所有应用程序
sudo ufw app list
#例如,要获取有关OpenSSH配置文件的信息
sudo ufw app info OpenSSH
#要将UFW防火墙配置为接受SSH连接
sudo ufw allow OpenSSH
#例如,您的ssh服务器侦听端口2222
sudo ufw allow 2222/tcp

启用与禁用UFW

sudo ufw enable
sudo ufw disable

开放端口

开启http服务需要的80端口:

sudo ufw allow http

可以使用端口号80代替http配置文件:

sudo ufw allow 80/tcp

开启https服务需要端口:

sudo ufw allow https

可以使用端口号443代替https配置文件:

sudo ufw allow 443/tcp

开启tomcat默认使用的8080端口:

sudo ufw allow 8080/tcp

允许网段:

sudo ufw allow 8090:9090/tcp
sudo ufw allow 8090:9090/udp

允许IP:

sudo ufw allow from 192.168.1.1

允许IP+port:

sudo ufw allow from 192.168.1.1 to any port 22

允许子网:

sudo ufw allow from 192.168.1.0/24 to any port 3306
sudo ufw allow from 192.168.1.0/24

允许连接到特定的网络接口:

sudo ufw allow in on eth0 to any port 3306

拒绝连接

allow 换成 deny

删除UFW规则

#查看规则
sudo ufw status numbered
#通过规则号删除
sudo ufw delete 3
#通过端口号删除
sudo ufw delete allow 8069

重置UFW

#重置UFW将会禁用UFW,并删除所有活动规则。
sudo ufw reset

端口转发

#配置文件
vi etc/default/ufw
default_forward_policy = "accept"

#/etc/ufw/sysctl.conf 允许ipv4转发
net/ipv4/ip_forward=1

#iptables方式
iptables -t nat -A PREROUTING -p tcp --dport [端口号] -j DNAT --to-destination [目标IP]
iptables -t nat -A POSTROUTING -p tcp -d [目标IP] --dport [端口号] -j SNAT --to-source [中转服务器IP]

#ufw方式
vi /etc/ufw/before.rules

#注意*nat,以COMMIT结尾才会生效。*filter一个COMMIT,*nat一个COMMIT
#不能总用一个COMMIT。
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

# Port Forwardings 
-A PREROUTING -p tcp --dport 10010 -j DNAT --to-destination 103.79.78.76
-A POSTROUTING -p tcp -d 103.79.78.76 --dport 10010 -j SNAT --to-source 183.60.100.8

# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT

#重新启动ufw
sudo ufw disable && sudo ufw enable

#查看iptables生效状态
iptables -t nat -L -v