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/24
iptablesなどの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
ファイアウォールでこの動作を模倣するか、複雑な要件がある設定からそれらを削除する必要があります。