Qual è il modo corretto di aprire una gamma di porte in iptables


56

Ho trovato articoli che consigliano quanto segue:

iptables -A INPUT -p tcp 1000:2000 -j ACCEPT

E altri affermano che quanto sopra non funzionerà e iptables supporta solo dichiarazioni di più porte con l' --multiportopzione.

Esiste un modo corretto per aprire molte porte con iptables?


Risposte:


60

Questo è il modo corretto:

iptables -A INPUT -p tcp --match multiport --dports 1024:3000 -j ACCEPT

Come esempio. Fonte qui .


5
Se non sai che lo stato del set di regole -Iè in qualche modo più sicuro di -A.
user9517 supporta GoFundMonica

@Iain, potresti per favore spiegare il ragionamento che sta dietro?
Jayhendren,

2
@jayhendren molti set di regole avranno un drop di default tutto regola ad es. -A INPUT -j REJECT --reject-with icmp-host-prohibitedalla fine dell'INPUT e di altre tabelle. Usando si -Aaggiunge la regola alla fine del tavolo, dopo la regola finale in modo che non venga mai considerata come netfilter funziona alla prima vittoria. Utilizzando si -Iinserisce la regola all'inizio della tabella e come tale verrà sempre considerata.
user9517 supporta GoFundMonica

4
@Inoltre, tuttavia, alcuni set di regole hanno anche regole che filtrano o ratelimitano i pacchetti, quindi vale la pena sottolineare che -Inon è sempre più sicuro se non si conosce il set di regole.
Jayhendren,

3
@jayhendren Penso che tu l'abbia appena fatto e nota anche che ho detto un po 'non sempre .
user9517 supporta GoFundMonica

54

Quello che ti è stato detto è giusto, anche se l'hai scritto male (l'hai dimenticato --dport).

iptables -A INPUT -p tcp --dport 1000:2000 aprirà il traffico in entrata verso le porte TCP da 1000 a 2000 incluso.

-m multiport --dportsè necessaria solo se l'intervallo che si desidera aprire non è continua, per esempio -m multiport --dports 80,443, che aprirà HTTP e HTTPS solo - non quelli in mezzo.

Nota che l'ordinamento delle regole è importante e (come Iain allude nel suo commento altrove) è tuo compito assicurarti che qualsiasi regola che aggiungi sia in un posto dove sarà efficace.


1
Potrei alludere anche qui se vuoi;)
user9517 supporta GoFundMonica

1
Hee hee hee! Continua, quindi, vale la pena ripetere il messaggio!
MadHatter,

2
Questa è la risposta corretta; è più approfondito.
Andrew Kozak,

10

TL; DR ma ...

Portata pura senza modulo multiporta: iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT

Esempio multiporta equivalente: iptables -A INPUT -p tcp -m multiport --dports 1000:2000 -j ACCEPT

... e variazione su multiporta con multi range (sì, anche questo è possibile): iptables -A INPUT -p tcp -m multiport --dports 1000,1001,1002:1500,1501:2000 -j ACCEPT

... ed esempio multi range equivalente multiporta con negazione: iptables -A INPUT -p tcp -m multiport ! --dports 0:999,2001:65535 -j ACCEPT

Ho phun.

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.