Debian

這些 BSD 風格路由的 Linux 等價物

  • September 15, 2020

我正在按照這些說明在 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 上的等效命令是什麼?

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

路線

$$ -v $$ $$ -A family |-4|-6 $$添加$$ -net|-host $$目標$$ netmask Nm $$ $$ gw Gw $$ $$ metric N $$ $$ mss M $$ $$ window W $$ $$ irtt I $$ $$ reject $$ $$ mod $$ $$ dyn $$ $$ reinstate $$ $$ [dev $$如果]

因此,基本上,區別在於 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.

引用自:https://unix.stackexchange.com/questions/609326