Как перенаправить веб-порт без потери доступа по протоколу http?

Я настраивал NextCloudPi на Raspberry Pi дома, и он работает довольно хорошо. Однако конфигурация NAT с модемом adsl нестабильна. Поэтому я настроил сервер Tinc VPN на DigitalOcean (сервер Tinc), к которому подключен NextCloudPi.

На сервере Tinc я настроил переадресацию портов с помощью iptables. Это сценарий, который я использую для его активации:

sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 10.0.7.3:80
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-destination 10.0.7.3:443
iptables -t nat -A POSTROUTING -j MASQUERADE

Однако последний код, MASQUERATE, не позволяет серверу Tinc подключаться к http (то есть серверу apt). Пока что я нашел решение деактивировать правила iptables, когда мне нужно обновить сервер Tinc, но я уверен, что есть лучший способ сделать это.

Вопрос: можно ли улучшить сценарий iptables, чтобы он не блокировал доступ к серверам apt?

В качестве альтернативы я мог бы адаптировать правила iptables для перенаправления порта 8080 сервера Tinc на NextCloudPi 80 порт, но мне пока не удалось (NextCloudPi использует порты 80 (http) и 443 (https)).

Заранее благодарим за ваши предложения!

Пьер

0
задан 16 January 2020 в 14:15

1 ответ

Хорошо, в конце концов я нашел решение на случай, если кто-то еще столкнется с той же проблемой: добавление параметра «-o [net]» в правило MASQUERADE:

iptables -t nat -A POSTROUTING -o [VPN/internal network] -j MASQUERADE

С уважением, Пьер

0
ответ дан 17 January 2020 в 22:09

Другие вопросы по тегам:

Похожие вопросы: