2

Короче говоря, у моего провайдера есть двойной NAT = я не могу открыть ЛЮБЫЕ порты.

Мой маршрутизатор работает под управлением прошивки Tomato, и у меня есть его клиент OpenVPN, связанный с VPS, на котором работает OpenVPN. Я могу перенаправить интернет моей домашней сети через OpenVPN, через VPS, и все, кажется, работает.

НО

Я хочу открыть порты, чтобы вернуться в свою сеть извне: 3389 для удаленного рабочего стола, 32400 для PLEX, моя IP-камера ... Все мои вещи.

Может кто-нибудь дать мне объяснение "Для чайников", как это сделать?

1 ответ1

0

Мои соболезнования по поводу двойного NAT.

Если у вас есть root-доступ на VPS, попробуйте использовать переадресацию порта назначения с помощью iptables (DNATing). На VPS выполните следующие команды

sysctl -w net.ipv4.ip_forward=1   #see link above to make this setting survive reboots
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to-destination x.y.z.w

где eth0 - интернет-интерфейс VPS, а x.y.z.w - IP-адрес вашего домашнего компьютера через туннель OpenVPN. Возможно, вам придется повторить приведенные выше команды с заменой -p tcp на -p udp если пересылаемая служба требует как TCP, так и UDP. Если у вас есть политика DROP по умолчанию в цепочке FORWARD (маловероятно), вам нужно что-то вроде iptables -A FORWARD -i eth0 -p tcp --dport 80 -d x.y.z.w -j ACCEPT

Совершенно другой способ переадресации портов TCP - использовать ssh с опцией -R . Выполните следующую команду на вашем домашнем компьютере

ssh -N -R *:3389:x.y.z.w:3389 user@m.n.o.p

где x.y.z.w - как указано выше, m.n.o.p - это IP-адрес вашего VPS, а user - ваш ssh-логин на VPS. Вам нужно установить GatewayPorts yes в /etc/ssh/sshd_config (и перезапустить sshd) на VPS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .