GNU/Linux
Configurazione di rete
Ricerca…
introduzione
Dettagli dell'interfaccia
ifconfig
Elenca tutte le interfacce disponibili sulla macchina
$ ifconfig -a
Elenca i dettagli di un'interfaccia specifica
Sintassi: $ ifconfig <interface>
Esempio:
$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:x.x.x.x Bcast:x.x.x.x Mask:x.x.x.x
inet6 addr: xxxx::xxx:xxxx:xxxx:xxxx/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4426618 errors:0 dropped:1124 overruns:0 frame:0
TX packets:189171 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:382611580 (382.6 MB) TX bytes:36923665 (36.9 MB)
Interrupt:16 Memory:fb5e0000-fb600000
Ethtool - interrogare il driver di rete e le impostazioni hardware
Sintassi: $ ethtool <interface>
Esempio:
$ ethtool eth0
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: on (auto)
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
ip - mostra / manipola routing, dispositivi, policy routing e tunnel
Sintassi: $ ip { link | ... | route | macsec }
(vedi man ip
per la lista completa degli oggetti)
Esempi
Elenca le interfacce di rete
$ ip link show
Rinomina l'interfaccia eth0 in wan
$ ip link set dev eth0 name wan
Porta l'interfaccia eth0 su (o giù)
$ ip link set dev eth0 up
Elenca gli indirizzi per le interfacce
$ ip addr show
Aggiungi (o del) ip e mask (255.255.255.0)
$ ip addr add 1.2.3.4/24 brd + dev eth0
Aggiunta di IP a un'interfaccia
Un indirizzo IP per un'interfaccia potrebbe essere ottenuto tramite DHCP o assegnazione statica
DHCP Se si è connessi a una rete con un server DHCP in esecuzione, il comando dhclient
può ottenere un indirizzo IP per l'interfaccia
$ dhclient <interface>
o in alternativa, è possibile apportare una modifica al /etc/network/interfaces
per l'interfaccia da avviare all'avvio e ottenere DHCP IP
auto eth0
iface eth0 inet dhcp
Configurazione statica (Modifica permanente) usando il /etc/network/interfaces
Se si desidera configurare staticamente le impostazioni dell'interfaccia (modifica permanente), è possibile farlo nel /etc/network/interfaces
.
Esempio:
auto eth0 # Bring up the interface on boot
iface eth0 inet static
address 10.10.70.10
netmask 255.255.0.0
gateway 10.10.1.1
dns-nameservers 10.10.1.20
dns-nameservers 10.10.1.30
Queste modifiche persistono anche dopo il riavvio del sistema.
Configurazione statica (modifica temporanea) utilizzando l'utility ifconfig
Un indirizzo IP statico può essere aggiunto a un'interfaccia usando l'utility ifconfig
come segue
$ ifconfig <interface> <ip-address>/<mask> up
Esempio:
$ ifconfig eth0 10.10.50.100/16 up
Risoluzione DNS locale
File: /etc/hosts
contiene un elenco di host che devono essere risolti localmente (non da DNS)
Esempio di contenuto del file:
127.0.0.1 your-node-name.your-domain.com localhost.localdomain localhost
XXX.XXX.XXX.XXX node-name
Il formato file per il file hosts è specificato da RFC 952
Configurare i server DNS per la risoluzione dei nomi di dominio
File: /etc/resolv.conf
contiene un elenco di server DNS per la risoluzione dei nomi di dominio
Esempio di contenuto del file:
nameserver 8.8.8.8 # IP address of the primary name server
nameserver 8.8.4.4 # IP address of the secondary name server
Nel caso di un server DNS interno, è possibile verificare se questo server risolve i nomi DNS correttamente utilizzando il comando dig
:
$ dig google.com @your.dns.server.com +short
Guarda e manipola percorsi
Manipola la tabella di routing IP usando il route
Visualizza tabella di routing
$ route # Displays list or routes and also resolves host names
$ route -n # Displays list of routes without resolving host names for faster results
Aggiungi / Elimina rotta
Opzione | Descrizione |
---|---|
add o del | Aggiungi o elimina un percorso |
-host xxxx | Aggiungi percorso a un singolo host identificato dall'indirizzo IP |
-net xxxx | Aggiungi percorso a una rete identificata dall'indirizzo di rete |
gw xxxx | Specificare il gateway di rete |
netmask xxxx | Specificare la maschera di rete di rete |
default | Aggiungi una rotta predefinita |
Esempi:
- aggiungi percorso a un host
$ route add -host xxxx eth1
- aggiungi percorso a una rete
$ route add -net 2.2.2.0 netmask 255.255.255.0 eth0
- In alternativa, è possibile utilizzare anche il formato cidr per aggiungere una route alla route di rete
route add -net 2.2.2.0/24 eth0
- aggiungi il gateway predefinito
$ route add default gw 2.2.2.1 eth0
- cancella una rotta
$ route del -net 2.2.2.0/24
Manipola la tabella di routing IP usando ip
Visualizza tabella di routing
$ ip route show # List routing table
Aggiungi / Elimina rotta
Opzione | Descrizione |
---|---|
add o del o change o append o replace | Cambia un percorso |
show o flush | il comando visualizza il contenuto delle tabelle di routing o lo rimuove |
restore | ripristinare le informazioni della tabella di routing dallo stdin |
get | questo comando ottiene una singola rotta verso una destinazione e stampa il suo contenuto esattamente come il kernel lo vede |
Esempi:
- Impostare il gateway predefinito su 1.2.3.254
$ ip route add default via 1.2.3.254
- Aggiunge una route predefinita (per tutti gli indirizzi) tramite il gateway locale 192.168.1.1 che può essere raggiunto sul dispositivo eth0
$ ip route add default via 192.168.1.1 dev eth0
Configura un nome host per qualche altro sistema sulla tua rete
Puoi configurare il tuo sistema Linux (o macOS) per legare un identificativo <hostname>
ad un altro indirizzo IP del sistema nella tua rete. Puoi configurarlo:
Systemwide. Dovresti modificare il file / etc / hosts . Devi solo aggiungere a quel file una nuova riga contenente:
- l'indirizzo IP del sistema remoto
<ip_rem>
, - uno o più spazi bianchi e
- l'identificativo
<hostname>
.
- l'indirizzo IP del sistema remoto
Per un singolo utente. Dovresti modificare il file ~ / .hosts --- dovresti crearlo. Non è così semplice come per tutto il sistema. Qui puoi vedere una spiegazione.
Ad esempio, potresti aggiungere questa linea usando lo strumento Unix cat
. Si supponga di voler eseguire un ping
su un PC nella propria rete locale il cui indirizzo IP è 192.168.1.44 e si desidera fare riferimento a tale indirizzo IP solo da remote_pc
. Quindi devi scrivere sul tuo guscio:
$ sudo cat 192.168.1.44 remote_pc
Quindi puoi fare quel ping solo da:
$ ping remote_pc