Linux 防火墙实用指令iptables,firewalld和ufw
Iptables (适用于CentOS)

CentOS
指令 | 说明 |
iptables -F | 清空规则缓冲区 |
iptables --list -n 或 iptables -Ln | 查看iptables规则 |
service iptables restart | 重启Iptables服务 |
service iptables save | 保存iptables规则 |
/etc/sysconfig/iptables | iptables防火墙的配置文件位置 |
iptables -nvL --line-number | 以编号形式查看iptables规则 |
iptables -D INPUT 1 | 删除某编号的规则 |
iptables -A INPUT -p tcp --dport 22 -j ACCEPT | 允许SSH连接 |
iptables -A INPUT -s 192.168.1.200 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT | 允许IP192.168.1.200访问本机HTTP服务 |
iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP | 禁止访问本机eth1网卡的80端口 |
Firewalld(适用于CentOS)
指令 | 说明 |
firewall-cmd --add-port=443/tcp --permanent | 开放TCP端口443 |
firewall-cmd --remove-port=443/tcp --permanent | 关闭TCP端口443 |
firewall-cmd --list-all | 列出已开放的端口 |
firewall-cmd --add-port=10000-19999/tcp --permanent | 开放多个端口 |
firewall-cmd --reload | 重新加载配置 |
systemctl status firewalld | 查看防火墙状态 |
systemctl start firewalld | 开启防火墙 |
systemctl stop firewalld | 关闭防火墙 |
systemctl enable firewalld | 开机自启动 |
systemctl disable firewalld | 禁用firewalld |
指令 | 说明 |
firewall-cmd --get-active-zones | 列出当前活动的区域 |
firewall-cmd --get-zones | 查看可用的预定义区域 |
firewall-cmd --zone=public --list-all | 查看指定区域public的配置 |
firewall-cmd --zone=public --add-service=http --timeout=5m | 临时开放http服务,持续5分钟 |
firewall-cmd --permanent --zone=internal --add-rich-rule='rule protocol value="icmp" accept' | 允许内部网络ping |
firewall-cmd --version | 查看firewalld版本号 |
firewall-cmd --zone=public --query-port=80/tcp | 查看端口状态 |
firewall-cmd --get-zone-of-interface=eth0 | 查看指定接口所属区域 |
firewall-cmd --help | 查看帮助 |
firewall-cmd --state | 查看状态 |
UFW (适用于Ubuntu)

Ubuntu
指令 | 说明 |
ufw status | 查看ufw状况/开放服务 |
ufw allow ssh | 开放ssh服务 |
ufw allow 222/tcp | 开放TCP端口222 |
ufw enable | 开启UFW |
ufw disable | 禁用UFW |
ufw allow 80/tcp comment 'accept Apache' | 开放端口80加上描述 |
ufw allow 3000:3010/tcp | 开放TCP端口3000到30010 |
ufw allow from 192.168.1.200 | 允许来自192.168.1.200所有连接 |
ufw status numbered | 查看ufw规则(带编号) |
ufw delete 3 | 删除编号为3的规则 |
ufw delete allow smtp | 删除已开放的smtp服务 |
指令 | 说明 |
ufw deny 25/tcp | 拒绝对本机25端口的连接 |
ufw deny from 192.168.1.200 | 拒绝来自192.168.1.200的所有连接 |
ufw reset | 重置UFW配置 |
ufw reload | 加载UFW配置 |
tail -f /var/log/ufw.log | 监控UFW日志 |
ufw show listening 或 | |
ufw show added | 显示UFW规则列表 |
ufw status verbose | 查看入方向、出方向和路由方向的默认策略是否为deny或allow: |
ufw allow 53 | 允许外部访问53端口(tcp/udp) |
ufw delete allow 53 | 禁用 53 端口 |
ufw allow from 192.168.2.25 | 允许IP192.168.2.25所有连接 |
ufw delete allow from 192.168.2.25 | 删除上面的规则 |