ワイヤーガードを使用して次のvpn接続をセットアップしました:
LAN1 (192.168.1.0) と LAN2 (192.168.178.0) は、パブリック仮想プライベート サーバー (VPS) で実行されるワイヤーガード VPN サーバーを介して接続されます。ローカル LAN には、トラフィックをルーティングする Raspberry Pi があります (LAN1 では 192.168.1.31、LAN2 では 192.168.178.234)。また、両方の LAN の fritz ボックスに静的 ipv4 ルートを追加しました (写真を参照)。
問題は、すべてのトラフィックが 1 つの LAN から別の LAN にルーティングされるわけではないということです。たとえば、LAN1 から LAN2 の raspberry pi に ssh できますが、sudo apt upgrade を開始するとスタックして接続が失われます。LAN2 上のすべてのデバイスにも ping を実行できます。しかし、LAN2 で fritzbox の http フロントエンドを開こうとすると、ロードされません。あと面白いのは、携帯からならなんでもかんたんにできるところです。私の設定に何か問題があるのでしょうか?2020 年 5 月または 6 月にワイヤーガードの更新が行われるまで、すべてがうまく機能していました。
構成は次のとおりです。
wg0-client1.conf
[Interface]
Table = off
PrivateKey = <PRIVATE-KEY-CLIENT1>
Address = 172.16.100.2/24 # client1 address
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
ip route add 192.168.178.0/24 via 172.16.100.2 mtu 1420; # route packets from/to LAN2 through wireguard interface (172.16.100.0/24 net)
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# Virtual Private Server (VPS)
[Peer]
PublicKey = <PUBLIC-KEY-SERVER>
AllowedIPs = 172.16.100.0/24,192.168.178.0/24 # accept packets from server from VPN + local net of client2
Endpoint = [IPv6-of-server]:51820 # DONT FORGET THE BRACKETS!
PersistentKeepalive = 25
wg0-client2.conf
[Interface]
Table = off
PrivateKey = <PRIVATE-KEY-CLIENT2>
Address = 172.16.100.3/24 # client2 address
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
ip route add 192.168.1.0/24 via 172.16.100.3 mtu 1420; # route packets from/to LAN1 through wireguard interface (172.16.100.0/24 net)
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
# Virtual Private Server (VPS)
[Peer]
PublicKey = <PUBLIC-KEY-SERVER>
AllowedIPs = 172.16.100.0/24,192.168.178.0/24 # accept packets from server from VPN + local net of client1
Endpoint = [IPv6-of-server]:51820 # DONT FORGET THE BRACKETS!
PersistentKeepalive = 25
携帯電話.conf
[Interface]
Address = 172.16.100.4/24
DNS = 172.16.100.1
PrivateKey = <PRIVATE-KEY-PHONE>
[Peer]
AllowedIPs = 172.16.100.0/24, 192.168.178.0/24, 192.168.1.0/24 # allow to connect to both LANs
Endpoint = [IPv6-of-server]:51820 # DONT FORGET THE BRACKETS!
PublicKey = <PUBLIC-KEY-SERVER>
wg0-server.conf
[Interface]
Table = off
Address = 172.16.100.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
ip route add 192.168.178.0/24 via 172.16.100.1 mtu 1420; ip route add 192.168.1.0/24 via 172.16.100.1 mtu 1420
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = <PRIVATE-KEY-SERVER>
# CLIENT 1
[Peer]
PublicKey = <PUBLIC-KEY-CLIENT1>
AllowedIPs = 172.16.100.2/32,192.168.1.0/24 # route traffic for itself and for the LAN it belongs to
# CLIENT 2
[Peer]
PublicKey = <PUBLIC-KEY-CLIENT2>
AllowedIPs = 172.16.100.3/32,192.168.178.0/24 # route traffic for itself and for the LAN it belongs to
# Mobile Phone
[Peer]
PublicKey = <PUBLIC-KEY-CLIENT3>
AllowedIPs = 172.16.100.10/32 # only route traffic for itself
# ... more clients possible