感谢支持
我们一直在努力

Linux Iptables使用整理


     filter: 顾名思义,用于过滤的时候
     nat: 顾名思义,用于做NAT 的时候
     NAT:Network Address Translator

     INPUT: 位于filter 表,匹配目的IP 是本机的数据包
     FORWARD: 位于filter 表,匹配穿过本机的数据包,
     PREROUTING: 位于nat 表,用于修改目的地址(DNAT)
     POSTROUTING:位于nat 表,用于修改源地址(SNAT)


-A <链名>
APPEND,追加一条规则(放到最后)
例如:
iptables -t filter -A INPUT -j DROP


iptables -D INPUT 3(按号码匹配)     //删除
iptables -D INPUT -s 192.168.0.1 -j DROP(按内容匹配)


iptables -R INPUT 3 -j ACCEPT  //替换


匹配条件
£流入、流出接口(-i、-o)
£来源、目的地址(-s、-d)
£协议类型(-p)
£来源、目的端口(–sport、–dport)


-p tcp
-p udp
-p icmp –icmp-type 类型
ping: type 8 pong: type 0



匹配应用举例
1、端口匹配
-p udp –dport 53
匹配网络中目的端口是53 的UDP 协议数据包
2、地址匹配
-s 10.1.0.0/24 -d 172.17.0.0/16
匹配来自10.1.0.0/24 去往172.17.0.0/16 的所有数据包
3、端口和地址联合匹配
-s 192.168.0.1 -d www.linuxidc.com -p tcp –dport 80
匹配来自192.168.0.1,去往www.linuxidc.com 的80 端口的TCP 协议数据包
注意:
1、–sport、–dport 必须联合-p 使用,必须指明协议类型是什么
2、条件写的越多,匹配越细致,匹配范围越小


NAT
iptables -t nat -A PREROUTING -i ppp0 -p tcp –dport 80 -j DNAT –to 192.168.0.1
iptables -t nat -A PREROUTING -i ppp0 -p tcp –dport 81 -j DNAT –to 192.168.0.2:80
iptables -t nat -A PREROUTING -i ppp0 -p tcp –dport 80 -j DNAT –to 192.168.0.1-192.168.0.10



SNAT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT –to 1.1.1.1
将内网192.168.0.0/24 的原地址修改为1.1.1.1,用于NAT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT –to 1.1.1.1-1.1.1.10
同上,只不过修改成一个地址池里的IP



MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
将源地址是192.168.0.0/24 的数据包进行地址伪装



state
-m state –state 状态
状态:NEW、RELATED、ESTABLISHED、INVALID
     NEW:有别于tcp 的syn,包将要或已经开始建立一个新的连接,或者是这个包和一个还没有在两端都有数据发送的连接有关.注意NEW状态并不在试图建立新连接的TCP包里寻找SYN标记
     ESTABLISHED:包是完全有效的,而且属于一个已建立的连接,这个连接的两端都已经有数据发送。
     RELATED:衍生态,与conntrack 关联(FTP),说明包正在建立一个新的连接,这个连接是和一个已建立的连接相关的.比如:FTP data transfer
     INVALID:意味着这个包没有已知的流或连接与之关联,也可能是它包含的数据或包头有问题,
例如:
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT



mac:iptables -A FORWARD -m mac –mac-source xx:xx:xx:xx:xx:xx -j DROP
limit:iptables -A FORWARD -d 192.168.0.1 -m limit –limit 50/s -j ACCEPT



multiport
iptables -A INPUT -p tcp -m multiport –dports 21,22,25,80,110 -j ACCEPT
注意:必须与-p 参数一起使用



修改/etc/sysconfig/iptablses,不影响在线业务
#iptables-restore < /etc/sysconfig/iptables
#service iptables save

赞(0) 打赏
转载请注明出处:服务器评测 » Linux Iptables使用整理
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