Как пробросить порт из внешнего интерфейса на внутренний в зависимости от домена? Есть машина на ней стоит Debian 9. Есть сервис который на этой машине крутится на 81 порту. Можно ли как-то сделать так, чтобы другие машины приходили на эту по ее IP адресу например 43.22.13.42 на 80 порт через браузер, при этом у них в файлике hosts прописана DNS связь для этого IP как gitlab.local например.
В общем суть, ловить запросы нужно на 80 порту на внешнем интерфейсе и в зависимости от домена отправлять на разные порты 80-100 например внутрь. Как такое делается на линуксе?
Заранее спасибо, кто-то точно знает)

21 Авг 2019 в 06:40
155 +1
0
Ответы
1

Для такой задачи можно воспользоваться утилитой iptables, которая позволяет настраивать правила межсетевого экрана в Linux. В вашем случае, можно создать правило, которое будет перенаправлять трафик с внешнего интерфейса на внутренний в зависимости от домена.

Вот пример команд для настройки такого правила:

# Проброс порта 80 на порт 81 внутри хоста
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 81
# Проброс порта 80 на порт 82 внутри хоста для домена gitlab.local
iptables -t nat -A PREROUTING -p tcp -d 43.22.13.42 --dport 80 -m string --string "Host: gitlab.local" --algo bm -j REDIRECT --to-port 82

Обратите внимание, что вам может понадобиться установить дополнительные модули для поддержки совпадения содержимого заголовка Host, например, модуль xt_string. Установить его можно с помощью команды:

sudo apt-get install xtables-addons-common

После настройки правил iptables, вам также потребуется настроить соответствующие сервисы (в вашем случае настройка GitLab) на машинах внутри сети, чтобы они принимали трафик на нужных портах.

Помните, что настройка iptables требует особой осторожности, так как неправильные правила могут привести к блокировке сети или утечке информации. Будьте внимательны при настройке!

20 Апр в 13:14
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 683 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир