wg-quick up wg0を実行するとWireguardがインターネットアクセスを停止するのはなぜですか?

wg-quick up wg0を実行するとWireguardがインターネットアクセスを停止するのはなぜですか?

ラズベリーパイをワイヤガードサーバーとして使用しようとしています。

イーサネットケーブルを介してラズベリーパイをルータに接続すると、ルータはパイをIPに割り当てます。192.168.1.35

私は以下を実行して、Pyがインターネットに接続していることを確認しました。平らなwww.startpage.comSSH経由でパイに接続するとき

しかし、一度走ってみるとwg-クイックスタートwg0パイでは、私はすべてのインターネット接続を失いました。 SSH経由のpingはもう機能しません。

インターネットアクセスを再取得するには実行する必要がありました。wg-クイックドロップwg0

Wireguardは私のインターネットを止めるために何かをしています。

私のRaspberry Piラインバッカー設定ファイル

sudo nano /etc/wireguard/wg0.conf

[Interface]
PrivateKey = PI_PRIVATE_KEY
Address = 192.168.1.100
ListenPort = 51820

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 0.0.0.0/0, ::0

クライアント構成ファイル

sudo nano /etc/wireguard/wg0.conf

[Interface]
PrivateKey = CLIENT_PRIVATE_KEY
Address = 192.168.1.101/24

[Peer]
PublicKey = PI_PUBLIC_KEY
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = PI/ROUTER_PUBLIC_IP:51820

注:異なる結果をテストするために、両方の構成でAllowedIPs設定を複数回変更しました。私のPiのwg-quick up wg0はまだ私のpiを介してインターネットを停止しますが、インターネットは正しく動作します。

私は気づいたwg-クイックスタートwg0私のnftルールセットを変更している間戻る

sudo nft list ruleset
 
 
table ip wg-quick-wg0 {
        chain preraw {
                type filter hook prerouting priority raw; policy accept;
                iifname != "wg0" ip daddr 192.168.2.100 fib saddr type != local drop
        }
 
        chain premangle {
                type filter hook prerouting priority mangle; policy accept;
                meta l4proto udp meta mark set ct mark
        }
 
        chain postmangle {
                type filter hook postrouting priority mangle; policy accept;
                meta l4proto udp meta mark 0x0000ca6c ct mark set meta mark
        }
}

wg0 インターフェイスがダウンすると、これらのルールが存在しないため、これらのルールの何かが pi 内のインターネットアクセスをブロックする可能性があります。

問題を取り除く

  1. 192.168.1.100 は、ルータの他のデバイスでは使用されません。
  2. コメントを解除net.ipv4.ip_forward=1存在する/etc/sysctl.conf違いはありません。正確な問題はまだ同じです。ネットワーク接続ip4コメントを投稿するか、wg0のコメントを削除してください。いいえネットワーク接続ip4コメントするか、wg0のコメントを外してください。
  3. この段階では、wireguard クライアントは関係ありません。
  4. この問題はエラーが発生するため、wireguardの秘密鍵/公開鍵とは何の関係もありません。

答え1

Wireguardインターフェイスが起動すると、VPNを介してすべてを転送するように定義されます。

AllowedIPs = 0.0.0.0/0, ::/0

これは典型的な顧客構成がサーバー構成に適していないことはほぼ確実です。

代わりに、クライアントが接続後に独自に使用する(コンパクト)サブネットを宣言する必要があります。例えば、

192.168.0.2/32

ネットワークアドレスが他の場所で使用されているサブネットの一部ではないことを確認してください。

関連情報