Linux 下的 NIC 的“符号链接”?

Linux 下的 NIC 的“符号链接”?

目前,我已在我的 Linux 服务器上启用了桥接功能,以便能够在桥接模式下使用 OpenVPN。效果很好。eth0 连接到 LAN;tun0 是 OpenVPN 网关;它们桥接到新接口 br0。

同一台服务器还充当防火墙/路由器(eth1 是互联网网关),并托管 httpd 和几个其他守护进程。因此,我不得不重新配置其中一些以监听 br0 而不是 eth0。

问题是,我想在不使用 OpenVPN 时动态拆除桥接器并保留其原来的样子,其中 eth0 是 LAN 的网关。

基本上我想要做的是创建一个指向当前活动设备的“符号链接”。类似于“lan0”的东西可以“指向”br0或eth0。

我听说过 IP 别名,但它是一种在 NIC 上启用多个 IP 的方法,而这并不是我想要的。有人能给我指明正确的方向吗?

或者,如果存在性能损失的话,即使不使用桥接器时也保持启用状态,那么这种损失是否足够小以至于我不需要担心?

答案1

如果您担心性能问题,则不会通过 VPN 进行桥接:两端发生的每个广播数据包都需要通过链路推送。如果不小心,可能会引发广播风暴。

最好的办法:让桥保持原状每时每刻

如果你担心性能,你应该将这台机器设置为路由器并明确路线通过 VPN 进行通信,而不是通过它进行桥接。

如果您认为您无法做到这一点;如果您的“路由器”非常笨,并且不允许静态路由,那么您可以简单地在网络“这一侧”扩大子网。

例如,如果您的网络如下所示:

      networkA | vpnA <-----------> router | networkB <----------> vpnB
192.168.1.0/24                                 192.168.66.0/24      192.168.66.5

然后将网络B“升级”为a/23并使其看起来像这样:

(internet) -----> router | networkB <----------------> vpnB | tap0 <-----> vpnA
                          192.168.66.0/23      192.168.66.5   192.168.67.1

vpnB 将在网络 B 端“宣布” 192.168.67.1。这不是最佳选择,因为来自网络 B 的以太网广播仍然可以到达网络 A,至少反之则不然。

答案2

如果我没记错的话,如果只有一个接口连接到桥接器,桥接器难道不能正常工作吗?我认为它应该像您描述的“符号链接”一样,指向 eth0(当 eth0 是桥接器上的唯一接口时)。

这样,您就可以始终将您的服务绑定到 br0,并根据需要从桥中添加/删除接口。

相关内容