如何在两个网络之间设置 VPN 桥接

如何在两个网络之间设置 VPN 桥接

我有一台小型 Ubuntu 机器,我想用它来通过 VPN 将两个网络桥接在一起。
一个网络在 192.168.2.0/24 范围内。
另一个网络在 192.168.93/24 范围内。

所述 ubuntu 盒子物理上(通过 eth0)连接到后一个网络,并且 IP 为 192.168.93.11。另一方面,该盒子将与第一个网络的路由器建立 OpenVPN 连接,其中它将获得 IP 地址 192.168.2.162。

所以我有一个带有 2 个 IP 的盒子:
- eth0:192.168.93.11
- tap0:192.168.2.162

在两个网络中我都有一个路由器,可以在其中配置静态路由,以便其他网络的任何流量都转发到 ubuntu 框的本地 IP。

我的问题是,如何让 ubuntu 框(大概使用 iptables)将其他网络的流量从 eth0 转发到 tap0 以及反之亦然?

答案1

在您的路由器上设置好所有静态路由并将您的盒子连接到 VPN(以便tap0可用)后,在您的盒子上尝试此操作:

root@yourbox:~# sysctl -w net.ipv4.ip_foward=1
root@yourbox:~# iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.93.0/24 -j ACCEPT
root@yourbox:~# iptables -A FORWARD -s 192.168.93.0/24 -d 192.168.2.0/24 -j ACCEPT

上述 3 条命令的作用是

1)在内核中启用 IP 转发,以便在两个网络之间路由数据包

2)接受来自网络192.168.2.0/24并发往192.168.93.0/24网络的任何流量

3)接受来自网络192.168.93.0/24并发往192.168.2.0/24网络的任何流量

希望这可以帮助。 :)

相关内容