如何使用 DD-WRT 和 OpenVPN 客户端添加基于 MAC 的路由白名单?

如何使用 DD-WRT 和 OpenVPN 客户端添加基于 MAC 的路由白名单?

我在 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 表的有效选项。我按照以下笨拙的方式完成了此操作...

  1. 在来自 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 "允许的机器"

  2. 在 FORWARD 表中,设置一条规则来接受该 IP,并对 FORWARD 制定策略,否则丢弃所有流量。

    -A 转发 -s 192.168.2.200 -j 接受

相关内容