透過編輯設定檔,您可以在點對點VPN設定中為WireGuard介面分配不同的IP位址。當連接到日本伺服器租用設施時,使用/31子網可確保每個端點都有唯一的位址,從而防止衝突。請確保更新Allowed IPs欄位,以保證本地網路和日本VPN伺服器之間的正確流量傳輸。正確的路由設定可以在存取日本伺服器租用服務時保持VPN的穩定和安全。如果路由設定錯誤,您可能會遇到無法存取本地裝置、與日本DNS伺服器連接失敗或存取日本託管資源速度慢等問題。請始終檢查您的公共IP位址和網路規則,以確保WireGuard與日本伺服器租用提供商的順暢運行。

要點

  • 對點對點連接使用/31子網。這允許兩個唯一的IP位址,防止衝突並簡化網路設定。
  • 為WireGuard通道中的每個端點分配唯一的IP位址。這可以避免路由問題並確保穩定的連接。
  • 更新設定中的Allowed IPs欄位。這控制哪些流量可以通過通道,允許特定的路由需求。
  • 在進行設定變更後,始終重新啟動WireGuard服務。這樣可以套用更新並幫助維持可靠的連接。
  • 變更後測試您的WireGuard設定。使用’wg show’等指令驗證握手並確保所有端點都能正常通訊。

WireGuard點對點設定基礎

使用/31子網進行點對點連接

在設定WireGuard點對點設定時,您應使用/31子網。這個子網正好提供兩個可用的IP位址,非常適合點對點連接。WireGuard通道不需要廣播位址,因此/31子網可以高效運作。這樣可以節省位址空間並保持網路簡單。

使用/31子網是RFC 3021定義的特殊情況,其中子網中的兩個IP位址可用於點對點連結,以節省IPv4位址空間。

下表顯示了為何推薦在WireGuard介面中使用/31子網:

在WireGuard點對點連接中使用/31子網的原因說明
消除廣播位址/31子網不需要廣播位址,這對點對點連接來說是不必要的。
位址利用效率使用/31子網更有效率,因為它只分配兩個IP位址,每個端點一個。
簡化設定透過減少點對點連結所需的IP數量來簡化網路設定。

分配唯一IP位址

您必須為WireGuard通道中的每個端點分配唯一的IP位址。如果對多個WireGuard介面使用相同的位址,您將遇到路由問題。每個WireGuard介面都需要自己的位址以避免衝突。此規則適用於通道中的每個端點。

  • 當您設定多個WireGuard通道時,每個通道必須有唯一的IP位址以防止路由問題。
  • 如果對多個通道使用相同的IP位址,您將看到錯誤並失去連接。

理解Allowed IPs

WireGuard設定中的Allowed IPs欄位控制哪些流量可以通過通道。您為每個端點設定此欄位。如果您只想允許某些網路,可以指定一個子網。如果您想讓所有流量都通過WireGuard通道,可以使用0.0.0.0/0。

這是一個解釋Allowed IPs在WireGuard介面中如何運作的表格:

功能說明
路由確定哪些目標IP透過此對等點發送。
過濾指定從此對等點接受哪些來源IP。
  • Allowed IPs欄位決定哪些IP位址可以透過WireGuard通道發送流量。
  • 您可以根據需要路由特定網路(如LAN子網)或所有流量。

您應該始終檢查每個WireGuard介面和端點的設定,以確保通道按預期運作。

如何使用不同IP位址設定WireGuard VPN

為每個端點設定不同IP位址的WireGuard VPN有助於建立安全可靠的點對點連接。您需要編輯每個WireGuard介面的設定檔。這個過程包括分配唯一位址、更新允許的IP和重新啟動服務。按照這些步驟完成WireGuard設定。

編輯WireGuard設定

您必須編輯每個端點的設定檔以分配不同的IP位址。此檔案控制WireGuard VPN的運作方式。您可以在/etc/wireguard/目錄中找到設定檔,通常命名為wg0.conf或類似名稱。

按照這些步驟更新您的設定檔:

  1. 使用文字編輯器開啟WireGuard介面的設定檔。
  2. 將Address欄位設定為您想要為此端點使用的不同IP位址。對點對點連結使用/31子網,例如10.70.250.253/31
  3. 為每個對等點新增或更新AllowedIPs欄位。僅包含每個端點需要的IP範圍。例如,您可以使用AllowedIPs = 10.0.0.0/24, 192.168.1.0/24進行分流。
  4. 除非您想讓所有流量都透過VPN,否則避免使用AllowedIPs = 0.0.0.0/0
  5. 儲存設定檔。

