Iptabili con i parametri -m e -p


8

Ho questa regola nel mio iptables:

iptables -A INPUT -p tcp -m tcp --dport 9191 -j DROP

Ho davvero bisogno di "-m tcp"? Sto già usando "-p tcp", quindi dovrei usare "-m tcp" per essere più sicuro?

Risposte:


9

Con l' -p tcpopzione il modulo tcp è già caricato e quindi è in qualche modo ridondante e non è necessario utilizzare l' -m tcpopzione e non vedo alcun motivo per cui l'uso di questa opzione renderebbe la regola più sicura.

Si prega di consultare la pagina man di iptables per una migliore comprensione e confronto:

-p, --protocol [!] protocol

Il protocollo della regola o del pacchetto da controllare. Il protocollo specificato può essere uno di tcp, udp, icmp o tutti, oppure può essere un valore numerico, che rappresenta uno di questi protocolli o uno diverso. È anche consentito un nome di protocollo da / etc / protocols. Un "!" l'argomento prima del protocollo inverte il test. Il numero zero è equivalente a tutti. Il protocollo tutto corrisponderà a tutti i protocolli e viene considerato predefinito quando questa opzione viene omessa.

...

Estensioni partita

iptables può utilizzare moduli di corrispondenza pacchetti estesi. Questi vengono caricati in due modi: implicitamente, quando viene specificato -p o --protocol, oppure con le opzioni -m o --match, seguite dal nome del modulo corrispondente; successivamente, sono disponibili varie opzioni di riga di comando aggiuntive, a seconda del modulo specifico. È possibile specificare più moduli di corrispondenza estesa in una riga e utilizzare le opzioni -h o --help dopo aver specificato il modulo per ricevere assistenza specifica per quel modulo.

E per un elenco di opzioni disponibili con -p tcpvedere qui:

http://ipset.netfilter.org/iptables-extensions.man.html#lbCF

Come detto sopra, con l'uso -mdell'opzione è possibile aggiungere moduli di estensione e sono quindi disponibili più opzioni di corrispondenza. Ad esempio il modulo CPU :

processore

[!] --cpu numero

Abbina la CPU che gestisce questo pacchetto. i cpus sono numerati da 0 a NR_CPUS-1 Può essere utilizzato in combinazione con RPS (Remote Packet Steering) o NIC multiqueue per distribuire il traffico di rete su diverse code.

Esempio:

iptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 0 -j REDIRECT --to-port 8080

iptables -t nat -A PREROUTING -p tcp --dport 80 -m cpu --cpu 1 -j REDIRECT --to-port 8081

Disponibile da Linux 2.6.36.

Elenco completo delle estensioni di iptables.


Domanda aggiuntiva dall'OP: non capisco cosa corrisponde a -m. Quale stringa? -m tcp corrisponde a cosa? Cerca di trovare la parola "tcp" dove?

Risposta: -mè per abbinare il nome del modulo e non la stringa. Utilizzando un modulo particolare si ottengono determinate opzioni da abbinare. Vedi l'esempio del modulo cpu sopra. Con il -m tcpmodulo viene caricato tcp. Il modulo tcp consente alcune opzioni: --dport, --sport, --tcp-flags, --syn, --tcp-optionda usare nelle regole di iptables. Ma usare -p tcpgià abilita il modulo tcp, ecco perché si possono ancora usare quelle opzioni anche senza usare -m tcp. Spero che cancella tutta la tua confusione.


grazie mille, ma ti dispiacerebbe dirmi contro cosa -m si abbinerebbe? Ad esempio, una normale connessione TCP, -m corrisponderebbe a quale stringa? Potresti fornire per favore un esempio della stringa
Samul

1
Prego. Come puoi vedere, l' -mopzione viene effettivamente utilizzata per caricare extension modulesche fornisce opzioni extra. Vedi la mia risposta agli aggiornamenti e il link per esempio.
Diamante

Grazie! :) Un ultimo pensiero: penso che nel mio caso dovrei mantenere "-m" corretto? Vedi questo: iptables -A INPUT -p tcp -m tcp --dport 9191 -j DROP Uso "--dport" e penso che sia possibile usare --ddport solo se uso -m corretto?
Samul,

@ Samul, non proprio. Puoi semplicemente usarlo senza l' -m tcpopzione. --dportfa parte del modulo tcp e funzionerà -p tcpsolo con . Si prega di fare nuovamente riferimento alla mia risposta.
Diamante

Sei molto gentile, grazie! Ma vedi: non capisco cosa corrisponde a -m. Quale stringa? -m tcp corrisponde a cosa? Cerca di trovare la parola "tcp" dove?
Samul,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.