io divertente /sbin/iptables -L -v -n | Di più comando. Tuttavia, non sono in grado di elencare le regole NAT. Come posso utilizzare il comando iptables per visualizzare o elencare le regole NAT memorizzate nelle tabelle NAT? Come posso vedere tutte le regole nelle tabelle NAT sotto CentOS / RHEL / Debian / Ubuntu server basato su Linux?
/sbin/iptables comando per il filtraggio dei pacchetti IPv4 e NAT. La traduzione degli indirizzi di rete (NAT) modifica le informazioni sull’indirizzo IP nelle intestazioni dei pacchetti IP durante il transito su un dispositivo di routing.
Dettagli tutorial |
Livello di difficoltà |
Facile |
Privilegi di root |
sì |
Requisiti |
Linux iptables |
Est. momento della lettura |
4 minuti |
Per vedere le regole NAT, digita uno dei seguenti comandi.
Sintassi
La sintassi è la seguente per visualizzare il comando iptables come utente root Regole IPv4:
iptables -t nat -L
iptables -t nat -L -n -v | grep 'something'
iptables -t nat -L -n -v
Uscite di esempio:
Chain PREROUTING (policy ACCEPT 867 packets, 146K bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all -- vlan2 * 0.0.0.0/0 192.168.1.0/24
Chain POSTROUTING (policy ACCEPT 99 packets, 6875 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- * vlan2 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 99 packets, 6875 bytes)
pkts bytes target prot opt in out source destination
Chain WANPREROUTING (0 references)
pkts bytes target prot opt in out source destination
root@tswitch:/tmp/home/root#
Comprensione delle opzioni di elenco delle regole iptables nat
- -t nat : Questa opzione specifica la tabella di corrispondenza dei pacchetti su cui deve operare il comando. In questo esempio, sto lavorando su nato tavolo. Viene consultato quando si incontra un pacchetto che crea una nuova connessione. Si compone di quattro built-in:
- PREROUTING per alterare i pacchetti non appena arrivano
- INPUT per alterare i pacchetti destinati ai socket locali
- OUTPUT per alterare i pacchetti generati localmente prima dell’instradamento
- POSTROUTING per alterare i pacchetti mentre stanno per uscire
- -L : Elenca tutte le regole nella catena selezionata.
- -n : Uscita numerica. Gli indirizzi IP ei numeri di porta verranno stampati in formato numerico. Per impostazione predefinita, il programma proverà a visualizzarli come nomi host, nomi di rete o servizi (ove applicabile).
- -v : Output dettagliato. Questa opzione fa in modo che il comando list mostri il nome dell’interfaccia, le opzioni della regola (se presenti) e le maschere TOS. Sono elencati anche i contatori di pacchetti e byte, con il suffisso ‘K’, ‘M’ o ‘G’ rispettivamente per 1000, 1.000.000 e 1.000.000.000 di moltiplicatori.
Linux Iptables Elenca e mostra tutti i NAT IPTables Regole IPv6 Comando
Il supporto NAT IPv6 è disponibile dalla versione 3.7 del kernel Linux. Elenco di tutte le regole iptables NAT IPv6 come segue:
ip6tables -t nat -L
ip6tables -t nat -L -n -v | grep 'something'
ip6tables -t nat -L -n -v
Uscite:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all fd9d:bc11:xxx::/48 anywhere policy match dir out pol none
Ecco un altro comando:
$ sudo iptables -t nat -L -n -v
Uscite di esempio:
Chain PREROUTING (policy ACCEPT 294K packets, 17M bytes)
pkts bytes target prot opt in out source destination
165K 9879K DNAT tcp -- * * 0.0.0.0/0 192.168.203.146 tcp dpt:443 to:10.105.28.42:443
166K 9982K DNAT tcp -- * * 0.0.0.0/0 192.168.203.146 tcp dpt:80 to:10.105.28.42:80
0 0 DNAT tcp -- * * 0.0.0.0/0 192.168.203.146 tcp dpt:443 to:10.105.28.42:443
0 0 DNAT tcp -- * * 0.0.0.0/0 192.168.203.146 tcp dpt:80 to:10.105.28.42:80
22034 1322K DNAT tcp -- * * 0.0.0.0/0 192.168.203.146 tcp dpt:444 to:10.105.28.45:444
22073 1324K DNAT tcp -- * * 0.0.0.0/0 192.168.203.146 tcp dpt:81 to:10.105.28.45:81
31328 1880K DNAT tcp -- * * 0.0.0.0/0 192.168.203.146 tcp dpt:445 to:10.105.28.44:445
19424 1165K DNAT tcp -- * * 0.0.0.0/0 192.168.203.146 tcp dpt:82 to:10.105.28.44:82
Chain INPUT (policy ACCEPT 199K packets, 12M bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 387 packets, 24906 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 252K packets, 15M bytes)
pkts bytes target prot opt in out source destination
93223 5593K MASQUERADE all -- * * 10.105.28.0/24 !10.105.28.0/24 /* generated for LXD network lxdbr0 */
Saluta netstat-nat
Il netstat-nat comando visualizza le connessioni natted su un firewall iptable Linux:
# netstat-nat -n
Per visualizzare le connessioni SNAT, eseguire:
# netstat-nat -S
Per visualizzare le connessioni DNAT, digitare:
# netstat-nat -D
Tieni presente che potresti ricevere il seguente messaggio sull’ultima versione di Linux:
Impossibile leggere le informazioni sulle connessioni dal kernel, assicurati che netfilter sia abilitato nel kernel o dai moduli.
Solo guide per i sostenitori di Patreon ????
- Nessuna pubblicità e tracciamento
- Guide approfondite per sviluppatori e amministratori di sistema su Opensourceflare✨
- Unisciti al mio Patreon per supportare i creatori di contenuti indipendenti e iniziare a leggere le ultime guide:
Aderire Patreon ?
Quindi usa il comando conntrack:
sudo conntrack -L # List/dump
sudo conntrack -L -n # Filter source NAT connections
sudo conntrack -L -g # Filter destination NAT connections
sudo conntrack -L -j # Filter any NAT connection
Riassumendo
È necessario utilizzare il comando iptables o ip6tables come segue:
sudo iptables -t nat -L # IPv4 rules
sudo ip6tables -t nat -L # IPv6 rules
sudo conntrack -L -j
Per ulteriori informazioni, vedere le seguenti pagine man utilizzando il comando man come segue:
man iptables #IPv4
man ip6tables #IPv6
ANNUNCIO
Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!