ksh*_*ade 3 linux routing openbsd gateway
我们需要设置一个 OpenBSD 主机来使用它子网之外的默认网关。这就是我在 Linux(不是实际的 IP)上需要做的一切来实现它:
ifconfig eth0 33.33.33.33/31 up
route add 33.33.33.254 dev eth0
route add default gw 33.33.33.254
Run Code Online (Sandbox Code Playgroud)
问题是我们不知道 OpenBSD 中中间命令的正确等价物。手册页说:
如果目的地可通过不需要中介系统作为网关的接口直接到达,则应指定 -iface 修饰符;
可悲的是,我们似乎无法弄清楚如何让它发挥作用。这是 OVH 服务器上的虚拟主机,他们有许多其他操作系统的文档,展示了如何在此处执行此操作:http : //help.ovh.co.uk/BridgeClient
小智 8
这是一个旧线程,但在这里。
碰巧的是,我在 OVH 的子公司 SoYouStart 上运行的 ESXi 6.0 上运行了许多 OpenBSD VM。那里的网络设置与 OVH 相同,我认为,虽然很奇怪,但它的主要目的是通过人为限制广播域来尽可能多地消除 ARP 流量,而不需要例如使用 VLAN。
就我而言,我从 OVH 请求了额外的 IP 地址,它们来自完全不同的范围。对于此处的讨论,让我们假设这些是我的设置:
要在 OpenBSD 主机上配置路由,我需要这样做:
ifconfig vmx0 inet 192.0.2.64 255.255.255.255
route add -inet 213.0.113.254 -llinfo -link -static -iface vmx0
route add -inet default 213.0.113.254
Run Code Online (Sandbox Code Playgroud)
为了在开始时完成所有这些,我忽略该/etc/mygate文件并将以下内容放入/etc/hostname.vmx0:
inet 192.0.2.64 255.255.255.255
!sleep 2
!route add -inet 213.0.113.254 -llinfo -link -static -iface vmx0
!route add -inet default 213.0.113.254
Run Code Online (Sandbox Code Playgroud)
你会注意到这个sleep命令——出于某种原因,它在 OpenBSD 5.9 上是必需的,但以前不是。如果没有sleep,第一个 toroute命令将不会执行,因此您的路由将无法正确配置。
这使用以下技巧:
route命令,我们将网关的 IP 地址 (213.0.113.254) 转换为链接地址(MAC 地址);这是由-llinfo选项完成的;route命令中,使用-link选项,我们将链接地址安装到路由表中,并使用-iface vmx0我们告诉内核该链接地址可通过哪个网络接口访问;所述-static开关马克它作为一个手动插入进入路由表route命令现在可以成功,因为现在知道到默认网关的路由我在上面的设置中遇到的一件事,我还没有解决方案,是四个 OpenBSD 主机之一,以完全相同的方式配置,运行完全相同的操作系统版本和完全相同的内核构建,并且即使每 24 小时左右在同一台 VMware 主机上运行,似乎也会从其路由表中“丢失”那条神奇的路由......
| 归档时间: |
|
| 查看次数: |
3450 次 |
| 最近记录: |