Iptables 防火墙

本贴最后更新于 2013 天前,其中的信息可能已经物是人非

规则

规则指定了源地址、目的地址、传输协议和服务类型等。

四表

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

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...