WireGuardとWebアクセス保護の使用
問題
コマンドラインから、またはサービスとしてwg-quickを使用して、Webアクセス保護(WAP)とWireGuardを組み合わせているとします。その場合、WAPとWireGuardインターフェイスの両方が有効になっていると、インターネット接続が失われる可能性があります。これは、インターフェイスが起動したときにwg-quickによってnftablesに追加されるルールが原因です。インターフェイスがwg0で、IPアドレスが10.10.10.2であるとします。ルールはテーブルwg-quick-wg0、chain prerawに追加され、次のようになります。
iifname != "wg0" ip daddr 10.10.10.2 fib saddr type != local drop |
このルールの目的は、設定の問題や悪意のあるパケットから守ることです。
回避策
適切に設定された、安全なシステムでは、nftablesルールは必要ありません。そのルールをそのまま残さないようにwg-quickを設定すると、接続の問題が修正されます。たとえば、影響を受けるインターフェイスの設定ファイルを編集し、[インターフェイス]セクションで次のPostUpアクションを追加できます。
PostUp = nft flush chain wg-quick-wg0 preraw |
wg-quick-wg0名前は“wg0”インターフェイスにのみ適用され、他のインターフェイスに応じて変更する必要があることに注意してください。それでもある程度の保護が必要な場合は、たとえば次のように、ルールをより弱いルールに置き換えます。
PostUp = nft flush chain wg-quick-wg0 preraw; nft 'add rule wg-quick-wg0 preraw iifname != "wg0" iif != "lo" ip daddr 10.10.10.2 fib saddr type != local drop' |
インターフェイスが「wg0」でない場合は、「wg0」に言及しているすべての箇所を更新する必要があることを忘れないでください。また、IPアドレスが10.10.10.2でない場合は更新する必要があります。