我正在跟进这些有关在 OpenBSD 上设置(内核空间)Wireguard VPN 的说明。在我的特定情况下,VPN 服务器正在运行 OpenBSD,并且已确认工作正常(因为我的本地 OpenBSD 计算机之一已设置为客户端)。
我的大多数本地机器都不是 OpenBSD 机器——它们运行的是 Debian。因此,我试图将上述教程和这Debian 特定的一个。
我正处于需要定义的阶段客户的路线。在 OpenBSD 上,这些看起来像:
在客户端,还需要两条额外的路由:
- 通过本地默认网关 (ww.xx.yy.zz) 到服务器 (aa.bb.cc.dd) 的更具体路由
- 通往隧道端点 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
.