ufw Ubuntu默认防火墙,firewall-cmd CentOS默认防火墙。
ufw
基本用法
启用或禁用防火墙
1
2
|
sudo ufw enable # 启用防火墙
sudo ufw disable # 禁用防火墙
|
允许或拒绝流量
1
2
|
sudo ufw allow <port>/<protocol> # 允许进入端口的流量,例如:sudo ufw allow 80/tcp
sudo ufw deny <port>/<protocol> # 拒绝进入端口的流量,例如:sudo ufw deny 22/tcp
|
查看防火墙规则
1
2
|
sudo ufw status # 显示所有规则及其状态
sudo ufw status numbered # 显示所有规则及其编号
|
删除防火墙规则
1
|
sudo ufw delete <rule_number> # rule_number为规则编号,获取规则编号参考上一条命令
|
其它用法
允许SSH连接
允许HTTP和HTTPS流量
1
2
|
sudo ufw allow http
sudo ufw allow https
|
拒绝所有流量
允许特定IP地址的流量
1
|
sudo ufw allow from <IP_address>
|
firewall-cmd
启用或禁用防火墙
1
2
|
sudo systemctl start firewalld
sudo systemctl enable firewalld
|
查看防火墙状态
1
|
sudo firewall-cmd --state
|
如果Firewalld正在运行,则该命令将返回running。否则,返回not running。
默认区域配置
Firewalld使用区域来管理网络连接。默认情况下,它有以下四个区域:
查看可用区域
1
|
sudo firewall-cmd --get-zones
|
查看当前区域
1
|
sudo firewall-cmd --get-active-zones
|
设置默认区域
1
|
sudo firewall-cmd --set-default-zone=<zone_name>
|
默认情况下,Firewalld使用public区域。
配置防火墙规则
-
添加规则:sudo firewall-cmd --zone=public --add-service=http --permanent
。此命令将添加允许HTTP流量通过公共区域的规则。–permanent选项将规则永久保存在防火墙中,直到删除为止。
-
添加端口规则:firewalld也允许您按照端口号配置规则。例如,要允许端口8080上的TCP流量,您可以使用以下命令:sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
-
查看端口规则:sudo firewall-cmd --zone=public --list-ports
。此命令将列出公共区域中的所有端口规则。
-
删除规则:sudo firewall-cmd --zone=public --remove-service=http --permanent
。此命令将从公共区域中删除允许HTTP流量通过的规则。
-
列出规则:sudo firewall-cmd --zone=public --list-all
。此命令将列出公共区域中的所有规则。
-
重新加载防火墙
1
|
sudo firewall-cmd --reload # 永久保存的规则需要重新加载防火墙后才会生效
|