规则
规则指定了源地址、目的地址、传输协议和服务类型等。
四表
filter
nat
mangle
raw
五链(规则链)
在进行路由选择前处理数据包(PREROUTING);
处理流入的数据包(INPUT);
处理流出的数据包(OUTPUT);
处理转发的数据包(FORWARD);
在进行路由选择后处理数据包(POSTROUTING)
堵通策略
ACCEPT 、DROP、REJECT
当一个数据包到达一个链时,iptables 就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。
常用参数
-P 设置规则链的默认策略(拒绝只能用 drop)
-F 清空
-L 查看链中的规则
-A 在规则链末尾加入规则
-I num 在指定的位置插入规则,默认为 1
-D num 删除一条规则
-s 来源地址
-d 目标地址
-i/o 网卡名 匹配网卡流入/流出的数据
-p 匹配协议
--sport num 匹配来源端口号
--dport num 匹配目标端口号
-j 策略
白名单规则
允许指定网段的主机访问本机的22端口
iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
拒绝192.168.10.5主机访问本机80端口
iptables -I INPUT -p tcp -s 192.168.10.5 --dport 80 -j REJECT
拒绝所有主机访问本机1000~1024端口
iptables -A INPUT -p tcp --dport 1000:1024 -j REJECT
允许最多每秒100个连接80口,达到100个连接后,才启用限制
iptables -A INPUT -p tcp --dport 80 -m limit --limit 100/s --limit-burst 100 -j ACCEPT
NAT 转发
防止外网用内网IP欺骗
iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP
iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP
iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP
访问10.0.0.11:2000的访问转发到192.168.1.11:22上
iptables -t nat -A PREROUTING -d 10.0.0.11 -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.11:22
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于