提示:始終檢查設定檔中的MTU設定。某些WireGuard VPN用戶端需要特定的MTU值以避免連接問題。

以下是一個端點的設定檔範例:

[Interface]
Address = 10.70.250.253/31
DNS = 10.10.10.10
PrivateKey = CIHyP1xYRh3zl7bE6XYsXXFhrf8CXjn4mlIkEdfLAE0=

[Peer]
AllowedIPs = 10.70.250.252/31
Endpoint = 199.170.132.43:51822
PublicKey = HCYsMu1Wztk8ape2WP5HYiFZnNpn07guRNvKZw/e0mk=

範例:分配和驗證IP

您需要為WireGuard VPN中的每個端點分配不同的IP位址。為您的通道使用/31子網。以下是兩個端點的WireGuard範例設定表:

項目總部設定分公司設定
WAN IP位址198.51.100.15198.51.100.23
通道位址10.6.210.0/3110.6.210.1/31
監聽埠5182051820
LAN子網10.15.0.0/2410.23.0.0/24

完成設定檔編輯後,您應該驗證分配的IP位址是否正確。按照以下步驟操作:

  1. 進入系統中的介面 > 分配。
  2. 從可用網路埠中選擇正確的WireGuard介面。
  3. 將介面新增為新的OPT介面。
  4. 進入介面 > OPTx並啟用介面。
  5. 為介面提供清晰的描述。

您也可以使用wg指令檢查您的WireGuard設定。在命令列中輸入wg show查看目前設定和握手狀態。

注意:始終檢查兩個端點,確保每個WireGuard VPN用戶端都有正確的不同IP位址。

重新啟動WireGuard服務

更新設定檔後,您必須重新啟動WireGuard服務以套用變更。這一步確保您的WireGuard VPN使用新設定。

以下是您可以使用的指令表:

指令說明
sudo wg-quick down /etc/wireguard/wg0.conf停止WireGuard介面。
sudo wg-quick up /etc/wireguard/wg0.conf啟動WireGuard介面。
sudo systemctl stop wg-quick@wg0.service停止WireGuard服務。
sudo systemctl start wg-quick@wg0.service啟動WireGuard服務。

在對設定檔進行變更後,您應該始終重新啟動WireGuard VPN。這一步有助於您避免路由和連接問題。

提示:如果重新啟動後發現問題,請檢查設定檔是否有錯誤。確保每個端點都有唯一的不同IP位址和正確的允許IP。

透過遵循這些步驟,您可以為每個端點設定具有不同IP位址的WireGuard VPN。這種方法可以保持您的VPN安全高效。在進行變更後,始終測試您的WireGuard設定以確認一切按預期運作。

WireGuard VPN伺服器連接故障排除

常見路由問題

當您在WireGuard通道中更改IP位址時,可能會遇到阻止點對點連接運作的路由問題。您可能會注意到ping失敗或WireGuard用戶端無法到達遠端端點。以下是一些您應該注意的常見問題:

  • 動態DNS項目可能不會立即更新。如果您的端點使用DDNS,請確保它反映了新的IP位址。
  • 如果您的端點位於NAT或防火牆後面,除非它啟動連接,否則可能無法存取。在設定中加入PersistentKeepalive = 25有助於保持通道活動。
  • 如果您將端點IP加入AllowedIPs清單中,可能會發生循環路由。這可能導致握手失敗。您需要加入手動路由來解決這個問題。

您還應該檢查AllowedIPs欄位是否包含WireGuard伺服器和每個用戶端的正確本地子網。確保伺服器和路由器上的防火牆規則允許WireGuard介面和您的LAN之間的流量。在伺服器上啟用IP轉發以允許流量通過通道。

使用PostUp/PostDown調整路由

您可以在WireGuard設定中使用PostUp和PostDown指令自動管理路由和防火牆規則。PostUp在WireGuard通道啟動時運行,PostDown在通道停止時運行。這有助於保持您的點對點連接穩定。

指令類型範例指令
PostUpPostUp = ip rule add ipproto tcp dport 22 table 1234
PostDownPostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
  • PostUp在啟動WireGuard通道時加入路由或規則。
  • PostDown在停用通道時刪除這些路由或規則。
  • 為保持對稱性,始終為每個PostUp指令匹配一個PostDown指令。

您還可以使用PostUp來設定WireGuard介面的DNS或網域關聯。例如,使用resolvectl dns home0 10.10.10.1來設定DNS伺服器。

測試點對點通訊

