在Ubuntu系统中,iptables是一个用于配置Linux内核防火墙(netfilter)规则的用户空间实用程序。它允许系统管理员定义表(tables)、链(chains)和规则(rules),以控制网络数据包的流向和处理。
以下是一些基本的iptables命令示例:
查看当前的iptables规则:
sudo iptables -L
sudo iptables -L -v
清空所有规则:
sudo iptables -F
允许特定IP地址访问:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
拒绝特定IP地址访问:
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
允许特定端口上的流量(例如,允许TCP端口80上的流量):
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
拒绝特定端口上的流量:
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
允许SSH连接(默认端口22):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
保存iptables规则:
sudo iptables-save > /etc/iptables/rules.v4
恢复iptables规则:
sudo iptables-restore < /etc/iptables/rules.v4
删除特定规则:
sudo iptables -D INPUT -s 192.168.1.100 -j DROP
请注意,iptables命令的语法可能会因不同的Linux发行版而有所不同。在使用iptables时,请确保您了解每个命令的作用,并在生产环境中谨慎操作,以免意外中断网络连接。
此外,Ubuntu 18.04及更高版本默认使用nftables作为新的防火墙管理工具,它提供了更现代和灵活的防火墙配置方式。如果您使用的是较新的Ubuntu版本,可能需要使用nftables命令来管理防火墙规则。