Quote:
Originariamente inviato da alfonsor
devi provare sul router con test reali; magari con una lista di 1000 ip da bloccare e vedere quanto rallenta le cose
|
Stavo provando ma per questioni di tempo mi sono un pò arenato. Se qualcuno vuole proporsi per compilare il mio programmino su mips gli passo il source.
Quote:
Originariamente inviato da alfonsor
credo di aver intuito, che devi prima mettere una regola per fare un mark per un dest ip e quindi cercare quel mark nel listener via nfq_get_nfmark
|
Ho usato un'altra strada riducendo le regole iptables a una soltanto, tutto il traffico passa per quella regola che non fa altro che accodare nella nfqueue. Questa è la regola per girare tutto il traffico in input (ma in teoria potrebbe essere limitata ad un range di porte, c'è più libertà di azione):
Codice:
iptables -A INPUT -j NFQUEUE --queue-num 0
Questa è la regola per rimuovere il forward:
Codice:
iptables -D INPUT -j NFQUEUE --queue-num 0
Quote:
Originariamente inviato da alfonsor
c'è un modo per prendere il dest ip del pacchetto da dentro il listener?
|
Netfilter ti da piena libertà di azione. Io uso il source-ip per fare il check, la libreria ti da il puntatore al pacchetto completo, sapendo che il frame ethernet contiene il protocollo IP.. basta andare al dodicesimo byte (source ip)
. Una volta tornato quello che netfilter chiama il "verdetto", se accept o drop, la velocità dipende in sostanza dall'efficienza del programmino scritto dal programmatore (ho anche aperto un thread nella sezione programmazione per discutere di eventuali ottimizzazioni
[C] Ipfilter efficiente)