Wireguardは、centosの特定のクライアントがローカルネットワークにのみアクセスできるようにするにはどうすればよいですか?

Wireguardは、centosの特定のクライアントがローカルネットワークにのみアクセスできるようにするにはどうすればよいですか?

Wireguardを介して接続されているときにインターネットにアクセスできるクライアントが必要であり、インターネットではなくSambaにアクセスするためにローカルネットワークのみを表示できるクライアントも必要です。Centosインターネットから取得した標準設定があります。

wg0.conf

[Interface]
Address = 10.8.0.1/24
PrivateKey = SERVER_PRIVATE_KEY
ListenPort = 35053

[Peer]
PublicKey = CLIENT_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32

Wireguardに接続されているクライアントがインターネットにアクセスできるようにするには、次の手順を実行します。

vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1
sysctl -p


firewall-cmd --permanent --zone=public --add-port=35053/udp
firewall-cmd --permanent --zone=public --add-masquerade
firewall-cmd --reload

クライアントに追加しましたが、すべてがうまくいきます。サーバーに接続すると、クライアントにインターネットがあり、サーバーのローカルネットワークとSambaにもアクセスできます。

client.conf

[Interface]
PrivateKey = CLIENT+PRIVATE_KEY
Address = 10.8.0.2/24
DNS = 1.1.1.1

[Peer]
PublicKey = SERVER_PUBLIC_KEY
AllowedIPs = 0.0.0.0/0
Endpoint = SERVER_IP:35053
PersistentKeepalive = 20

仮面舞踏会を通じてローカルネットワークとSambaにはアクセスできますが、インターネットにはアクセスできないように他のクライアントを追加するにはどうすればよいですか?

wg2ローカルネットワークでのみ機能する別のWireguardインターフェースを追加してみました。public zoneすでに胃があり、に適用されているため動作しませんwg2。別の外部IPを購入すると動作しますが、別の解決策がありますか?

答え1

ここを見てください:https://unix.stackexchange.com/a/714015/537971

デフォルトでは、サーバー側ではLAN CIDRをAllowedIPs = 10.8.0.2/32次のように追加する必要がありますAllowedIPs = 10.8.0.2/32, 192.168.1.0/24

私はローカルネットワークでのみ動作する別のwireguardインターフェースwg2を追加してみました。パブリックエリアにはすでに迷彩が適用されており、wg2に適用されているため、機能しません。

2番目のWireguardインスタンスは異なるCIDRを持ち、10.9.0.0/24iptablesなどの1つのCIDRおよびインターフェイスに対してのみマスカレーディングを設定する必要があります。 iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADEまたは、iptables -t nat -A POSTROUTING -i wg0 -o eth0 -j MASQUERADE ファイアウォールでこの動作を模倣するか、複雑な要件がある設定からそれらを削除する必要があります。

関連情報