subj: iptables NAT from kernel space
Прошу оказать помошь, указать на документацию и примеры.
Очень приветствуются примеры и документация на русском (с аглицким сложно, но тоже приветствуется).
Задача следующая:
Создавать и удалять правила NAT из ядра (в смысле мой код находится в ядре).
Можно было б делать это путем вызова iptables из user space, однако есть сложность: как удалить все записи NAT для конкретного ip-интерфейса (для комманды --flush нельзя задать конкретный ip-интерфейс).
Собственно вопрос:
Как лучше (не в смысле быстродействия, а удобнее и корректнее) работать с netfilter: открыв к нему сокет и общаясь через сокет (тогда где посмотреть формат данных?) или использовать непосредственно его функции (насколько сложно будет отследить флаги и прочие нюансы, дабы мои действия не привели к сбою в работе ядра)?
Еще вопрос, как правильно проверять загружены ли модули и как их загрузить.
Еще раз прошу о примерах.
Сейчас роюсь в исходниках, но это немного сложно для меня, однако пока единственный выход.
Спасибо за внимание!