errore iptables: opzione sconosciuta --dport


19

Il comando non è più iptables riconosce una delle opzioni più comunemente utilizzati quando si definiscono le regole: --dport.

Ottengo questo errore:

[root@dragonweyr /home/calyodelphi]# iptables -A INPUT --dport 7777 -j ACCEPT_TCP_UDP
iptables v1.4.7: unknown option `--dport'
Try `iptables -h' or 'iptables --help' for more information.

Il comando aggiungi regola sopra è solo un esempio per abilitare le connessioni Terraria.

Ecco cosa ho attualmente come configurazione iptables barebone ( listiptablesè aliasato iptables -L -v --line-numbers), ed è ovvio che --dportha funzionato in passato:

root@dragonweyr /home/calyodelphi]# listiptables 
Chain INPUT (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1       39  4368 ACCEPT     all  --  lo     any     anywhere             anywhere            
2      114 10257 ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
3        1    64 ACCEPT     tcp  --  eth1   any     anywhere             anywhere            tcp dpt:EtherNet/IP-1 
4       72 11610 ACCEPT     all  --  eth1   any     anywhere             anywhere            

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 91 packets, 10045 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain ACCEPT_TCP_UDP (0 references)
num   pkts bytes target     prot opt in     out     source               destination         
1        0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            

Sto anche cercando di definire una catena personalizzata (ispirata a questa domanda ) per accettare connessioni tcp e udp in modo da non dover definire due regole per tutto ciò per cui voglio abilitare tcp e udp (come Minecraft o Server Terraria o un altro servizio). Ma anche questo non funziona:

[root@dragonweyr /home/calyodelphi]# iptables -P ACCEPT_TCP_UDP DROP
iptables: Bad built-in chain name.

Questo sta diventando molto frustrante, in termini educati (la quantità di parolacce coinvolte in questo farebbe dire a un marinaio di dirmi di guardare la mia bocca). Il mio Google-fu è terribile, quindi devo ancora trovare una soluzione funzionante per tutto questo. Sto eseguendo CentOS 6.5 sul router. Qualsiasi aiuto e suggerimenti che voi ragazzi potete offrire sarebbe fantastico.

MODIFICARE:

Domanda bonus: sto anche pianificando di configurare il port forwarding. È ancora necessario impostare regole per accettare connessioni in entrata su porte specifiche?

Risposte:


27

Per prima cosa dai -pun'opzione come -p tcpo -p udp.

Esempi:

iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j DROP

iptables -A INPUT -p udp --dport 53 --sport 1024: 65535 -j ACCEPT

Potresti anche provare, -p allma non l'ho mai fatto e non trovo troppo supporto negli esempi.


1
Ho appena provato a farlo -p alle ho avuto esattamente lo stesso errore. unknown option --dport. Ha funzionato con questo, -p tcpma in questo caso non mi aiuterà molto, poiché porta solo allo stesso problema: definire le singole regole tcp / udp per tutto.
Calyo Delphi,

Dalla mia esperienza, l'utilizzo allnon ha mai funzionato con la specifica di una porta. Tuttavia, invece di avere più regole per protocolli diversi, puoi pensare alle regole in una direzione diversa. Creare regole basate sul protocollo e quindi utilizzare l' multiportsopzione per raggruppare alcune regole.
canadmos,

Quindi, se voglio abilitare le connessioni Terraria e Minecraft, posso usare multiporta per aprire 7777 e 25565 e creare una regola TCP e UDP per ogni coppia di porte?
Calyo Delphi,

3
L'opzione per -p deve essere un singolo protocollo che ha il concetto di porte ( -p ICMP --dport whatevernon funzionerebbe neanche, per ovvi motivi).
Falcon Momot,

9

Il protocollo (-p) è richiesto se si utilizza --dport. Esempio:

-p tcp

Inoltre, deve specificare un protocollo con il concetto di porte, come sottolineato da @FalconMomot in un commento in precedenza.
un CVn il

Hai ragione, per quel dettaglio :)
Diego Woitasen il

3

@dmourati e @diegows hanno già risposto alla tua prima domanda, quindi affronterò la tua seconda domanda. E domanda bonus. E aggiungerò anche un suggerimento bonus;)

iptables -P accetta solo catene INCORPORATE. Nella filtertabella, che sarebbe INPUT, OUTPUTe FORWARDcatene.

Il port forwarding non viene gestito dalla INPUTcatena, quindi non è necessario aprire la porta nella INPUTcatena. Si fa ottenere gestito dalla FORWARDcatena, però. Stai attento.

Suggerimento bonus: durante l'apprendimento e / o la risoluzione dei problemi iptables, l'output di iptables-savetesta e spalle è migliore dell'output di iptables -L -v --line-numbers. Provalo, rimarrai piacevolmente sorpreso :)


+1 per una buona risposta, ma sono un po 'sorpreso dal tuo ultimo commento. Io odio che diagnosticano iptablesi problemi dal -savedi uscita; perché lo trovi migliore di iptables -L -n -v [--line-numbers]?
MadHatter supporta Monica il

@MadHatter semplice esempio: puoi facilmente vedere che le regole con le --dportopzioni hanno effettivamente -p tcpdavanti. Puoi anche vedere come / quando l'elaborazione delle regole salta da una catena integrata (ad es. INPUT) a una catena personalizzata (ad es. ACCEPT_TCP_UDP). Queste due informazioni importanti non sono visibili nell'output di iptables -L -n.
pepoluan,

3
Un altro vantaggio: posso fare iptables-save > somefile, modificare somefileusando Vim, quindi fare iptables-apply -t 600 somefileper testarlo. Se inavvertitamente mi blocco, dopo 600 secondi le regole ritornano.
pepoluan,

Il suggerimento bonus è molto apprezzato e già utilizzato. Avevo usato iptables-saveper aiutarmi ad imparare da una discarica di configurazione non elaborata prima di porre questa domanda. FORWARDTuttavia, non mi aspettavo che la catena fosse dove dovevo prestare attenzione per il port forwarding. Dovrò leggere a riguardo.
Calyo Delphi,

@CalyoDelphi se fai una ricerca per "diagramma di flusso di pacchetti netfilter", vedrai dove si applicano tutte le tabelle e le catene ;-)
pepoluan,
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.