iptables 是 Linux 系统中用于配置内核防火墙(netfilter)规则的一个命令行工具。以下是一些使用 iptables 的技巧:
保存和恢复规则:
iptables-save 命令将当前的防火墙规则保存到文件中。iptables-restore 命令可以从文件中恢复之前保存的防火墙规则。查看规则:
iptables -L 查看所有链的规则。iptables -L -n 以数字形式显示地址和端口,不进行DNS解析。iptables -L -v 显示规则的详细信息,包括数据包和字节的计数。iptables -t nat -L 查看 NAT 表的规则。清空规则:
iptables -Fiptables -F INPUT(例如,清空 INPUT 链)允许或拒绝流量:
iptables -A INPUT -s 192.168.1.100 -j ACCEPTiptables -A INPUT -s 192.168.1.100 -j DROPiptables -A INPUT -p tcp --dport 80 -j ACCEPT使用链:
INPUT:处理进入本机的数据包。OUTPUT:处理从本机发出的数据包。FORWARD:处理经过本机转发的数据包。修改默认策略:
iptables -P INPUT DROPiptables -P INPUT ACCEPT日志记录:
iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " --log-level 4使用 -I 插入规则:
iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT使用 -D 删除规则:
iptables -D INPUT 1iptables -D INPUT -p tcp --dport 80 -j ACCEPT使用 -R 替换规则:
iptables -R INPUT 1 -p tcp --dport 22 -j DROP使用 -M 修改规则:
iptables -M INPUT 1 -p tcp --dport 22 -j REJECT使用 -N 创建新链:
iptables -N MY_CUSTOM_CHAIN使用 -A 将规则追加到链的末尾:
iptables -A MY_CUSTOM_CHAIN -j RETURN使用 -E 重命名链:
iptables -E OLD_CHAIN_NAME NEW_CHAIN_NAME使用 -P 设置默认策略:
iptables -P INPUT DROP在使用 iptables 时,建议先在测试环境中练习,因为错误的规则可能导致服务不可访问或安全问题。此外,某些发行版可能使用 nftables 作为下一代防火墙框架,它提供了更现代和灵活的规则管理方式。