2015-10-26 1 views
0

У меня есть сеть.Порт карты на пограничном сервере для внутренних служб SSH

Существует пограничный сервер с общедоступным IP-адресом.

Существует несколько внутренних служб 192.168.0.{1..255} с SSH, работающим на порту 22, к которому можно получить доступ через частную сеть с пограничного сервера.

У меня есть клиенты, подключающиеся извне сети к пограничному серверу на диапазоне портов 30001-30255. Мне нужно сопоставить эти соединения с внутренними службами SSH так:

  • ssh -p 30001 myedgeserver.com ->192.6.0.1:22
  • ssh -p 30002 myedgeserver.com ->192.6.0.2:22
  • ...
  • ssh -p 30255 myedgeserver.com ->192.6.0.255:22

Может это достигается с помощью iptables?

ответ

2

Да. Вы делаете nat для каждого из 255 портов. Я не знаю, что вы можете сделать это в одной строке. Итак, 255 строк:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 30001 -j DNAT \ 
    --to 192.6.0.1:22 
+0

Выглядит хорошо. Просто не работает через интерфейсы. Общественные связи от eth0, а внутренние - eth1. Что мне нужно изменить? –

Смежные вопросы