Рейтинг:2

Как перенаправить привилегированный порт ниже 1024 на непривилегированный порт 1024+ с помощью firewalld?

флаг gb

Вопрос

Как перенаправить привилегированный порт ниже 1024 на непривилегированный порт 1024+ с помощью firewalld?

Причина

Почему мы это делаем? Мы хотим иметь возможность переключать непривилегированный порт 1050 на шлюзе и использовать другой вышестоящий почтовый сервер. Например, чтобы протестировать другое решение для борьбы со спамом, используйте порт 1051 для отправки почты на другой почтовый сервер с другим решением для фильтрации спама.

Почтовые серверы автоматически подключаются к шлюзу при запуске. Автоматическое подключение может происходить только на непривилегированных портах 1024+.

Макет и настройка

Макет

+--------+ +---------------------+ +---------------- +
| БЛЕДНАЯ | | 1050 | <- | |
| Клиент | | Шлюз | \ | Почтовый сервер |
| | <---> | 25 | -> | 25 |
+--------+ +---------------------+ +---------------- +

Настройка брандмауэра

Очистите брандмауэр, откройте порт, установите порт вперед и добавьте несколько служб.

root@gateway:~# firewall-cmd --reload
root@gateway:~# firewall-cmd --zone=public --add-port=25/tcp
root@gateway:~# firewall-cmd --zone=public --add-forward-port=port=25:proto=tcp:toport=1050
root@gateway:~# firewall-cmd --add-service={http,https,smtp}

Проверить брандмауэр

Подтвердите настройки брандмауэра...

root@gateway:~# firewall-cmd --list-all
публичный (активный)
  цель: по умолчанию
  icmp-инверсия блока: нет
  интерфейсы: это0
  источники: 
  сервисы: dhcpv6-клиент http https smtp ssh
  порты: 25/TCP
  протоколы: 
  маскарад: нет
  переадресация портов: порт = 25: proto = tcp: toport = 1050: toaddr =
  исходные порты: 
  icmp-блоки: 
  богатые правила: 

Это то, что мы ожидали увидеть в правилах брандмауэра.

Результат

Вот что мы получаем, когда подключаемся по телнету к восходящему почтовому серверу на шлюзе...

root@gateway:~# telnet localhost 1050
Пытаюсь 127.0.0.1...
Подключен к локальному хосту.
Экранирующий символ '^]'.
220 debian10email.debian10email Постфикс ESMTP (Debian/GNU)

Это то, что мы получаем от удаленной клиентской машины...

client@client123:~$ telnet gateway.example.org 25
Попытка <IP_of_gateway>...
Подключен к gateway.example.org.
Экранирующий символ '^]'.

Мы также ожидаем увидеть 220 debian10email.debian10email Постфикс ESMTP (Debian/GNU) линии, но не являются.

Санитарная проверка...

Тест

Чтобы убедиться, что правила переадресации портов написаны правильно, мы...

  • Откройте порт 1025 на брандмауэре.
  • Перенаправление портов с 1025 на 1050
  • А потом проверяем, что мы видим на удаленном клиенте.

Настроить брандмауэр

Очистите брандмауэр, откройте порт, установите порт вперед и несколько служб.

root@gateway:~# firewall-cmd --reload
root@gateway:~# firewall-cmd --zone=public --add-port=1025/tcp
root@gateway:~# firewall-cmd --zone=public --add-forward-port=port=1025:proto=tcp:toport=1050
root@gateway:~# firewall-cmd --add-service={http,https,smtp}

Проверить брандмауэр

root@gateway:~# firewall-cmd --list-all
публичный (активный)
  цель: по умолчанию
  icmp-инверсия блока: нет
  интерфейсы: это0
  источники: 
  сервисы: dhcpv6-клиент http https smtp ssh
  порты: 1025/TCP
  протоколы: 
  маскарад: нет
  переадресация портов: порт = 1025: proto = tcp: toport = 1050: toaddr =
  исходные порты: 
  icmp-блоки: 
  богатые правила: 

Результат

client@client123:~$ telnet gateway.example.org 1025
Попытка <IP_of_gateway>...
Подключен к gateway.example.org.
Экранирующий символ '^]'.
220 debian10email.debian10email Постфикс ESMTP (Debian/GNU)

У нас есть ожидаемое 220 debian10email.debian10email Постфикс ESMTP (Debian/GNU) line, поэтому брандмауэр выполняет переадресацию портов, как и ожидалось.

Заключение

Переадресация между привилегированными и непривилегированными портами отличается от переадресации между непривилегированными портами.

Как перенаправить привилегированный порт ниже 1024 на непривилегированный порт 1024+ с помощью firewalld в Debian 10 Buster? Если где-то есть ответ, укажите, пожалуйста.Нам не удалось его найти.

user371793 avatar
флаг gb
Мистер @MichaelHampton, вы правы! Мой провайдер VPN блокировал исходящий трафик на порту 25, хотя они сказали, что это не так. Я переключаюсь на другой производственный почтовый сервер и с помощью telnet могу получить доступ к вышестоящему почтовому серверу через шлюз. Если вы напишете свой комментарий как ответ, я отмечу его как ответ. В очередной раз благодарим за помощь.
Рейтинг:1
флаг cz

Ваша конфигурация firewalld выглядит правильной.Разрешается ли тестируемому компьютеру выполнять исходящие подключения к порту 25? Попробуйте с другой машины.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.