答案1
这实际上取决于您的路由器、它们运行什么以及您对它们的控制程度。您没有指定它们是什么类型的路由器以及它们上的操作系统。VPN 可能是一种方式...
我设置了类似的东西,使用 L2TPv3 在两个站点之间通过 L3 连接 L2,覆盖现有网络,这本质上是第 2 层扩展第 3 层网络。这不是通过公共互联网完成的,但想法是相似的,因为底层网络来自同一组织的不同部门。
为此我使用了维欧在两边的盒子上安装并设置 L2TPv3 隧道。如果添加 IPsec,也可以加密,这实际上就像 VPN 一样。这样我就可以在两边之间承载多个 VLAN,因此对两边的客户端来说都是透明的。
如果您的路由器支持 L2TPv3,您可以查看其文档以了解如何操作。如果您能负担得起运行维欧或者直接在路由器上刷新DD-WRT或类似方法更改其固件,以便您更好地控制路由器。如果您使用的是带有默认固件的现成家用路由器,那么除非您愿意将其固件替换为开放固件,否则您可能运气不佳。
这是在 VyOS 上启用简单 L2TPv3 隧道的示例配置:
在两个路由器上设置网桥和 VLAN 子接口:
configure
set interfaces bridge br2 aging '300'
set interfaces bridge br2 hello-time '2'
set interfaces bridge br2 max-age '20'
set interfaces bridge br2 priority '1'
set interfaces bridge br2 stp 'false'
set interfaces ethernet eth1 vif 111 bridge-group bridge 'br2'
set interfaces ethernet eth1 vif 111 description 'VLAN 111'
sh
commit
save
然后在路由器 A 上:
将之前设置的桥接接口链接到隧道的一端:
set interfaces l2tpv3 l2tpeth2 bridge-group bridge 'br2'
set interfaces l2tpv3 l2tpeth2 destination-port '10111'
set interfaces l2tpv3 l2tpeth2 encapsulation 'ip'
set interfaces l2tpv3 l2tpeth2 local-ip 'public.ip.of.routerA'
set interfaces l2tpv3 l2tpeth2 mtu '1500'
set interfaces l2tpv3 l2tpeth2 peer-session-id '111'
set interfaces l2tpv3 l2tpeth2 peer-tunnel-id '111'
set interfaces l2tpv3 l2tpeth2 remote-ip 'public.ip.of.routerB'
set interfaces l2tpv3 l2tpeth2 session-id '111'
set interfaces l2tpv3 l2tpeth2 source-port '10111'
set interfaces l2tpv3 l2tpeth2 tunnel-id '111'
sh
commit
save
路由器 B 的配置,本质上与上面的配置相反:
set interfaces l2tpv3 l2tpeth2 bridge-group bridge 'br2'
set interfaces l2tpv3 l2tpeth2 destination-port '10111'
set interfaces l2tpv3 l2tpeth2 encapsulation 'ip'
set interfaces l2tpv3 l2tpeth2 local-ip 'public.ip.of.routerB'
set interfaces l2tpv3 l2tpeth2 mtu '1500'
set interfaces l2tpv3 l2tpeth2 peer-session-id '111'
set interfaces l2tpv3 l2tpeth2 peer-tunnel-id '111'
set interfaces l2tpv3 l2tpeth2 remote-ip 'public.ip.of.routerA'
set interfaces l2tpv3 l2tpeth2 session-id '111'
set interfaces l2tpv3 l2tpeth2 source-port '10111'
set interfaces l2tpv3 l2tpeth2 tunnel-id '111'
sh
commit
save
然后,如果您设置了 ping 之类的会话,则监视两者之间的流量:
show interfaces
show interfaces detail
monitor traffic interface eth1.111
要设置 IPSec 隧道,需要进行额外的配置,如下图所示他们的文件。
上述示例中的两个路由器上都应允许使用示例端口 10111。您可能需要在路由器的公有 IP 和私有 IP 之间进行 (D)NAT。