
プライベートサブネットを維持しながら、あるWireguardインターフェイスから別のインターフェイスにNATを試みています。これが私の設定です。ここで重要なのは、インターフェイスにサブネットが重なることです。
私のVPNサーバーには3つのインターフェースがあります。パブリックens3
プライベートWireguard wg0
(172.16.1.1/24)およびVPNサービスWireguard wg1
(172.28.112.173/12)
ens3
インターネットにアクセスできるルーティング可能なパブリックIPv4アドレスを持つパブリックインターフェイス。
wg0
172.16.1.0/24 ネットワーク上のすべてのデバイスへの Wireguard インターフェイスです。私のすべてのデバイスはこのインターフェイスに接続され、互いに通信でき、現在NATを使用していますens3
。
wg1
172.16.0.0/12 ネットワークの VPN プロバイダーへの Wireguard トンネル。 VPN プロバイダは IP アドレスを割り当て、パブリック インターネットへのルータのインターフェイスは 172.16.0.1 にあります。
iptablesをNATに設定すると、ens3
すべてが期待どおりに機能します。 172.16.1.0/24のデバイスは、パブリックインターフェイスを使用して互いに通信し、ens3
インターネットにアクセスできます。
iptablesをNATに設定すると、デバイスはパブリックwg1
インターフェイスを使用してインターネットにアクセスできなくなります。wg1
実際、tcpdumpは、ボックスがルーターからwg0
ルーターにパケットを転送していることを示していますが、これはens3
明らかに正しく機能しません。
wg0
私の究極の目標は、クライアントがNATを介してアクティブでwg1
再wg0
割り当てwg1
または変更できないサブネットにアクセスできるようにすることです。ポリシーベースのルーティングではこれを行うことができるようですが、数日間にわたってさまざまな設定を試しても機能しません。誰でも私に洞察力を与えることができたら、非常に感謝します!
iptablesダンプ:
# Generated by xtables-save v1.8.2 on Sat Jun 19 03:43:54 2021
*nat
:PREROUTING ACCEPT [15677:1866069]
:INPUT ACCEPT [10279:816931]
:POSTROUTING ACCEPT [5314:492688]
:OUTPUT ACCEPT [4806:467393]
-A PREROUTING -i ens3 -p udp -m udp --dport 1701 -m comment --comment "Also allow 1701/udp for WireGuard" -j REDIRECT --to-ports 500
-A PREROUTING -i ens3 -p udp -m udp --dport 443 -m comment --comment "Also allow 443/udp for WireGuard" -j REDIRECT --to-ports 500
-A POSTROUTING -o ens3 -j MASQUERADE
COMMIT
# Completed on Sat Jun 19 03:43:54 2021
# Generated by xtables-save v1.8.2 on Sat Jun 19 03:43:54 2021
*filter
:INPUT DROP [2775:810347]
:FORWARD ACCEPT [1048627:1182856653]
:OUTPUT ACCEPT [14961117:11097488012]
-A INPUT -m state --state RELATED,ESTABLISHED -m comment --comment "Allow ALL RELATED, ESTABLISHED" -j ACCEPT
-A INPUT -i lo -m state --state NEW -m comment --comment "Allow ALL from lo" -j ACCEPT
-A INPUT -p icmp -m state --state NEW -m comment --comment "Allow ICMP" -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m multiport --dports 22 -m comment --comment "Allow SSH" -j ACCEPT
-A INPUT -i wg0 -m state --state NEW -m comment --comment "Allow ALL from wg0" -j ACCEPT
-A INPUT -p udp -m state --state NEW -m multiport --dports 500 -m comment --comment "Allow WireGuard" -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -m comment --comment "Clamp MSS to PMTU" -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Sat Jun 19 03:43:54 2021
ルーティングテーブルダンプ:
default via 161.129.xxx.xxx dev ens3
161.129.xxx.xxx/24 dev ens3 proto kernel scope link src 161.129.xxx.xxx
172.16.1.0/24 dev wg0 proto kernel scope link src 172.16.1.1