iptables 用法总结

一、iptables IP和mac绑定

方法一:iptables

iptables -A FORWARD -s 10.10.0.2 -m mac --mac-source 00:10:4b:15:16:6c -j ACCEPT

  就将 10.10.0.2 与其MAC地址绑定了

方法二:arp

 1 .建立 /etc/ether 文本文件(文件名可以任取),其中包含正确的IP/MAC对应关系,例如格式如下:

    192.168.0.2 08:00:4E:B0:24:47

 
 2 .然后在 /etc/rc.d/rc.local 文件最末添加:

    arp -f /etc/ether

二、禁止客户机访问某些网站
方法一:

iptables -I FORWARD -d www.xxx.com -j DROP
也可以直接限制访问的IP地址,如:
iptables -I FORWARD -d 218.218.128.128 -j DROP


方法二:

iptables -I FORWARD -m string --string www.xxx.com --algo kmp -j REJECT

三、禁止某些客户机上网(这里要用"I",-s,-d都行)
iptables -I FORWARD -d 192.168.1.200 -j DROP

iptables -I FORWARD -s 192.168.1.200 -j DROP


四、禁止客户机访问特定的服务
iptables -I FORWARD -s 192.168.1.0/24 -p tcp --dport 21 -j DROP
(禁止192.168.1.0网络访问FTP服务)

要是多个端口用逗号隔开:

iptables -I FORWARD -s 192.168.1.0/24 -p tcp --dport 21,22,23 -j DROP


五、禁止客户机ping linux服务器,但linux 服务器可以ping客户机
iptables -t filter -A INPUT -picmp --icmp-type echo-request -j DROP
(只允许状态为ESTABLISH和RELATED的数据包通过,而状态为NEW的请求包不允许)


 六、发布内网的服务器 (目的nat,开放内网服务器)
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.200:80
(INTERNET的用户访问LINUX主机的80端口时,转到192.168.1.200的80端口,即访问内网的WEB服务)


七、 内网ip共享公网ip上网(源nat,实现共享上网)

iptables -t nat -I POSTROUTING -s 192.168.0.0/24  -j MASQUERADE

将内网192.168.0网段的数据包进行源地址转换,共享公网ip地址上网。


八、智能DNS服务
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 53 -j DNAT --to-destination 61.128.128.68:53
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 53 -j DNAT --to-destination 61.128.128.68:53
(内网用户的DNS请求均送到一个合法的DNS服务器61.128.128.68,此时不论客户机设置的DNS是否正确,均能由61.128.128.68进行解析)


  九、DMZ功能(防火墙自我保护功能)
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 210.21.118.68:80


十、给特定数据包打mark,区分不同的数据流

iptables -t mangle -A PREROUTING -j internet
iptables  -t mangle -A internet  -d 192.168.0.1 -j MARK --set-mark 99
iptables -t nat -I PREROUTING   -m mark --mark 99  -p tcp --dport 80  -j ACCEPT/DROP
(标记特定数据流,方便对数据流进行精细化控制)


十一、统计内网客户端流量

iptables -I FORWARD -d 192.168.1.200 -j ACCEPT

iptables -I FORWARD -s 192.168.1.200 -j ACCEPT

192.168.1.200这个客户端数据包上传下载都会被iptables统计下来。定时刷新就可以统计出这个客户端流量。

只要用单位时间内流量除以时间即可得出这个客户端的上网速度。想要限速也就轻而易举


十二、限制网速

iptables -A  FORWARD -d 192.168.0.0/24 -m limit --limit 50/s -j ACCEPT

iptables -A  FORWARD -d 192.168.0.0/24 -j DROP

将192.168.0.0网段下载速度限制到50KB/s,限制上传改下源地址即可(-s 源地址)


猜你喜欢

转载自blog.csdn.net/h721510279812/article/details/39027827