상태가 있나요?사용자 공간리눅스용 방화벽? 저는 Linux 커널(예: iptables/netfilter)에 의존하지 않고 원시 패킷을 처리하는 방화벽을 찾고 있습니다.
답변1
iptables
추가 처리를 위해 선택한 패킷을 사용 공간으로 라우팅할 수 있습니다. (귀하의 경우선택한 패킷의미할 수도 있다모든 패킷.) 나는 그것을 하지 않았지만 man iptables
그 문제에 대해 다음과 같이 말했습니다.
표적
ACCEPT는 패킷이 통과하도록 허용한다는 의미입니다. DROP은 패킷을 바닥에 떨어뜨리는 것을 의미합니다.QUEUE는 패킷을 사용자 공간으로 전달하는 것을 의미합니다.(사용자 공간 프로세스가 패킷을 수신하는 방법은 특정 대기열 처리기에 따라 다릅니다. 2.4.x 및 2.6.x 커널 최대 2.6.13에는 ip_queue 대기열 처리기가 포함되어 있습니다. 커널 2.6.14 이상에는 nfnetlink_queue 대기열 처리기도 포함되어 있습니다.이 경우 QUEUE로 향하는 패킷은 대기열 번호 "0"으로 전송됩니다. 이 매뉴얼 페이지 뒷부분에 설명된 NFQUEUE 대상도 참조하십시오.)
그 다음에,
NFQUEUE [...]는 QUEUE 대상의 확장입니다.QUEUE와 달리 16비트 대기열 번호로 식별되는 특정 대기열에 패킷을 넣을 수 있습니다. [...] nfnetlink_queue 커널 지원이 필요합니다.
물론 이것이 상태 저장 방화벽 지원을 제공하지는 않지만 최소한 패킷을 얻을 수는 있습니다. 이는 또한 iptables
처음에 사용자에게 패킷을 보내는 데 사용되는데 , 이는 허용되지 않을 수 있습니다.