
我的 ISP 用戶 CGNAT 沒有靜態 IP 位址,但我想連接到我的 AWS 子網路。我嘗試為 OpenVPN 伺服器建立虛擬機,但這樣我只能連接到伺服器虛擬機,除非我在所有其他虛擬機器上進行設定。在沒有靜態 IP 位址的情況下如何連接到我的子網路?
答案1
我沒有使用 OpenVPN 的經驗,但是,透過簡單的wireguard 設置,您可以擁有一個wireguard 伺服器,該伺服器可以允許存取任意數量的私有子網路。
在這個範例中,10.xx.xx.x
是我的私有子網,192.168.x.x
是我的wireguard 網路。
- 選擇或設定專用電腦作為wireguard 伺服器並設定基本配置。例如伺服器端
[Interface]
Address = 192.168.200.1
PrivateKey = ...
ListenPort = 51820
[Peer] # Enes home computer
PublicKey = ...
AllowedIPs = 192.168.200.2
和客戶端
[Interface]
PrivateKey = ...
Address = 192.168.200.2
ListenPort = 51820
[Peer]
PublicKey = ...
Endpoint = your.wg.server
AllowedIPs = 192.168.200.1/32, 10.0.0.0/8 # We can route whatever we want!
- 配置wireguard伺服器以允許IP轉發,例如使用sysctl設定:
sysctl -w net.ipv4.ip_forward=1
sysctl -w net.ipv6.conf.all.forwarding=1
- 設定wireguard伺服器以允許偽裝,例如使用firewalld,wireguard介面所在區域(例如內部)的自訂規則
firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.211.0/24" masquerade' --permanent
firewall-cmd --reload
應該就是這樣。用於wg
驗證wireguard 是否正常運作,並且您應該能夠 ping 通10.x.x.x
wireguard 伺服器可以ping 通的任何位址。
我使用單一wireguard 伺服器虛擬機器針對具有數百台電腦的數十個私有子網路執行此設定。