Appearance
Linux 防火墙
1. iptables
1.1. 查看当前规则
Bash
$ sudo iptables -LNote:加上
-v参数sudo iptables -L -v,会显示更多信息,比如每条规则的数据包计数和字节计数。
如果使用 IPv6,也可以使用 iptables 的相似命令 ip6tables 来查看 IPv6 的规则:
Bash
$ sudo ip6tables -L1.2. 开放端口
允许 TCP 协议访问端口 443:
Bash
$ sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT允许 UDP 协议访问端口 28888:
Bash
$ sudo iptables -A INPUT -p udp --dport 28888 -j ACCEPTTip:需要保存
iptables的配置,这样规则才会在系统重启后保留。
1.3. 保存配置
Debian 系列 Linux:
Bash
$ sudo iptables-save > /etc/iptables/rules.v4RHEL 系列 Linux:
Bash
$ sudo service iptables saveNote
如果出现类似下方的提示:
TextThe service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.则可以尝试使用以下命令:
Bash$ sudo iptables-save > /etc/sysconfig/iptables
2. RHEL - firewalld
2.1. 查看防火墙状态
查看已经开放的端口:
Bash
$ sudo firewall-cmd --list-portsNote:想要查看已经开放的服务的话可以使用
firewall-cmd --list-service命令,同理firewall-cmd --list-all查看全部,更多命令的话可以通过firewall-cmd --help来查看。
2.2. 添加开放指定端口
Bash
$ sudo firewall-cmd --add-port=6379/tcp --zone=public --permanent2.3. 关闭指定端口
Bash
$ sudo firewall-cmd --remove-port=6379/tcp --zone=public --permanent2.4. 重新加载防火墙
Bash
$ sudo firewall-cmd --reload3. Debian - ufw
3.1. 查看防火墙状态
查看防火墙当前的状态:
Bash
$ ufw status查看已添加的规则:
Bash
$ ufw show added3.2. 添加开放指定端口
开放 6379 tcp 端口:
Bash
$ ufw allow 6379/tcp同时开放 6379 tcp/udp 端口:
Bash
$ ufw allow 63793.3. 重新加载防火墙
Bash
$ ufw reload