Как получить пакеты, поставленные в очередь фильтром пакетов ядра?

Я сделал простой HTTP-прокси, который принимает подключения от клиентов на фиксированном порту; прокси-вилки для каждого входящего соединения, а разветвленный процесс связан с потоком пакетов в Интернет и из Интернета; реализован простой QOS, пакеты хранятся в трех разных очередях в соответствии с их уровнем приоритета (минимальным, средним, максимальным) и затем отправляются в порядке приоритета.

Пока все хорошо, но мой прокси-сервер не совсем там, где он должен быть: прокси-сервер находится на моем ноутбуке, а клиенты, которые должны подключаться к прокси-серверу, – это только мой ноутбук: так что прокси работает, но это не реальный случай (я не хочу прокси на локальном компьютере, я хочу, чтобы он был «снаружи»).

Теперь, когда этап тестирования завершен, я хочу перенести свой прокси-сервер на внешний объект, где (я предполагаю) это должно быть: например, моя малина Pi 2, но прежде чем сообщить мне о переносе этого вопроса, пожалуйста, узнайте о моей проблеме , Я читал вопросы в Rackberry Stack Exchange, и все они касаются датчиков, как подключить Pi к монитору или проблемы с Bluetooth.

Моя проблема связана с библиотеками в базовой ОС, Raspbian, операционной платформе Debian, поэтому я подумал, что этот Stack Exchange будет подходящим местом.

Я пробовал первый подход с libnetfilter_queue (всегда с прокси-сервером на моем ноутбуке) и с флагом iptables , NFQUEUE , у меня была очередь (-ы) пакетов (для копирования в моей очереди, DROP их и отправки их снова, когда время пришел с сырым сокетом): но мой RPi может быть мультиинтерфейсом (он может содержать до четырех ключей Wi-Fi, поскольку это точка доступа, а также кабель Ethernet, с которым он подключен к моему модему) и мой руководитель сказал, что libnetfilter_queue не подходит для моей цели, поскольку он не может иметь дело с более чем одним интерфейсом, и он имеет трудности при выборе того, какой интерфейс использовать для отправки пакетов.

В итоге: у меня есть прокси-сервер на моем ноутбуке, я бы хотел его перенести в свой RPi (так что помимо точки доступа он также должен предлагать QOS), но я не знаю, как перенаправить пакеты с один интерфейс wlan0 (или все четыре из них) для моего прокси, предназначенный для прослушивания порта, переданного main программе.

libnetfilter_queue (по-видимому) не является опцией, поэтому какую библиотеку / API я могу использовать?

Это часть моей диссертации, поэтому я предпочитаю использовать библиотеки и / или API для интеграции с моим кодом, а не для использования уже существующих программ.

Спасибо за вашу помощь.

Interesting Posts

Почему я получаю ошибку InitDevice :: CreateDevice, когда пытаюсь запустить «Пираты Карибского моря» с Вином?

Пытался сделать минимальную установку Debian с помощью netinst – но все еще установлен GIMP и Libreoffice

Изменить значение по умолчанию для Nautilus (file_manager) с «Забыть пароль немедленно»?

Задания подобны командам с статусом выхода, за исключением случаев, когда есть замена команды?

Как изменить команду запуска терминала в Linux Mint?

выражение grep, чтобы найти число

если инструкция в .bashrc работает неправильно

Как я могу запускать локальные приложения через firejail?

Перезапустить звуковой индикатор в ubuntu

как отключить USB-устройства на основе идентификатора поставщика в среде Linux?

Удаляются ли ссылки в / tmp-файлы?

Как новые идентификаторы пользователей автоматически вычисляются по умолчанию в Linux?

Добавление значений

Больше звуков уведомлений

Cinnamon разбился после установки драйверов nvidia

Linux и Unix - лучшая ОС в мире.