Wireguard 通過隧道將多個客戶端連接到伺服器和網際網路(allowedips)
我最近設置了wireguard並讓它為一個客戶端(筆記型電腦)工作,然後將我的手機添加到組合中,我的筆記型電腦停止連接。如果我將另一個註釋掉,它會起作用。我知道在這兩種情況下都是因為 allowedips 0.0.0.0/0 。問題是我不確定我需要輸入什麼才能使其正常工作。我只嘗試了客戶端的 wg ip,例如 10.0.0.2/24 和 10.0.0.2/32。
理想的目標是能夠為兩個客戶端訪問我的伺服器和隧道流量。我知道我可以通過為每個客戶端創建一個單獨的 wg 介面來做到這一點,但我想知道我是否可以在伺服器上只使用一個 (wg0) 來做到這一點。我在伺服器上執行了一個 adguard DNS 容器,並且在連接單個設備時(另一個在伺服器配置中註釋掉了)。該設備訪問 DNS 並按預期工作,並正在將我的請求重寫到我的伺服器並阻止廣告,我可以將客戶端 ip 視為 wg ip。我並不真正關心這兩個設備的 LAN 訪問,我只想訪問我的伺服器 IP 並將其餘的轉發出去。目前我可以為一個 0.0.0.0/0 的客戶做到這一點
在客戶端上將允許的 ips 更改為 10.0.0.2/32 時,它不起作用。我無法 ping DNS 伺服器 10.0.0.1 適用於每個設備,但不能同時 ping,因為它們與 0.0.0.0/0 重疊。
我的首要任務是轉發兩台設備的所有流量,但如果做不到這一點,我會很高興筆記型電腦可以訪問所有內容並且手機至少可以訪問 10.0.0.1 的伺服器
歡迎對允許的 ips 提供任何幫助或想法。謝謝你的時間
伺服器配置
[Interface] PrivateKey = xxxxxxxxxxx Address = 10.0.0.1/24 ListenPort = 55555 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] # Laptop PublicKey = xxxxxxx AllowedIPs = 10.0.0.2/32 # Phone PublicKey = xxxxxxxx AllowedIPs = 10.0.0.3/32
筆記型電腦配置
[Interface] Address = 10.0.0.2/24 PrivateKey = xxxxxx DNS= 10.0.0.1 [Peer] PublicKey = xxxxxxxx Endpoint = my.dd.ip:55555 AllowedIPs = 0.0.0.0/0
電話配置
[Interface] Address = 10.0.0.3/24 PrivateKey = xxxxxx DNS= 10.0.0.1 [Peer] PublicKey = xxxxxxxx Endpoint = my.dd.ip:55555 AllowedIPs = 0.0.0.0/0
另外我應該補充一點,我已經允許在伺服器上轉發
net.ipv4.ip_forward = 1
在伺服器端配置中,您必須
[Peer]
為每個對等方添加一個塊。[Interface] PrivateKey = SERVER%XXXXXXX # PUBLIC SERVER%PPPPPPP Address = 10.0.0.1/24 ListenPort = 55555 PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE # Laptop [Peer] PublicKey = LAPTOP%PPPPPPP AllowedIPs = 10.0.0.2/32 # Phone [Peer] PublicKey = PHONE%PPPPPPP AllowedIPs = 10.0.0.3/32
筆記型電腦配置
[Interface] Address = 10.0.0.2/32 PrivateKey = LAPTOP%XXXXXXX DNS = 10.0.0.1 [Peer] PublicKey = SERVER%PPPPPPP Endpoint = my.dd.ip:55555 AllowedIPs = 0.0.0.0/0
電話配置
[Interface] Address = 10.0.0.3/32 PrivateKey = PHONE%XXXXXXX DNS = 10.0.0.1 [Peer] PublicKey = SERVER%PPPPPPP Endpoint = my.dd.ip:55555 AllowedIPs = 0.0.0.0/0