编辑
2025-10-14
Linux
00

目录

一、介绍
二、常用命令
三、规则匹配逻辑

一、介绍

iptables是Linux系统中基于Netfilter框架的用户空间防火墙工具,通过四表(filter、nat、mangle、raw)和五链(INPUT、FORWARD、OUTPUT等)架构实现数据包过滤、网络地址转换(NAT)及流量控制功能 1。其规则配置包括匹配条件(如协议、端口)和处理动作(ACCEPT/DROP/REJECT),支持SNAT/DNAT转换及连接状态跟踪.常用命令如iptables -L查看规则,service iptables save持久化配置。在RHEL/CentOS等系统中,可通过iptables-services包管理防火墙服务。

二、常用命令

js
清空所有规则链:iptables -F 重置计数器:iptables -Z 删除自定义链:iptables -X 查看规则(数字格式):iptables -L -n -v
js
允许所有IP访问特定端口: iptables -A INPUT -p tcp --dport 80 -j ACCEPT 允许特定IP访问22端口: iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT 允许特定IP段访问: iptables -A INPUT -s 192.168.5.0/24 -j ACCEPT 拒绝IP段: iptables -A INPUT -s 192.168.10.0/24 -j DROP 拒绝所有的IP访问该端口 iptables -A INPUT -p tcp --dport [端口号] -j DROP # 拒绝单个IP访问所有端口‌ iptables -A INPUT -s [IP地址] -j DROP # 拒绝IP访问特定端口‌ iptables -A INPUT -p tcp -s [IP地址] --dport [端口号] -j DROP
js
NAT与转发 端口转发:iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 源地址转换:iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 高级功能 连接数限制:iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j REJECT 时间规则:iptables -A INPUT -p tcp -m time --timestart 9:00 --timestop 18:00 -j ACCEPT

三、规则匹配逻辑

js
[规则1] 拒绝IP段 → [规则2] 允许特定IP → [规则3] 默认DROP

即使规则1是拒绝(DROP),规则2是允许(ACCEPT),只要规则2在规则1之后添加,规则2仍可能被匹配‌。 一旦匹配成功并执行动作(如ACCEPT/DROP),后续规则将不再处理‌。

使用-n --line-numbers查看规则编号,通过-I调整顺序:

js
iptables -L -n --line-numbers # 显示规则编号 iptables -I INPUT 2 -s 192.168.1.100 -j ACCEPT # 插入到第2

本文作者:松轩(^U^)

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

Document