Amazon-Web-Services
連接到沒有靜態 IP 地址的 AWS 私有子網
我的 ISP 使用者 CGNAT 和我沒有靜態 IP 地址,但我想連接到我的 AWS 子網。我嘗試為 OpenVPN 伺服器創建一個虛擬機,但這樣我只能連接到伺服器虛擬機,除非我在所有其他虛擬機上進行了設置。如何在沒有靜態 IP 地址的情況下連接到我的子網?
我沒有使用 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 是否正常工作,並且您應該能夠ping10.x.x.x
到wireguard 伺服器可以ping 通的任何地址。我使用單個 Wireguard 伺服器虛擬機針對具有數百台機器的數十個私有子網執行此設置。