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

Я сделал простой 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 для интеграции с моим кодом, а не для использования уже существующих программ.

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

  • Как правильно настроить потоковые службы QoS на OpenWRT
  • Нет опции «rwnd» для «ip route» для управления окном приема?
  • Справедливая классификация трафика с использованием TC
  • Как ограничить трафик P2P / torrent на маршрутизаторе OpenWrt 10.03?
  • Управляющая полоса пропускания с iptables
  • Почему не работают следующие команды для ограничения трафика на порт 21 с помощью tc?
  • Не удается получить tc для ограничения сетевого трафика
  • shorewall - VoIP - буфер дрожания
  • QoS с TC qdiscs: возможно ли, чтобы ВСЕ исходящие соединения имели ограничение скорости x на уникальный IP?
  • Как изменить ограничение скорости для запуска экземпляра стекания
  • как получить статистику QoS сети в ядре linux?
  • Linux и Unix - лучшая ОС в мире.