在 CentOS 系统中,使用 iptables 命令可以配置内核防火墙规则,以允许或拒绝特定端口的流量。以下是一些基本的示例,展示如何使用 iptables 匹配特定端口。
假设你想允许 TCP 端口 80(HTTP)的入站连接,可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
如果你想允许 UDP 端口 53(DNS)的入站连接,可以使用:
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT
假设你想拒绝 TCP 端口 22(SSH)的入站连接,可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
如果你想允许本机访问 TCP 端口 443(HTTPS)的出站连接,可以使用以下命令:
sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
你可以使用以下命令查看当前的 iptables 规则:
sudo iptables -L -n -v
在 CentOS 7 及更高版本中,iptables 规则在系统重启后不会自动保存。你可以使用 firewalld 服务来管理防火墙规则,它会自动保存规则。如果你坚持使用 iptables,可以手动保存规则:
sudo service iptables save
或者使用 iptables-save 命令:
sudo iptables-save > /etc/sysconfig/iptables
假设你想允许 IP 地址 192.168.1.100 访问本机的 TCP 端口 80,可以使用以下命令:
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 80 -j ACCEPT
假设你想拒绝所有其他 IP 地址访问本机的 TCP 端口 80,可以使用以下命令:
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
通过这些示例,你应该能够使用 iptables 在 CentOS 系统中匹配和管理特定端口的流量。