我在 DD-WRT 家用路由器上设置了一个 OpenVPN 客户端,它可以维护我工作场所的 VPN。
小问题:我不希望访问我的无线 AP 的随机用户能够访问我公司的 VPN。(是的,它的安全性还算可以,但我有理由采取进一步的措施。)
是否可以iptables
说服拒绝路由到所有源 MAC 地址(除了我指定的几个源 MAC 地址)?我尝试使用--mac-source
以下参数:
iptables -I FORWARD -i br0 -o tap0 -j REJECT
iptables -I FORWARD -i br0 -o tap0 -j ACCEPT --mac-source 00:01:02:03:04:05
规则REJECT
有效,但ACCEPT
规则无效。(请注意,该-I
参数用于确保规则ACCEPT
位于REJECT
规则之前。)
有其他人有设置此类白名单的经验吗?
答案1
据我了解,您的问题是 MAC 地址仅是 PREROUTING 和 POSTROUTING 表的有效选项。我按照以下笨拙的方式完成了此操作...
在来自 LAN 的传入接口的预路由表中,选择您想要通过的机器的 MAC 地址,然后使用 DNAT 将 IP 地址更改为您选择的原本不会被使用的 IP 地址。
-A PREROUTING -i eth1 -m mac --mac-source xx:xx:xx:xx:xx:xx -j DNAT -- 到 192.168.2.200 -m comment --comment "允许的机器"
在 FORWARD 表中,设置一条规则来接受该 IP,并对 FORWARD 制定策略,否则丢弃所有流量。
-A 转发 -s 192.168.2.200 -j 接受