linux 防火墙firewalld和iptables常用操作指令合集及其区别,根据防火墙类型分为firewalld指令和iptables指令,iptables 和 firewalld 都是 Linux 中一个常用的防火墙工具,用于配置和管理网络数据包的过滤规则。

linux防火墙firewalld常用操作指令:
启动防火墙:
sudo systemctl start firewalld停止防火墙:
sudo systemctl stop firewalld重启防火墙:
sudo systemctl restart firewalld查看防火墙状态:
sudo systemctl status firewalld开机自启动防火墙:
sudo systemctl enable firewalld禁止开机自启动防火墙:
sudo systemctl disable firewalld开放端口:
sudo firewall-cmd --zone=public --add-port=端口号/协议 --permanent移除开放的端口:
sudo firewall-cmd --zone=public --remove-port=端口号/协议 --permanent查看开放的端口:
sudo firewall-cmd --zone=public --list-ports开放服务:
sudo firewall-cmd --zone=public --add-service=服务名称 --permanent移除开放的服务:
sudo firewall-cmd --zone=public --remove-service=服务名称 --permanent查看开放的服务:
sudo firewall-cmd --zone=public --list-services允许特定 IP 访问某个端口:
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="IP地址" port protocol="tcp" port="端口号" accept' --permanent移除特定 IP 的访问规则:
sudo firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="IP地址" port protocol="tcp" port="端口号" accept' --permanent查看特定 IP 的访问规则:
sudo firewall-cmd --zone=public --list-rich-rules开启 ICMP Ping:
sudo firewall-cmd --zone=public --add-icmp-block=echo-request --permanent关闭 ICMP Ping:
sudo firewall-cmd --zone=public --remove-icmp-block=echo-request --permanent查看 ICMP Ping 状态:
sudo firewall-cmd --zone=public --list-icmp-blocks重新加载防火墙配置:
sudo firewall-cmd --reload查看防火墙日志:
sudo journalctl -u firewalld
根据自身系统区分!需要注意的是,执行该命令需要具有足够的管理员权限(通常使用 sudo)。这些指令可以帮助你对 Linux 防火墙进行常用的操作,如启动、停止、重启防火墙,开放和移除端口、服务,允许特定 IP 访问等。请注意,在执行这些指令时,确保你有足够的权限,并根据实际需求进行相应的调整。

linux防火墙iptables常用操作指令:
重启后永久性生效:
开启:chkconfig iptables on
关闭:chkconfig iptables off即时生效,重启后失效:
开启:service iptables start
关闭:service iptables stop查看当前防火墙规则:
sudo iptables -L清除所有防火墙规则:
sudo iptables -F清除指定链的规则:
sudo iptables -F 链名清除指定链的所有规则和用户自定义链:
sudo iptables -X 链名允许所有本地回环流量:
sudo iptables -A INPUT -i lo -j ACCEPT允许已建立的连接和相关的数据包通过:
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT允许指定 IP 地址或 IP 段通过:
sudo iptables -A INPUT -s IP地址/子网掩码 -j ACCEPT允许指定端口通过:
sudo iptables -A INPUT -p 协议 --dport 端口号 -j ACCEPT拒绝所有输入流量:
sudo iptables -P INPUT DROP允许所有输出流量:
sudo iptables -P OUTPUT ACCEPT允许所有转发流量:
sudo iptables -P FORWARD ACCEPT允许 ICMP Ping:
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT允许 SSH 连接:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT允许 HTTP 连接:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT允许 HTTPS 连接:
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT屏蔽指定 IP 地址或 IP 段:
sudo iptables -A INPUT -s IP地址/子网掩码 -j DROP屏蔽指定端口:
sudo iptables -A INPUT -p 协议 --dport 端口号 -j DROP允许指定 MAC 地址通过:
sudo iptables -A INPUT -m mac --mac-source MAC地址 -j ACCEPT限制连接速率:
sudo iptables -A INPUT -p tcp --dport 端口号 -m limit --limit 速率/时间单位 -j ACCEPT拒绝所有 ICMP 流量:
sudo iptables -A INPUT -p icmp -j DROP允许指定用户 ID 的流量通过:
sudo iptables -A OUTPUT -m owner --uid-owner 用户ID -j ACCEPT允许指定程序的流量通过:
sudo iptables -A OUTPUT -m owner --cmd-owner 程序名 -j ACCEPT允许指定时间段内的流量通过:
sudo iptables -A INPUT -p tcp --dport 端口号 -m time --timestart 开始时间 --timestop 结束时间 --days 日期 -j ACCEPT允许指定 MAC 地址的流量通过:
sudo iptables -A INPUT -m mac --mac-source MAC地址 -j ACCEPT将流量重定向到指定端口:
sudo iptables -t nat -A PREROUTING -p 协议 --dport 原始端口 -j REDIRECT --to-port 重定向端口允许指定 IP 地址范围的流量通过:
sudo iptables -A INPUT -m iprange --src-range 起始IP-结束IP -j ACCEPT允许指定协议类型的流量通过:
sudo iptables -A INPUT -p 协议 -j ACCEPT拒绝指定 IP 地址的流量通过:
sudo iptables -A INPUT -s IP地址 -j DROP允许指定端口范围的流量通过:
sudo iptables -A INPUT -p tcp --dport 起始端口:结束端口 -j ACCEPT保存防火墙规则:
sudo iptables-save > /etc/sysconfig/iptables
根据自身系统区分!需要注意的是,执行该命令需要具有足够的管理员权限(通常使用 sudo)。这些指令可以帮助你配置和管理 iptables 防火墙规则,包括允许或拒绝特定的 IP、端口、协议等。请根据实际需求和网络安全要求进行相应的配置。

在某些 Linux 发行版中,可能会使用不同的命令来停止 iptables 服务,比如 systemctl stop iptables 或 service firewalld stop,具体命令可能会因发行版和配置而有所不同。因此,在使用该命令之前,请确保你正在使用正确的命令来停止 iptables 服务。
重启 iptables 服务:
CentOS/RHEL:sudo systemctl restart iptables
Ubuntu/Debian:sudo service iptables restart
保存防火墙规则并使其永久性生效:
CentOS/RHEL:sudo service iptables save
Ubuntu/Debian:sudo iptables-save > /etc/iptables/rules.v4
这些指令可以帮助你在重启防火墙服务后使规则生效,并将规则保存以便在下次启动时自动加载。请注意,具体的指令可能会因 Linux 发行版和配置而有所不同。请根据你所使用的 Linux 发行版选择适当的指令。
- 重启 iptables 服务:
- 保存防火墙规则并使其永久性生效:


































发表评论