开启iptables
ehco '1' > /proc/sys/net/ipv4/ip_forward
sysctl -p
命令行里两步
首先开启地址转换
iptables -t nat -A POSTROUTING -s $innet -o $EXTIF -j MASQUERADE
其中 $innet 代表内网网段, $EXTIF 代表外部连接 如果是ADSL ,通常为 ppp0
然后
设置FORWARD 默认DROP
iptables -P FORWARD DROP
接着
iptables -A FORWARD -i ppp0 -s 0.0.0.0/0 -d 172.16.0.0/16 -j ACCEPT
表示ppp0 可以转发到 172.16.0.0/16的网络上
iptables -A FORWARD -i eth2 -m mac --mac-source 00:0c:29:15:52:92 -j ACCEPT
表示在eth2 接口上放行指定的MAC地址。
到这步应该基本MAC地址控制上网权限已经搞定了。
需要说明的是,在INPUT链上也可以做mac地址过滤,但是只是可以让客户端ping 不通主机,也许还能让客户端访问不了某些服务。但即使drop了,地址转换还是能工作。
为了简化管理
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
收工
保存 iptables-save > fw
恢复 iptables-restore < fw
设置开机启动
chkconfig --level 345 iptables on
设置 开机自动读取配置信息
vim /etc/rc.local
iptables-restore < 绝对路径/配置文件。
转载于:https://blog.51cto.com/zhpe2010/1072983