connessioni

gestire le connessioni di rete

piedinatura

In questa come in quasi tutte le situazioni la spessa operazione può essere fatta in molti modi, ad esempio utilizzando ifupdown (che non useremo), uno dei motivi è che il pacchetto net-tools che contiene anche ifconfig non viene piu installato di default nel sistema base di Debian. Sebbene ifup e ifdown siano comunque presenti nel sistema.

Nomi delle schede

I nomi vengono assegnati da un servizio che si chiama udev, i primi due o tre caratteri dipendono dal tipo di scheda: "en"" sono le ethernet, "wl" sono le schede wireless e su alcune schede madri "eno" sono le ethernet on-board. Il numero dopo p è il bus e quello dopo s è lo slot.

Per trovare quali schede di rete ci sono è possibile analizzare il buffer dei messaggi del kernel (usando dmesg) per poi filtrare i messaggi che ci servono (serve egrep per fare la ricerca di due cose diverse in un comando in maniera semplice):

dmesg | egrep 'enp|wlp|eno'

Una alternativa veloce per avere l'elenco dei device di rete:

ls /sys/class/net/

oppure anche

lspci [-v]

Se quello che serve è un elenco delle interfacce wireless c'è un comando apposito:

iw dev

Configurazione della rete con systemd

systemd-networkd è il servizio che si occupa delle reti (systemd-networkd.service), legge i file in /etc/systemd/network/ (e anche in altre posizioni) che terminano in .network (ogni connessione in un file diverso), il servizio va abilitato perché per default è disattivo.

Esempio di file per una configurazione base

[Match]
Name=enp2s11

[Network]
Description=quello che vuoi
Address=10.0.0.5/24
Gateway=10.0.0.1
DNS=192.168.1.7
Domains=aspix.it

In caso serva che la rete sia configurata da un DHCP nella sezione Network al posto di tutta la configurazione di IP basta ggiungere

DHCP=yes
se non parte guarda il file /var/log/daemon.log

Stato della rete con networkctl

Il comando che ci permette di avere informazioni sullo stato della rete è networkctl (per poterlo utilizzare serve di avere il servizio systemd-networkd attivo). Per avere un breve elenco dei link attivi:

networkctl list --all

Se invece servono più informazioni:

networkctl status --all

Al posto del parametro "--all" è possibile mettere il nome di una interfaccia specifica.

Se nella riga "State" compare "degraded" vuol dire che il collegamento è attivo ma non c'è un IP assegnato (ma magari un link-local sì però), normalmente deve essere "routable".

Stato della rete con ip

IL comando ip si trova nel pacchetto iproute2 ( che nelle intenzioni sostituisce net-tools). La prima riga del suo manuale riporta: "show / manipulate routing, devices, policy routing and tunnels" ha tantissimi comandi, per avere informazioni su un comando basta scrivere:

ip <comando> help

per avere un elenco delle connessioni:

ip link [list]

per spegnere/accendere una scheda

ip link set eth0 up
ip link set eth0 down

per vedere gli indirizzi assegnati alle interfacce:

ip addr

per la tabella di routing:

ip route

per vedere la ARP:

ip neigh show

per cancellare uno dei vicini dalla cache ARP:

ip neigh delete 1.2.3.4 dev eth0

interfacce wireless

informazioni

Il comando che si occupa in generale delle interfacce wireless è iw, ad esempio per vedere lo stato di un link:

iw dev nome_interfaccia link

interfacce wireless spente

Le interfacce wireless (almeno sui portatili) hanno un tasto per spegnerle fisicamente per vedere lo stato delle interfacce:

rfkill list

Per alcuni portatili non basta spostare lo switch di accensione: nel caso dell'aspire one di acer ad esempio va tenuto verso destra mentre si accende il computer

pacchetti da tenere d'occhio

Alcuni pacchetti servono per semplifare la gestione della erete... per gli utenti... normali. Per le nostre esigenze è più semplice disinstallarli per avere un sistema minimale senza interazioni difficili da tenere sotto controllo.

Bibliografia

Archlilnux wiki: Wireless network configuration

Acer Aspire ONE no WIFI in Ubuntu due to hardware switch state

Archlinux wiki: Wired and wireless adapters on the same machine