WireGuard LANアクセスはLinuxでは機能しませんが、携帯電話では機能します。

WireGuard LANアクセスはLinuxでは機能しませんが、携帯電話では機能します。

私はいつも私のラズベリーパイに接続するためにPiVPNを使って自分のラップトップ(FedoraまたはManjaroを実行)を接続しようとしています。 IPテーブルとポート転送を設定しました。

10.6.0.1ではPiにアクセスできますが、通常のサブネット192.168.0.0/24ではアクセスできません。私の電話は他のネットワークからローカルLANにアクセスできますが、ラップトップではアクセスできません。

PiVPNでwg0.confwireguardファイルを作成し、/etc/wireguardの下に配置しました。動作中です。ただし、LANに接続できません。 Piを介してすべてのトラフィックをルーティングする必要があります。

許可されたIPに追加を追加しようとしましたが、それも役に立ちませんでした。また、confファイルにIPテーブルを追加しました。オペレーティングシステムやWireguardに問題がありますか?

WireGuard経由で接続している場合は、他のネットワークで10.6.0.1(PI)をpingすることもできますが、196.168.178.35(LAN PI)をpingしようとすると、ホストに接続できないというメッセージが表示されます。

Confファイル:Piサーバー:

[Interface]
PrivateKey = <private>
Address = 10.6.0.1/24
MTU = 1420
ListenPort = <port>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = <pubkey>
PresharedKey = <presharedkey>
AllowedIPs = 10.6.0.4/32

顧客:

[Interface]
PrivateKey = <privatekey>
Address = 10.6.0.4/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
 PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
DNS = 10.6.0.1

[Peer]
PublicKey = <publickey>
PresharedKey = <sharedkey>
Endpoint = <my-external-ip>:<port>
AllowedIPs = 0.0.0.0/0
PersistentKeepalive=30

答え1

AllowedIPs = 0.0.0.0/0クライアントWireGuard設定は、明示的なパスを持たないすべてのトラフィックが対応するWireGuardピアを介して送信されることを意味します。したがって、PiのLANアドレス(またはPiのサブネット)への明示的なルートを追加する必要があるかもしれません。

ノートブックで次のコマンドを実行します。

$ ip route

出力は次のとおりです。

default via 192.168.0.1 dev eth0 proto dhcp metric 100
10.6.0.0/24 dev wg0 scope link
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.123 metric 100

PiのLANアドレスへのルートが表示されない場合は、それを追加して、次のようにノートブックのデフォルトゲートウェイを介してルートを指定します。

$ sudo ip route add 192.168.178.0/24 via 192.168.0.1 dev eth0

関連なし:iptablesにリストされているPostUp / PostDownルールを削除できます。顧客WireGuard の設定は、ユーザーに対して何も行いません (このルールは、パケットを別のホストに転送するサーバーにのみ適用されるため、Pi サーバーの構成にはそのルールがあります)。

関連情報