一、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进行解析)
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 源地址)