C++ 프로그램 내에서 리눅스 박스로 /부터 인바운드 및 아웃 바운드 트래픽을 제어해야합니다. 내 프로그램 내에서 iptables
라고 부를 수는 있지만 중간 사람을 잘라 내고 커널 API 함수에 직접 액세스하고 싶습니다.iptables C++ 컨트롤
나는 libnfnetlink을 사용할 필요가 있다고 생각하지만, API 문서 또는 예제 프로그램을 찾을 수 없었습니다.
내가 구축해야하는 규칙은 상당히 간단합니다. 대상 포트가 X와 같은 패킷을 버리는 것과 같은 것입니다. 전체 방화벽 응용 프로그램을 작성하지는 않습니다.
누구나 더 나은 접근 방식을 제안하거나 일부 문서 또는 예제 응용 프로그램에 대한 링크를 제공 할 수 있습니까? 차라리 iptables 코드를 읽는 것을 피할 것이지만 더 나은 리소스를 찾을 수 없다면 내가해야 할 것 같습니다.
이것은 http://stackoverflow.com/questions/109553/how-can- i-programatically-manage-iptables-rules-on-the-fly – Claris
popen/vfork 오버 헤드가 걱정된다면 다른 프로세스를 사용하여 모든 iptables 변경 사항을 쌓아 올리고 iptables-restore를 사용하여 한 번씩 커밋 할 수 있습니다. – anttir