iptables的50条常用命令:
- 查看当前防火墙规则:
iptables -L - 清空所有防火墙规则:
iptables -F - 允许所有本地回环接口的访问:
iptables -A INPUT -i lo -j ACCEPT - 允许已建立的连接进入:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT - 允许指定IP地址的访问:
iptables -A INPUT -s 192.168.0.10 -j ACCEPT - 允许指定IP地址范围的访问:
iptables -A INPUT -m iprange --src-range 192.168.0.1-192.168.0.100 -j ACCEPT - 允许指定端口的访问:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT - 允许指定协议的访问:
iptables -A INPUT -p icmp -j ACCEPT - 拒绝所有未匹配规则的访问:
iptables -A INPUT -j REJECT - 允许特定MAC地址的访问:
iptables -A INPUT -m mac --mac-source 00:11:22:33:44:55 -j ACCEPT - 允许某个网卡的访问:
iptables -A INPUT -i eth0 -j ACCEPT - 允许某个端口的出站连接:
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT - 允许某个IP地址的出站连接:
iptables -A OUTPUT -d 192.168.0.10 -j ACCEPT - 允许特定协议的出站连接:
iptables -A OUTPUT -p icmp -j ACCEPT - 允许所有本地回环接口的出站连接:
iptables -A OUTPUT -o lo -j ACCEPT - 拒绝所有出站连接:
iptables -A OUTPUT -j REJECT - 允许某个端口的转发:
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT - 允许某个IP地址的转发:
iptables -A FORWARD -d 192.168.0.10 -j ACCEPT - 允许特定协议的转发:
iptables -A FORWARD -p icmp -j ACCEPT - 拒绝所有转发连接:
iptables -A FORWARD -j REJECT - 开启SNAT:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE - 开启DNAT:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.10:80 - 删除指定规则:
iptables -D INPUT 5 - 允许某个端口的限速:
iptables -A INPUT -p tcp --dport 80 -m limit --limit 100/s -j ACCEPT - 将防火墙规则保存到文件:
iptables-save > /etc/iptables/rules.v4 - 从文件加载防火墙规则:
iptables-restore < /etc/iptables/rules.v4 - 开启SYN洪水攻击防御:
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT - 允许ICMP回应包通过:
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT - 允许Ping请求通过:
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT - 拒绝Ping请求:
iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT - 允许指定源端口的访问:
iptables -A INPUT -p tcp --sport 1024:65535 -j ACCEPT - 允许指定目标端口的访问:
iptables -A INPUT -p tcp --dport 1024:65535 -j ACCEPT - 拒绝所有ICMP协议的报文:
iptables -A INPUT -p icmp -j DROP - 允许特定用户的访问:
iptables -A OUTPUT -m owner --uid-owner username -j ACCEPT - 允许指定IP地址的多个端口访问:
iptables -A INPUT -s 192.168.0.10 -p tcp -m multiport --dports 80,443 -j ACCEPT - 拒绝特定IP地址的访问:
iptables -A INPUT -s 192.168.0.10 -j DROP - 允许指定IP地址的SSH登录:
iptables -A INPUT -s 192.168.0.10 -p tcp --dport 22 -j ACCEPT - 拒绝特定IP地址的SSH登录:
iptables -A INPUT -s 192.168.0.10 -p tcp --dport 22 -j REJECT - 允许指定端口的UDP访问:
iptables -A INPUT -p udp --dport 53 -j ACCEPT - 允许指定端口范围的UDP访问:
iptables -A INPUT -p udp --dport 60000:61000 -j ACCEPT - 允许指定协议类型和端口的访问:
iptables -A INPUT -p 50 -j ACCEPT - 允许指定协议类型和端口范围的访问:
iptables -A INPUT -p tcp --dport 10000:20000 -j ACCEPT - 阻止指定协议类型和端口的访问:
iptables -A INPUT -p tcp --dport 23 -j DROP - 允许输入端口多于等于80的TCP数据包通过:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT - 阻止目标地址为192.168.0.2的数据包通过:
iptables -A FORWARD -d 192.168.0.2 -j DROP - 开启对外ping功能:
iptables -I INPUT -p icmp --icmp-type echo-request -j ACCEPT - 阻止192.168.0.0/24网段的IP访问本机的80端口:
iptables -I INPUT -s 192.168.0.0/24 -p tcp --dport 80 -j DROP - 允许某个地址段对本机进行SSH登录:
iptables -I INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT - 清除某个链的所有规则:
iptables -F chain_name - 拒绝特定IP地址范围的访问:
iptables -A INPUT -m iprange --src-range 192.168.0.1-192.168.0.100 -j REJECT
请注意,对于实际使用中的防火墙配置需根据具体的网络环境和安全需求做出调整。