Назад | Перейти на главную страницу

IPTables - изменение порта исходящих и входящих пакетов

Можно ли настроить IPTables таким образом, чтобы все исходящие пакеты на определенный IP-адрес и порт заменялись другим портом и делали то же самое для входящих пакетов?

Мне постоянно приходится работать с сервером, и хостер решил, что доступ по SSH будет возможен только через порт 222 вместо порта 22 по умолчанию.

Это всегда вызывает головную боль при использовании ssh, scp или rsyncing. Вы всегда должны помнить о добавлении параметра порта.

Я хотел бы обойти это с помощью IPTables.

Любая помощь очень ценится.

Да, безусловно, должна быть возможность настроить правила iptable для исходящего трафика NAT. Вам действительно нужно только создать правило, которое имеет дело с выходным трафиком. Вам не нужно правило, чтобы что-либо делать с возвращающимися пакетами. Государственная природа netfilter решит это за вас.

Возможно, вам понадобится использовать одно из этих правил.

# if you want to redirect requests from the local machine
iptables -t nat -A OUTPUT--destination remote.host.ip \
         -p tcp  --dport 22 -j DNAT --to-destination remote.host.ip:222

# if you want to redirect requests on a device inline
iptables -t nat -A PREROUTING --destination remote.host.ip \
         -p tcp  --dport 22 -j DNAT --to-destination remote.host.ip:222

Еще одно простое решение - просто настроить файл конфигурации SSH для сервера и указать порт в конфигурации.

# list of all names, you might commonly use for this host.
Host foo foo.example.org foo.example 
    # real hostname
    Hostname real.example.org
    Port 222

Я бы рекомендовал прочитать это ссылка на сайт. Если вы все же решите это сделать, я также настоятельно рекомендую использовать следующие шаги безопасности для SSH и общедоступного IP-адреса.

  1. Не разрешайте вход в систему с правами root.
  2. Разрешить открывать этот порт только с определенных IP-адресов.
  3. Иметь аутентификацию на основе ключей.
  4. Используйте такие инструменты, как denyhosts, чтобы заблокировать любые попытки грубой силы.