
我有 IP 1.2.3.4 的線上伺服器和位於不同位置的兩臺本機。計算機A和計算機B。
我已按照此處的說明如何設定 Wireguard:https://www.cyberciti.biz/faq/ubuntu-20-04-set-up-wireguard-vpn-server/
但電腦 A 無法 ping 通或連接到電腦 B。
我想我認為我需要但不知道如何在線上伺服器上進行設定以在本地同行之間進行通訊。
怎麼做?
本機對等點是mac和ubuntu桌面。
我的設定: 伺服器:
[Interface]
Address = 192.168.6.1/24
ListenPort = 41194
PrivateKey = <key>
[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.2/32
PersistentKeepalive = 15
[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.3/32
PersistentKeepalive = 15
本地對等點A:
[Interface]
PrivateKey = <key>
Address = 192.168.6.2/32
[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.1/32
Endpoint = 65.21.63.31:41194
PersistentKeepalive = 21
[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.3/32
PersistentKeepalive = 15
本地對等點 B:
[Interface]
PrivateKey = <key>
Address = 192.168.6.3/32
[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.1/32
Endpoint = 65.21.63.31:41194
PersistentKeepalive = 21
[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.2/32
PersistentKeepalive = 15
伺服器可以與 Peer A 和 Peer B 通信,但 Peer A 不能與 Peer B 通訊。
答案1
您引用的教學看起來像是引導您採用「中心輻射」拓撲,其中對等點 A 和對等點 B 不直接相互連接 - 相反,它們的連接透過您的伺服器進行路由。如果這就是您想要做的,您應該[Peer]
從對等點 A 和對等點 B 的設定檔中刪除第二個條目,並將AllowedIPs
第一個條目的設定變更[Peer]
為:
AllowedIPs = 192.168.6.0/24
您還需要確保在伺服器上啟用資料包轉送。有幾種不同的方法可以做到這一點,但使用 WireGuard 最簡單的方法是將以下PreUp
命令新增至[Interface]
伺服器設定檔的部分:
PreUp = sysctl -w net.ipv4.ip_forward=1
但是,如果您想要將對等點 A 直接連接到對等點 B(即「點對點」),則需要為其中一個對等點擁有靜態公用 IP 位址。如果是這種情況,您可以將第二個[Peer]
條目保留在對等點 A 和對等點 B 的設定檔中;並將設定新增至其中一個檔案的Endpoint
第二個條目,並將設定新增至另一個檔案的條目。[Peer]
ListenPort
[Interface]
例如,如果對等點 B 可透過 Internet(或某個內部網路)在 198.51.100.123 存取對等點 A,且對等點 B 的新連線可存取 UDP 連接埠 51820,請將對[Peer]
等點B 的設定檔中的第二個條目更改為:
[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.2/32
Endpoint = 198.51.100.123:51820
PersistentKeepalive = 15
並將[Interface]
Peer A 的配置中的條目更改為:
[Interface]
PrivateKey = <key>
Address = 192.168.6.2/32
ListenPort = 51820