Tomato Dual VLAN(其中一个是VPN隧道)


5

我正在努力让我的家庭网络设置与番茄一起使用两个Wi-Fi SSID。我的路由器是一个双频NETGEAR NIGHTHAWK路由器,到目前为止,番茄非常适合它,VPN功能也是如此。唯一的缺点是,当VPN处于活动状态时(当您选择通过Tomato接口启动时),它会将VPN隧道应用于我已设置的两个SSID。有没有办法只将VPN应用于其中一个SSID?这样,通过更改我的无线网络,我可以分开在我的路由器上运行的VPN隧道。

这可能吗?


我自己就在那里,你需要在周围玩耍 iptables 命令行。例如,调用此命令将删除将来自辅助网络(192.168.2.xxx上的所有流量)的所有流量转发到隧道的规则 tun11 这是我的openvpn ...但我需要添加伪装的界面somewhre ... iptables -t nat -D POSTROUTING -s 192.168.2.0/24 -o tun11 -j MASQUERADE
draeron

Answers:


6

我最近在我的家庭网络上实现了类似的东西,在Tomato(shibby)v138上。这是一个图表: Tomato LAN diagram

在进入VPN设置之前,我最初在相同的SSID上同时拥有2.4GHz和5GHz网络,我们称之为“公共”。内部网络将设备分配给192.168.1.2-254范围内的地址。这是您在图的上半部分看到的内容。

这些是我为添加通过VPN路由的新子网所做的更改:

  1. 基本/网络/ LAN ,我添加了一个名为“br1”的新桥。我给它IP地址192.168.2.1,网络掩码255.255.255.0,启用DHCP,IP范围192.168。 2 .2-254。
  2. 高级/虚拟无线 ,我分别为2.4GHz和5GHz接口添加了两个新的虚拟无线接口wl0.1和wl1.1。两者都分配给新桥“LAN1(br1)”。我给了两个相同的新SSID,例如“私人的”。如果您愿意,也可以从公共网络中为他们提供不同的密码。
  3. VPN隧道/ OpenVPN客户端/基本 ,我配置了VPN客户端(我的VPN提供商是私人互联网接入,所以我跟着 本指南 )。我还启用了“从WAN开始”,因此它将自动启动。
  4. VPN隧道/ OpenVPN客户端/高级 ,我设置了“忽略重定向网关”选项,以便客户端不会将所有内容路由到VPN。
  5. VPN隧道/ OpenVPN客户端/路由策略 ,我检查了“通过VPN重定向”并添加了一个类型为“From Source IP”和值“192.168.2.0/24”的行,以便新子网上的所有主机都通过VPN路由。

此时,我可以启动VPN客户端,然后选择无线设备,连接到“私有”网络并确认我的面向互联网的IP是在VPN后面,并连接到“公共”并流式传输Netflix / Amazon Prime视频没有出现地理限制错误。

现在,您可以根据需要设置每个设备以连接到SSID。在我们家里,为电视机提供Netflix流媒体的媒体流媒体仍停留在公共网络上。我的手机和笔记本电脑连接到专用网络。在大多数情况下,您应该选择其中一种 - 您不希望设备自动连接到任意一个。

可选附加功能

接通电话 :如果您希望物理以太网端口通过VPN连接,则可以在其下添加新VLAN 高级/ VLAN 并将其分配给新桥(br1)。此时,您可以根据需要将路由器上的一个或多个物理以太网端口移动到安全VLAN。我没有,所以只有无线客户端才能加入我的私有子网。

内部路由 :执行上述步骤后,您可能会发现公共和专用网络上的客户端无法相互通信。如上所述设置VPN客户端的路由策略会添加以下规则:

iptables -t mangle -A PREROUTING -s 192.168.2.0/24 -j MARK --set-mark 311

到番茄的防火墙脚本。这标志着每个数据包都来自192.168.2.0/24网络,带有标记311的所有数据包都通过VPN路由。这意味着“公共”子网(192.168.1.0/24)上的任何设备都无法通过内部网络与“私有”子网上的设备通信,因为虽然请求将通过,但响应将转移到VPN丢失了。在我的情况下,我希望能够从专用网络上的服务器访问文件共享,因此我决定清除应该发送到公共网络的任何内容的标记。我通过添加以下行来做到这一点:

iptables -t mangle -A PREROUTING -s 192.168.2.0/24 -d 192.168.1.0/24 -j MARK --set-mark 0

管理/脚本/防火墙 。您可以为要从专用网络转发到路由器的任何端口添加类似的规则。

故障安全 :也称为“杀戮开关”,我添加了一些额外的规则 管理/脚本/防火墙 这是为了防止私有网络进入无保护的WAN(vlan2)。这意味着如果VPN由于某种原因而关闭,连接到专用网络的客户端不会意外地通过未受保护的WAN接口进行通信。

iptables -I FORWARD -s 192.168.2.0/24 -o vlan2 -m state --state NEW -j REJECT --reject-with icmp-host-prohibited 
iptables -I FORWARD -p tcp -s 192.168.2.0/24 -o vlan2 -m state --state NEW -j REJECT --reject-with tcp-reset

我在AdvancedTomato v35-140上。我按照您的说明逐字查看“可选附加内容”部分,但我在专用网络上的流量未通过vpn。在重新启动,摆弄设置,保存,重新启动等之后,我终于拥有了与以前相同的设置(如在你的帖子中),它现在正常工作。谢谢!
m59

1
那到底有效吗?对我而言,这个过程并不像写的那样线性,有很多试验和错误,并且一路上重新启动,但我尝试将其编辑为基本步骤。
Matt

1
是的。要么是番茄的一个小虫,一个侥幸,或者有一些非直观的必要性来改变东西或在某个时间或任何时候重新启动。但是我的所有设置看起来都像你的,之前没有用,现在确实如此!
m59

你能在vpn和非vpn wifi之间来回切换并相应地隐藏你的IP吗?我有一个互联网连接,但如果我已经连接到设备上的非vpn wifi,我的流量似乎没有通过VPN,除非我在将该设备切换到vpn wifi后重新启动路由器。
m59

是的,我使用“什么是我的IP”样式服务进行测试,当我连接到每个SSID时,我的外部IP也会相应地更改。如果出现问题(即您已连接到VPN wifi但流量未通过VPN),请检查设备的分配IP地址 - 是否在“私有”子网上?此外,如果您没有设置“故障安全”并且VPN发生故障,即使您连接到专用SSID,您的流量也不会受到保护。
Matt
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.