在Debian系统中,iptables是一个用于配置Linux内核防火墙(netfilter)规则的命令行工具。以下是一些基本的iptables命令:
查看所有链的规则
sudo iptables -L -n -v
查看特定链的规则
sudo iptables -L INPUT -n -v
查看特定表的规则
sudo iptables -t nat -L -n -v
查看规则计数器
sudo iptables -L -n -v --line-numbers
允许特定IP访问
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
拒绝特定IP访问
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
允许特定端口访问
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
允许特定协议访问
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT
允许回环接口访问
sudo iptables -A INPUT -i lo -j ACCEPT
删除特定规则
sudo iptables -D INPUT 1
删除特定链的所有规则
sudo iptables -F INPUT
sudo iptables -R INPUT 1 -s 192.168.1.100 -j DROP
清空所有链的规则
sudo iptables -F
清空特定表的规则
sudo iptables -t nat -F
保存规则到文件
sudo iptables-save > /etc/iptables/rules.v4
从文件恢复规则
sudo iptables-restore < /etc/iptables/rules.v4
设置默认策略
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
允许已建立的连接
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
限制连接速率
sudo iptables -A INPUT -p tcp --dport 80 -m limit --limit 5/min -j ACCEPT
请注意,修改iptables规则可能会影响系统的安全性,因此在执行这些命令之前,请确保你了解它们的作用,并在必要时备份当前的规则。