перенаправление порта на внутренний сервер

Я запускаю сервер openvpn на моем VPS с общедоступным IP. К VPN подключен внутренний сервер. Это IP-адреса в VPN: VPS: 10.8.0.1 внутренний сервер: 10.8.0.2. eth0 - это общедоступный интерфейс, tun0 - это интерфейс VPN

Теперь я бы хотел перенаправить, например, порт 22 внутреннего сервера на порт 2200 на VPS. Вот что я сделал на VPS (на основе нескольких руководств и уже заданных вопросов):

  1. открыл порт 2200
  2. включил пересылку IPv4
  3. поместил это в /etc/ufw/before.rules (да, я ' m с помощью ufw, и он работает правильно):

    * nat

    : PREROUTING ACCEPT [0: 0]

    : POSTROUTING ACCEPT [0: 0]

    -A PREROUTING -i eth0 -p tcp - dport 2200 -j DNAT --to-destination 10.8.0.2:22[12227 impression-A POSTROUTING -d 10.8.0.2 -p tcp --dport 22 -j SNAT --to-source VPS-public-IP: 2200

    -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

  4. Перезагрузил ufw или даже перезагрузил все ...

  5. Пробовал другие решения, закомментировав некоторые строки (например, первое правило POSTROUTING выше). Очевидно, ничего не помогло.

В выводе nmap VPS-public-IP -p 2200 говорится, что порт "отфильтрован", и когда я пытаюсь подключиться к порту 2200 по ssh, он просто зависает и ничего не делает, Я даже не получаю никаких ошибок - это также происходит, когда я пытаюсь передать ssh с VPS на внутренний сервер через VPN (что обычно работает). Что мне не хватает?

0
задан 19 March 2018 в 22:07
1 ответ

Для людей, которые, возможно, все еще ищут решение.

В зависимости от вашей политики FORWARD (при условии ее DROP)

iptables -t nat -A PREROUTING -p tcp -d xx.xx.xxx.xxx --dport 80 
         -j DNAT --to-destination yyy.yyy.yy.yy:80
iptables -A FORWARD  -p tcp -d yyy.yyy.yy.yy --dport 80 -j ACCEPT
Result:  x:80 --> X --y:80--> Y

iptables -t nat -A POSTROUTING -p tcp -d yyy.yyy.yy.yy --dport 80
         -j SNAT --to-source xx.xx.xxx.xxx
Result:  x:80 --> X <--y:80--> Y

iptables -A FORWARD  -p tcp -s yyy.yyy.yy.yy --sport 80 -j ACCEPT
Result:  x:80 <--> X <--y:80--> Y

Также можно добавить это правило для локально инициируемых подключений: x - > x: 80

iptables -t nat -A OUTPUT -p tcp --dport 80 -d xx.xx.xxx.xxx
         -j DNAT --to-destination yyy.yyy.yy.yy:80  
Result:       
  x:80 ->- X <--y:80--> Y
     |_____V
0
ответ дан 5 December 2019 в 06:22

Теги

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