LINUX.ORG.RU

Интеллектуальный forward


0

0

Есть локалка в которой живет несколько сервисов, но наружу виден только один хост из это сети, при чем входящие соединения возможны только на один порт 80 (политика провайдера) Можно ли в зависимости от протокола форвардить входящие соединения на правильные хосты внутри локалки? И как это сделать?

Например если входящее соединение это протокол rpd, то его надо форварднуть на хост A, если https то на b если ssh то на C


Ну маркируйте пакеты в mangle/PREROUTING и через "ip rule fwmark" определяйте таблицу маршрутизации для пакета, а в каждой таблице маршрутизации свои маршруты.

Но я не совсем понял, "входящие соединения возможны только на один порт 80" и "если https то на b если ssh то на C" как входящие соедение на порт 80 и при этом https?

mky ★★★★★
()
Ответ на: комментарий от dvalov

Есть расширение iptables layer7, но, наверное оно вам не подойдет. Если я правильно понял, вы хотите засунуть все протоколы в один порт.

mky ★★★★★
()
Ответ на: комментарий от mky

да! Я хочу чтобы все протоколы приходили на один порт, а дальше в зависимости от типа протокола переадресовывались в нужное место

dvalov
() автор топика
Ответ на: комментарий от dvalov

ИМХО, это невозможно. По первому (SYN)-пакету не установить к какому протоколу он относится. Чисто теоретически можно предположить программу, которая будет такми универсальным прокси, принимать любой коннект и как только определит протокол передавать коннект на нужный сервер. Но, наверное, не со всеми протоколами так получится.

В общем, ищите сервер на стороне и поднимайте тунель между ним и вашим 80-ым портом.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.