使用wireguard進行埠轉發
使用 qbittorrent 和 airdcpp 等應用程序共享文件。它們都需要轉發一些埠才能“可連接”。
在家庭連接中,我會進入路由器設置
192.168.1.1
,然後轉發埠,例如。56000
到我電腦的本地 IP 地址:192.168.1.124
. 並且服務會正常工作。後來在 Linode VPS 上設置了wireguard,希望我可以通過 vpn 訪問它並屏蔽我的 IP。但是當我這樣做時,當我去像https://whoer.net這樣的地方時,我的 IP 地址會改變。但是使用的埠,例如。
56000
未轉發,因此應用程序不可“連接”。為了讓 VPS 像我的家庭路由器一樣轉發這些埠,我需要在 iptables 中添加哪些內容?
埠在活動 VPS防火牆
56000
中設置為。allow``ufw
非常感謝您的關注。
這就是我的 VPS wireguard conf 的樣子:
Address = 10.66.66.1/24,fd42:42:42::1/64 ListenPort = 49503 PrivateKey = *** [Peer] PublicKey = *** PresharedKey = *** AllowedIPs = 10.66.66.2/32,fd42:42:42::2/128
由於您使用的是 UFW,首先確保
56000
您添加的埠的 UFW 規則不是正常輸入規則,而是“路由”(又名轉發)規則,如下所示(假設它用於 TCP 埠;tcp
替換udp
為UDP):ufw route allow proto tcp to 10.66.66.2 port 56000
然後,對於要轉發的每個埠,您都需要一個像這樣的 iptables 規則(
eth0
WAN 介面的名稱在哪裡):iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 56000 -j DNAT --to-destination 10.66.66.2
如果您有一堆要轉發的單個埠,您可以使用模組的
--dports
標誌(注意s
)將它們全部(最多 15 個埠)放在同一規則中multiport
:iptables -t nat -A PREROUTING -i eth0 -p tcp -m multiport --dports 123,456,789 -j DNAT --to-destination 10.66.66.2
並且由於您使用的是 UFW,因此您可能希望將
PREROUTING
規則放在配置文件的*nat
塊中/etc/ufw/before.rules
,如下所示(假設您可能已經有類似POSTROUTING
規則的內容):# /etc/ufw/before.rules *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A PREROUTING -i eth0 -p tcp --dport 56000 -j DNAT --to-destination 10.66.66.2 -A POSTROUTING -o eth0 -j MASQUERADE COMMIT
如果您的文件中還沒有
*nat
塊/etc/ufw/before.rules
,請將其添加到文件末尾。進行更改後重新啟動 UFW。