Маршрутизация уровня 3 на основе содержимого пакетов HTTP

Я ' Есть ли эта возможность в операционных системах или на основе Unix или ?

2
задан 1 December 2015 в 11:24
2 ответа

Для BSD я бы посмотрел в relayd (8) - его родной для OpenBSD, но я считаю, что FreeBSD тоже имеет порт. Он довольно мощный и может делать больше, чем несколько вещей (например, прокси, балансировщик нагрузки, шлюз приложений), включая то, что вы запрашиваете.

Прочтите справочные страницы, особенно разделы «Правила фильтрации» и «Протоколы»:

Определенно переходите к списку рассылки openbsd 'misc', если у вас есть проблемы. Сообщество работает быстро, а автор часто доступен.


relayd тесно связан с пакетным фильтром pf , что позволяет ему совместно создавать правила для уровней 3 и 7

2
ответ дан 3 December 2019 в 10:01

Проблема, которую я вижу здесь, заключается в том, что вам нужно принять TCP-соединение, прежде чем вы увидите http-запрос. Таким образом, даже если бы система могла использовать данные уровня приложения, у нее не было бы этих данных в то время, когда ей нужно решить, куда должно идти соединение.

Я не думаю, что есть большой выбор, кроме как иметь «обратный прокси» который завершает TCP-соединение от клиента, а затем устанавливает прямое TCP-соединение с исходным сервером.

2
ответ дан 3 December 2019 в 10:01

Теги

Похожие вопросы