WireGuardとWebアクセス保護の使用
問題
コマンドラインからwg-quickを使用するか、サービスとして使用して、Webアクセス保護(WAP)がWireGuardと併用されているとします。この場合、WAPインターフェースとWireGuardインターフェースの両方が有効になっていると、インターネット接続が失われることがあります。これはインターフェースが起動したときに、wg-quickによってnftablesに追加されるルールが原因で発生します。インターフェースがwg0で、IPアドレスが10.10.10.2だとします。ルールはwg-quick-wg0テーブルに追加され、チェーンプレビューは次のようになります。
iifname != "wg0" ip daddr 10.10.10.2 fib saddr type != local drop |
このルールの目的は、設定の問題や悪意のあるパケットから守ることです。
回避策
適切に設定され、セキュリティで保護されたシステムでは、このnftablesルールは必要ありません。そのルールをそのままにしないように設定wg-quickすると、接続の問題が解決します。たとえば、影響を受けるインターフェースの設定ファイルを編集し、[Interface]セクションに次の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でない場合は更新する必要があります。