Wireguard の wg-quick マニュアル ページからの例: どのように動作するのでしょうか?

Wireguard の wg-quick マニュアル ページからの例: どのように動作するのでしょうか?

これは、wg-quick のマニュアル ページの例のセクションからの抜粋です。

A combination of the `Table', `PostUp', and `PreDown'
fields may be used for policy routing as well. For example,
the following may be used to send SSH traffic (TCP port 22)
traffic through the tunnel:

[Interface]
Address = 10.192.122.1/24
PrivateKey = yAnz5TF+lXXJte14tji3zlMNq+hd2rYUIgJBgB3fBmk=
ListenPort = 51820
Table = 1234
PostUp = ip rule add ipproto tcp dport 22 table 1234
PreDown = ip rule delete ipproto tcp dport 22 table 1234

[Peer]
PublicKey = xTIBA5rboUvnH4htodjb6e697QjLERt1NAB4mZqp8Dg=
AllowedIPs = 0.0.0.0/0

ip routeこの例は私には不完全なように思えます。トンネル経由で SSH トラフィックを送信する指定も必要ではないでしょうかtable 1234? 私は Wireguard とルーティングの専門家ではないので、私が見逃している裏で何かが起こっているのかもしれません。

答え1

デフォルトでは、wg-quick は、このインターフェース上のすべてのピアの AllowedIP に対応するルートを wg0 経由で自動的に追加します。これが、この例の Table= パラメータの目的です。

(Table= が指定されていない場合でも、ルートがメイン テーブルに追加されます。この動作を無効にするには、Table=off を使用します。)

同様の機能は systemd-networkd の WireGuard サポートにも存在しますが、オプトインです (つまり、メイン テーブルでも Table= を指定する必要があります)。

関連情報