Wireguard VPNに接続するときにローカルリソースを有効にする

Wireguard VPNに接続するときにローカルリソースを有効にする

背景:
ローカル(プライベート)ネットワークにWireguard VPNサーバーを設定しました。 [プライベートネットワーク仮定:192.168.1.0/24] Wireguardクライアントは同じIPネットワーク192.168.1.Xを持っています。

私のネットワークに固定ローカルIPアドレスを使用するいくつかの非Wireguard互換デバイス(IPカメラ、DVR)があります。

クエリ:
Wireguardクライアントを使用してWireguardサーバー(ローカルネットワークの外側)に接続するときは、ローカル固定IPアドレスを使用してWireguardと互換性のないデバイスにアクセスしたいと思います。 IP競合が発生しないようにしました。

ベストアンサー1

WireGuardを介してさまざまな外部ホストをLANに接続する場合は、次の3つの主なタスクを実行する必要があります。

  1. AllowedIPs各デバイスのWireGuard構成設定に、LANのIPブロック(または少なくとも接続する各LAN側ホストのIPアドレス)が含まれています。外部所有者
  2. LAN側WireGuardホストでのパケット転送設定(例sysctl -w net.ipv4.ip_forward=1:)
  3. LAN側WireGuardホストでパケットマスカレーディング(SNATとも呼ばれます)の設定(通常はルールを介してiptables実行)

完全な例は次のとおりです。

https://www.procustodibus.com/blog/2020/11/wireguard-point-to-site-config/

この例では、LANのサブネットがあるため、外部ホスト(例ではエンドポイントA)のWireGuard設定の設定192.168.200.0/24です。AllowedIPs

AllowedIPs = 192.168.200.0/24

この例では、パケット転送と偽装は、LAN側WireGuardホスト(例ではホストβ)のWireGuard構成に次のものを追加することによって行われます。

# IP forwarding
PreUp = sysctl -w net.ipv4.ip_forward=1
# IP masquerading
PreUp = iptables -t mangle -A PREROUTING -i wg0 -j MARK --set-mark 0x30
PreUp = iptables -t nat -A POSTROUTING ! -o wg0 -m mark --mark 0x30 -j MASQUERADE

LAN 側 WireGuard ホストの WireGuard インターフェイスがwg0動作している場合、外部ホストは LAN アドレスを介して LAN 内のすべてのホストに接続できます。例では、外部ホスト(エンドポイントA)はLANホスト(エンドポイントB)に接続できます。 )エンドポイントBのローカルアドレスを介して192.168.200.22

おすすめ記事