更新WireGuard VPN伺服器設定後,您需要測試端點之間的連接。按照以下步驟檢查伺服器狀態並驗證您的點對點通道:

  1. 連接到伺服器的CLI並執行wg show查看是否出現握手。
  2. 在每個對等點下查看”最新握手”行以確認通道處於活動狀態。
  3. 如果看不到握手,請嘗試從每個用戶端ping伺服器的公共IP或VPN IP。
  4. 在用戶端上,ping其他用戶端的LAN網路以檢查遠端存取。
  5. 使用iperf3等工具測試端點之間的上傳和下載速度。
  6. 執行tracerouteroute檢查路由路徑。

提示:如果仍然存在問題,執行reresolve-dns腳本或設定systemd計時器每三十秒更新所有WireGuard端點。

透過遵循這些步驟,您可以在任何點對點設定中保持WireGuard VPN伺服器、用戶端和通道的順暢運行。

動態和多個IP的進階提示

使用動態IP位址

在WireGuard設定中,您可能需要管理動態IP位址,特別是當您的端點經常更改其公共IP時。WireGuard本身不支援動態位址,因此您必須使用變通方法來保持VPN通道穩定。許多使用者依賴動態DNS(DDNS)來處理這些更改。以下是為WireGuard通道設定DDNS的簡單方法:

  1. 在路由器或伺服器上啟用DDNS以追蹤變化的IP位址。
  2. 編輯WireGuard設定,將端點的公共IP位址替換為DDNS URL。
  3. 儲存更新的設定並將其作為QR碼或.conf檔案與用戶端共享。
  4. 當IP位址發生變化時,DDNS會更新URL,允許WireGuard通道重新連接。

注意:WireGuard僅在啟動時轉換DNS位址。如果在通道處於活動狀態時IP發生變化,在重新啟動WireGuard介面之前,您可能會失去連接。

您可能會在這種設定中遇到挑戰。腳本和DDNS有幫助,但它們可能不適合生產環境。您必須監控VPN通道,如果發現連接中斷,就重新啟動WireGuard介面。

為WireGuard介面分配多個IP

您可以為單個WireGuard介面分配多個IP位址以支援複雜的網路設定。此方法幫助您透過一個VPN通道路由不同用戶端或網路的流量。您必須更新設定以包含所有需要的位址。以下是設定多個IP的常見方法:

方法範例設定
逗號分隔的IPAllowedIPs = 192.168.200.0/24, 10.0.0.0/24
多個AllowedIPs設定AllowedIPs = 192.168.200.0/24
AllowedIPs = 10.0.0.0/24

您可以在每個端點的WireGuard設定檔中使用這些選項。這種設定有助於避免位址衝突並為不同用戶端路由流量。當發生更改時,您必須手動更新VPN設定,這對大型網路來說可能是一個缺點。

  • 為每個用戶端使用不同的轉譯WireGuard位址和路由表有助於防止位址衝突。
  • 當發生更改時需要手動更新VPN設定,這對企業設定來說可能是一個缺點。
  • WireGuard的靜態網路設定意味著如果您更改設定,必須更新所有用戶端。

要高效管理多個IP,您可以為每個端點設定閘道和靜態路由。進入伺服器的路由設定並為每個WireGuard介面加入閘道。為每個站台分配正確的位址族和閘道。套用更改並加入靜態路由以指導流量穿過您的VPN通道。

提示:在對設定進行更改後,始終測試您的WireGuard設定。這一步確保每個用戶端和端點都能到達正確的網路。

常見問題

WireGuard點對點連接的最佳子網大小是多少?

您應該為點對點連結使用/31子網。這個子網提供兩個可用的IP位址。它有助於節省位址空間並保持WireGuard設定簡單。

可以為一個WireGuard介面分配多個IP位址嗎?

是的,您可以為單個WireGuard介面分配多個IP位址。在設定檔中加入每個位址,用逗號分隔。這種方法有助於管理不同網路或用戶端的流量。

如果公共IP發生變化,如何更新WireGuard?

您可以將動態DNS與WireGuard一起使用。在設定中用DDNS主機名替換端點的IP。當公共IP發生變化時,重新啟動WireGuard介面以恢復連接。

為什麼更改IP後WireGuard通道不傳輸流量?

檢查您的允許IP和路由規則。確保每個WireGuard端點都有唯一的位址。更改後重新啟動WireGuard服務。使用ping或wg show測試連接。

在Allowed IPs中使用0.0.0.0/0安全嗎?

在WireGuard中使用0.0.0.0/0會將所有流量路由通過VPN。僅在需要完整通道設定時使用此選項。對於分流,只指定您需要的網路。