Как выставить мой скрытый веб-сервер через Wireguard на publi c VPS - PullRequest
0 голосов
/ 25 марта 2020

У меня есть веб-сервер с несколькими ТБ данных на компьютере за NAT. Я хочу выставить его на Inte rnet через VPS, который у меня есть на Azure.

Итак, я подумал, что 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 на том же компьютере, показывает, что веб-сервер работает нормально на порту 9000:

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

То, что конечная точка 13.66.155.255 - это IP VPS. Итак, теперь я настраиваю свой Ubuntu 19.10 VPS на Azure. Итак 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 поверх этого?

...