1、mac过滤
功能:过滤包含mac地址的设备
白名单
iptables -A FORWARD -m mac --mac-source 00:17:31:BB:C5:DE -j ACCEPT
黑名单
iptables -A FORWARD -m mac --mac-source 00:17:31:BB:C5:DE -j REJECT
测试
iptables -vnL
2、ip过滤
功能:过滤包含ip地址的设备
白名单
iptables -A FORWARD -s 192.168.10.0/24 -d 192.168.20.2 -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -s 192.168.20.2 -d 192.168.10.0/24 -p udp --sport 53 -j ACCEPT
黑名单
iptables -A FORWARD -s 192.168.10.1/24 -d 192.168.20.2 -p udp --dport 53 -j REJECT
iptables -A FORWARD -s 192.168.20.2 -d 192.168.10.0/24 -p udp --sport 53 -j REJECT
测试
iptables -vnL
3、域名过滤
功能:过滤包含url网址的设备
白名单
iptables -A OUTPUT -p tcp -m string --string “www.baidu.com” --algo kmp --dport 80 -j ACCEPT
黑名单
iptables -A OUTPUT -p tcp -m string --string “www.baidu.com” --algo kmp --dport 80 -j DROP
测试
iptables -vnL
浏览器打开url
4、虚拟服务器 端口映射 pat
功能:将内网某台设备的ip的端口映射到公网ip的端口
将 10.129.4.96:5901 端口映射到 10.129.4.90:5911
iptables -t nat -A PREROUTING --dst 10.129.4.90 -p tcp --dport 5911 -j DNAT --to-destination 10.129.4.96:5901
iptables -t nat -A POSTROUTING --dst 10.129.4.96 -p tcp --dport 5901 -j SNAT --to-source 10.129.4.90
5、ip与mac绑定
功能:mac地址与ip绑定,每次设备上线都是固定的ip
iptables -P FORWARD DROP#没有指定的转发链是禁止转发任何数据的
iptables -A FORWARD -s 192.168.6.200 -m mac --mac-source 00:11:5B:EF:7A:D8 -j ACCEPT #满足IP地址是192.168.6.200同时MAC地址为00:11:5B:EF:7A:D8才允许转发
iptables -A FORWARD -s 192.168.6.201 -m mac --mac-source 50:78:4C:4A:46:C0 -j ACCEPT
iptables -A FORWARD -s 192.168.6.202 -m mac --mac-source 00:10:5C:E4:A8:50 -j ACCEPT
6、DMZ
功能:将内网某台设备的ip映射到公网ip
7、NAT
8、sip alg
加载驱动
Linux下ALG功能是通过内核中Netfilter框架下的连接跟踪模块实现,每个协议有不同的连接跟踪模块。例如&(KERNEL_DIR)/net/netfilter/nf_conntrack_*.ko。ALG的实现主要是通过每个模块中的help函数实现。
9、特殊应用程序
10、家长控制
功能:规则指定设备在哪些时间能上网
iptables time拓展模块
11、upnp
添加自己设备到网络、发现网络中的设备;获取网络设备的描述信息,以及发送自己设备信息到网络;发送一个动作到一个设备服务;事件触发更新动作;展示信息到url
12、alg
转换应用层的交互信息,类似nat,只是操作层数不一样
iptables -nvL --line-number 查看
-L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数
-n 不对ip地址进行反查,加上这个参数显示速度会快很多
-v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的网络接口
–-line-number 显示规则的序列号,这个参数在删除或修改规则时会用到
service iptables start|stop|restart|status
service iptables save //定义的所有内容,在重启时都会失效。调用save命令可以把规则保存到文件/etc/sysconfig/iptables中。
iptables-save //保存规则
iptables-restore //加载规则。开机的时候,会自动加载/etc/sysconfig/iptables
iptables-restore < /etc/sysconfig/iptables2 //加载自定义的规则文件
//iptables服务配置文件: /etc/sysconfig/iptables-config
//iptables规则文件: /etc/sysconfig/iptables
echo "1">/proc/sys/net/ipv4/ip_forward //打开iptables转发:
清空iptables默认规则
iptalbes -F
iptalbes -X
iptalbes -Z