
これは、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= を指定する必要があります)。