ufw与firewall-cmd

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连接

1
sudo ufw allow ssh

允许HTTP和HTTPS流量

1
2
sudo ufw allow http
sudo ufw allow https

拒绝所有流量

1
sudo ufw default deny

允许特定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使用区域来管理网络连接。默认情况下,它有以下四个区域:

  • public
  • internal
  • dmz
  • work

查看可用区域

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 # 永久保存的规则需要重新加载防火墙后才会生效
0%