iptables
是 Linux 系统中的一个命令行工具,用于配置内核防火墙(netfilter)规则。在 CentOS 中,你可以使用 iptables
来管理网络数据包的过滤、转发和地址转换等操作。
以下是一些基本的 iptables
命令和用法:
sudo iptables -L
这个命令会列出所有的 iptables
规则。
sudo iptables -F
这个命令会清空所有的 iptables
规则。
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
这个命令会允许来自 IP 地址 192.168.1.100
的所有流量通过。
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
这个命令会允许所有到 TCP 端口 80(通常是 HTTP)的流量通过。
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
这个命令会阻止来自 IP 地址 192.168.1.100
的所有流量。
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
这个命令会阻止所有到 TCP 端口 80 的流量。
在 CentOS 中,iptables
规则在重启后不会自动保存。你可以使用 service iptables save
命令来保存当前的规则:
sudo service iptables save
如果你不小心清空了所有规则,可以使用以下命令恢复默认规则:
sudo iptables-restore < /etc/sysconfig/iptables
sudo iptables -L INPUT
sudo iptables -D INPUT -s 192.168.1.100 -j ACCEPT
sudo iptables -F INPUT
请注意,使用 iptables
需要 root 权限,因此大多数命令都需要在命令前加上 sudo
。
在使用 iptables
时,请务必小心,因为错误的规则可能会导致网络连接中断或其他问题。在生产环境中,建议在修改规则之前备份当前的规则集。