根据iptables的过滤规则,网关机器转发包的三个链(chain)是
PREROUTING -> FORWARD -> POSTROUTING
iptables的mac模块可以工作在 PREROUTING/FORWARD/INPUT 三个链,因此可考虑下面的配置规则
假设内部员工的网段是 10.0.0.0/255.255.255.0
临时上网人员的网段是 10.0.1.0/255.255.255.0
# 缺省不转发所有包
iptables -P FORWARD DROP
# 转发临时上网人员产生的包
iptables -A FORWARD -d 10.0.1.0/24 -j ACCEPT
iptables -A FORWARD -s 10.0.1.0/24 -j ACCEPT
# 员工只允许ip/mac匹配的数据包通过
iptables -A FORWARD -d 10.0.0.0/24 -j ACCEPT
iptables -A FORWARD -s 10.0.0.1 -m mac --mac-source 08:00:27:E8:02:52 -j ACCEPT
iptables -A FORWARD -s 10.0.0.2 -m mac --mac-source ... -j ACCEPT
iptables -A FORWARD -s 10.0.0.3 -m mac --mac-source ... -j ACCEPT
...
配置的时候注意考虑数据包的入方向和出方向。
没有评论:
发表评论