iptables
permitirá que você direcione os pacotes selecionados para o espaço de uso para processamento adicional. (No seu caso pacotes selecionados significaria todos os pacotes .) Eu não fiz isso, mas man iptables
tem isto a dizer sobre o assunto:
TARGETS
ACCEPT means to let the packet through. DROP means to drop the packet on the floor. QUEUE means to pass the packet to userspace. (How the packet can be received by a userspace process differs by the particular queue handler. 2.4.x and 2.6.x kernels up to 2.6.13 include the ip_queue queue handler. Kernels 2.6.14 and later additionally include the nfnetlink_queue queue handler. Packets with a target of QUEUE will be sent to queue number '0' in this case. Please also see the NFQUEUE target as described later in this man page.)
e mais tarde,
NFQUEUE [...] is an extension of the QUEUE target. As opposed to QUEUE, it allows you to put a packet into any specific queue, identified by its 16-bit queue number. [...] it requires the nfnetlink_queue kernel support.
Claro, isso não lhe dá suporte a firewalls, mas pelo menos você pode acessar os pacotes. Isso também usa iptables
para obter os pacotes para você em primeiro lugar, o que pode ser inaceitável.