2

我在 NAT 后面的计算机上有一个带有几 TB 数据的 Web 服务器。我想通过我在 Azure 的 VPS 将它公开到 Internet。

所以,我认为 WireGuard 将是一个很好的工具,但我无法弄清楚如何做到这一点的配置。

这是wg0.conf在那个背后的 NAT 服务器上:

[Interface]
PrivateKey = OBUNhf6***
Address = 192.168.10.2/24

[Peer]
PublicKey = sUukxiqVNJQpcUVLYu/+fmHH+K9qD7Ol9CipOdlOc3c=
AllowedIPs = 192.168.10.1/24
Endpoint = 13.66.155.255:8101
PersistentKeepalive = 25

在同一台计算机上运行 curl,显示 Web 服务器在端口 9000 上工作正常:

$ curl -s http://192.168.10.2:9000/
<html><head>
<title>Welcome to nginx!</title>
...

那个 13.66.155.255 端点 - 是 VPS 的 IP。所以,现在,我正在 Azure 上配置我的 Ubuntu 19.10 VPS。所以wg0.conf

[Interface]
PrivateKey = sDH1wvnyRKE***
ListenPort = 8101
Address = 192.168.10.1/24
Table = 1234
PostUp = ip rule add ipproto tcp dport 9000 table 1234
PreDown = ip rule delete ipproto tcp dport 9000 table 1234

[Peer]
PublicKey = cnHwqyRLukwYoYw8nl+PH57ZsCKnMmStmXBAZSRNfx0=
AllowedIPs = 192.168.10.0/24

我在两台计算机上都启动了 WireGuard。看起来 KeepAlive 数据包传输成功(我看到传输增加)。

我可以像这样从 VPS 中打开该网络服务器:

VPS# curl 192.168.10.2:9000
<html><head>
<title>Welcome to nginx!</title>
...

但我无法从 VPS 外部打开该网络服务器:

% curl http://13.66.155.255:9000/        
curl: (7) Failed to connect to 13.66.155.255 port 9000: Connection refused

我的 Azure 防火墙 (NSG) 开放了 8101 和 9000 端口。
我的 Ubuntu 防火墙已禁用。
启用内核 PF:net.ipv4.ip_forward=1

我错过了什么?iptables我应该在此之上进行某种配置吗?

4

0 回答 0