Linux 相当于这些 BSD 风格的路由

Linux 相当于这些 BSD 风格的路由

我正在跟进这些有关在 OpenBSD 上设置(内核空间)Wireguard VPN 的说明。在我的特定情况下,VPN 服务器正在运行 OpenBSD,并且已确认工作正常(因为我的本地 OpenBSD 计算机之一已设置为客户端)。

我的大多数本地机器都不是 OpenBSD 机器——它们运行的​​是 Debian。因此,我试图将上述教程和Debian 特定的一个。

我正处于需要定义的阶段客户的路线。在 OpenBSD 上,这些看起来像:

在客户端,还需要两条额外的路由:

  1. 通过本地默认网关 (ww.xx.yy.zz) 到服务器 (aa.bb.cc.dd) 的更具体路由
  2. 通往隧道端点 IP 地址的默认路由

设置规则如下:

client# route add -priority 2 aa.bb.cc.dd ww.xx.yy.zz
client# route add -priority 7 default 192.168.23.1

这些指令目前的形式显然不适用于 Linux。

Debian 上的等效命令是什么?

答案1

route仍然是命令。man route给我:

路由 [-v] [-A 系列 |-4|-6] 添加 [-net|-host] 目标 [网络掩码 Nm] [gw Gw] [度量 N] [mss M] [窗口 W] [irtt I] [拒绝] [mod] [dyn] [恢复] [[dev] If]

因此,基本上,区别在于 BSD 使用优先级的抽象,而 Linux 使用度量来确定优先级。使用netstat -rne,您可以查看接口的当前优先级,以便您可以选择一个方便的数字。

您还会注意到需要放在gw网关前面。

举个例子,那就是:

client# route add aa.bb.cc.dd gw ww.xx.yy.zz metric 200
client# route add default gw 192.168.23.1 metric 500

如果省略指标,它仍然有效;更具体的路线比更一般的路线具有更高的优先级。因此,在这种情况下,到单个服务器(您的 VPN 端点)的路由比一般的“默认”(所有内容)更具体。

Linux 也尝试过route用更复杂的ip.许多人(包括我在内)仍然使用route.

相关内容