Туннельные порты, через VPS с OpenVPN, в мою домашнюю сеть через Tomato Router

970
JohnnyB

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

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

НО

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

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

2
Кстати: мой VPS работает под CentOS-6 JohnnyB 6 лет назад 0

1 ответ на вопрос

0
tuntap

Мои соболезнования по поводу двойного 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.

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