私はいつも私のラズベリーパイに接続するために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 サーバーの構成にはそのルールがあります)。