Есть ноутбук, подключенный к интернету через wlan0. В нем также присутствует Ethernet адаптер, через который он раздает интернет другому ноуту. Как я могу организовать поток пакетов через свое приложение, в котором я буду обрабатывать эти пакеты, если нужно (шифровка, модификация и т.п), либо просто пропускать далее? Видел решение на FreeBSD с помощью ipfw и DIVERT сокетов. Но там он встроен в ядро и ipfw дефолтный, по-этому работает быстро и как надо. В Linux на ум приходят только 2 решения:
- заюзать IP-aliasing + iptables, что, ИМНО, как-то не очень
- сделать это с помощью netmap-ipfw. Он тоже билдится в ядро и работает очень шустро.
Или есть другие более элегантные решения, которые работать будут также шустро?
- UPD1: обрабатывать нужно ВЕСЬ траффик.
- UPD2: netmap работает достаточно быстро или все же нужно для этого писать свой модуль ядра?