次の設定を検討してください。固定IPでインターネットに接続されたVPSがあります。さらに、NATルーターの背後にあるホームネットワークに複数のホストがあります。私のホームネットワークはインターネットを使用し、192.168.1.0/24
Host1ではVPS用Wireguard VPNを設定しました。このVPNでは、VPSはIPを使用し、192.168.10.1
Host1はIPを使用します192.168.10.2
。 VPSはホームネットワークのホストにpingを送ることができ、その逆も可能であり、正常に動作します。
次に、VPSからホームネットワークにアクセスしたいと思います。そのために、以下のようにVPSにルートを追加しました。
ip route add 192.168.1.0/24 via 192.168.10.2 dev wg0
VPSがホームネットワークの他のホストにアクセスできるというアイデアです。ただし、Host1でIP転送を有効にする必要があることがわかっているので、次のことを行います。
iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
そして私もそれを整理しましたnet.ipv4.ip_forward = 1
。これら2つの構成を使用すると、VPSがホームネットワーク上のすべてのホストをpingできます。しかし、ホームネットワークにWebサーバーがあり、VPSからサーバーに接続しようとすると、no route to host
Webサーバーにpingすることができますが、問題が発生します。tcpdump
ホームネットワーク上のHost1で実行中ですが、エラーメッセージが表示されるため、ICMPadmin prohibited filter
と比較してHTTPトラフィックが正しく配信されないようです。それでは、iptables
VPSのホームネットワークにあるWebサーバーにアクセスするにはどうすればよいですか? NATも追加する必要があるようですが、どうすればいいかわかりません。
答え1
追加内容を見逃したようです。キールーティングサーバーの WireGuard 構成エントリです。
サーバーのWireGuard層は、IPアドレスなど、一致するピアが何であるかを知る必要があります192.168.0.42
。これを行うには、正しいエントリを持つピアがあることを確認してくださいAllowedIPs
。ピアは定義され、次のエントリが必要です。
AllowedIPs = 192.168.10.2
一致しません192.168.0.42
。 WireGuardインターフェイスを介して送信されたパケットは192.168.0.42
破棄されます。
したがって、追加パスが追加されるたびに仕える人WireGuardインターフェイス(通常はAllowedIPs = 0.0.0/0/0
クライアントとして使用されていない)を介して、アイテムの1つ(その1つ)をAllowedIPs
それに応じて変更する必要がある可能性があります。この場合、以下が必要です。
AllowedIPs = 192.168.10.2, 192.168.1.0/24
これにより、宛先を正しい送信に関連付けて、そのピアから受信したパケットの受信を確認します。
iptables
問題とは関係ないようです。