すべてのトラフィックを Wireguard VPN 経由で送信していますが、例外を設定する必要があります。自分のパブリック IP 宛てのパケットは、システムのデフォルト ゲートウェイを通過する必要があります。
カーネル ルートにこれを追加すると、意図したとおりに動作します。
route add X.X.X.X gw 192.168.1.254
ただし、もちろん、ここではルーターのゲートウェイをハードコーディングしているため、他のネットワークに接続している場合は動作しません。この動作を一般化して、常にデフォルト ゲートウェイ経由で XXXX 宛てのパケットを送信するにはどうすればよいでしょうか。カーネル ルートを追加するよりも、iptables を使用する方がよいのではないでしょうか。
答え1
変数を使用できます:
defaultGW=$(/sbin/ip route | awk '/default/ { print $3 }')
それから:
route add X.X.X.X gw $defaultGW
おそらく、 を使い始めるべきでしょうip route
。これは の現代的な代替手段ですroute
。