Potrzebuję kontrolować ruch przychodzący i wychodzący do/z Linuxa z poziomu programu C++. Mógłbym zadzwonić pod numer iptables
z mojego programu, ale wolę wyciąć środkowego człowieka i uzyskać dostęp do funkcji API jądra.iptables C++ control
Uważam, że muszę użyć libnfnetlink, jednak nie udało mi się znaleźć dokumentacji interfejsu API ani przykładowych programów.
Reguły, które muszę zbudować, są dość proste - takie rzeczy jak upuszczanie pakietów z portem docelowym równym X itd. NIE mam zamiaru pisać pełnej aplikacji firewall.
Czy ktoś może zaproponować lepsze podejście lub podać link do niektórych dokumentów lub przykładowych aplikacji? Wolę unikać czytania kodu iptables, ale chyba nie będę musiał, jeśli nie znajdę lepszych zasobów.
To jest dupę http://stackoverflow.com/questions/109553/how-can- i-programatycznie-zarządzaj-iptables-rules-on-the-fly – Claris
Jeśli martwisz się o obciążenie popen/vfork, możesz użyć innego procesu, aby upakować wszystkie zmiany iptables i zatwierdzić je raz na jakiś czas za pomocą iptables-restore. – anttir