Uno sguardo all' /etc/network/interfaces

L' /etc/network interfaces è un file di configurazione delle reti sui sistemi basati debian

oramai spesso sostituito con i gestori di rete come NetworkManager. Sul mio sistema NetworkManager è disabilitato lasciando il compito a questo file.

Nel corso del tempo sulla mia workstation con Linux Mint  l'/etc/network/interfaces  ha raggiunto diverse righe avendo una sola interfaccia fisica diamo uno sguardo: 

1	# interfaces(5) file used by ifup(8) and ifdown(8)
     2	# Include files from /etc/network/interfaces.d:
     3	source /etc/network/interfaces.d/*
     4	
     5	auto eno1
     6	iface eno1 inet static
     7	address 192.168.10.20/24
     8	gateway 192.168.10.1
     9	#iface eno1 inet6 auto
    10	#post-up ip route del 192.168.2.0 riga duplicata nel conf di eno1.2
    11	#post-up ip  rule add from 192.168.10.20/24 
    12	#post-up ip  rule add to   192.168.10.20/24
    13	#post-down ip rule del from 0/0 to 0/0 
    14	#post-down ip rule del from 0/0 to 0/0
    15	
    16	
    17	auto eno1.3
    18	iface eno1.3 inet static
    19	        address 192.168.3.3/29
    20	#        vlan-raw-device eno1
    21	auto eno1.4
    22	iface eno1.4 inet static
    23	address 192.168.4.4/28
    24	post-up route add -net 192.168.9.0/28 gw 192.168.4.1 eno1.4
    25	
    26	auto eno1.2
    27	iface eno1.2 inet static
    28	address 192.168.2.10/28
    29	post-up ip route add default via 192.168.2.1  dev eno1.2  table vlan2
    30	post-up ip route add  to 192.168.2.0/28 dev eno1.2 src 192.168.2.10 table vlan2
    31	post-up ip rule add from  192.168.2.10/28 table vlan2 
    32	post-up ip rule add to 192.168.2.10/28 table vlan2
    33	#post-up ip rule del 192.168.2.0
    34	#post-down ip rule del from 0/0 to 0/0 table vlan2
    35	#post-down ip rule del from 0/0 to 0/0 table vlan2
    36	
    37	auto eno1.66
    38	iface eno1.66 inet static
    39	address 10.66.0.20/16
    40	
    41	allow-hotplug usb0
    42	iface usb0 inet static
    43	        address 192.168.41.1
    44	        netmask 255.255.255.0
    45	        network 192.168.41.0
    46	        broadcast 192.168.41.255
    47	#        gateway 192.168.41.2

le linee piu curiose che si possono trovare sono:

le righe 17 e 18 che assegnano una interfaccia vlan eno1.3  (dove .3 rappresenta il numero vlan)

cosi anche per la vlan eno1.4 alla riga 21

alla riga 22 troviamo: post-up route add -net 192.168.9.0/28 gw 192.168.4.1 eno1.4 indica che aggiungerà una rotta statica verso la subnet 192.168.9.0/28 passando per ip 192.168.4.1 e interfaccia eno1.4 necessario se la subnet 192.168.9.0/28 non è accessibile da altre vlan se non la vlan4.

interfaccia vlan eno1.2 dalla riga 26 a 32

riga 29 : post-up ip route add default via 192.168.2.1  dev eno1.2  table vlan2 qui si indica che il gateway per questa interfaccia sara l'ip 192.168.2.1 (ovvero l'ip che si dovrà contattare per l'uscita su internet). dell' interfaccia eno1.2 della tabella vlan2.     

riga 30 : specifico con post-up ip route add  to 192.168.2.0/28 dev eno1.2 src 192.168.2.10 table vlan2  che dalla sorgente 192.168.2.10 il traffico diretto alla subnet 192.168.2.0/28 che viaggia sull'interfaccia eno1.2 sara sulla tabella vlan2

riga 31 e riga 32

post-up ip rule add from  192.168.2.10/28 table vlan2 
 post-up ip rule add to 192.168.2.10/28 table vlan2

aggiungono delle regole alle rotte precedenti in cui si specifica che il traffico deve usare la tabella di routing vlan2 per il traffico proveniente e il traffico in entrata 

tutte queste regole riguardanti la vlan2 predispongono un uso per un eventuale firewall marking o un namespace separato cosi da instradare il traffico su un altro gateway di rete senza cambiare il gateway di default.

in realtà la regola della riga 30 dovrebbe essere automatica ma per sicurezza è aggiunta alla configurazione. 

mentre le ultime righe dalla 40 in poi sono per il collegamento a un dispositivo android che fa da thethering usb questo cosi facendo può raggiungere il pc tramite usb come se fosse un cavo di rete quindi si può usare qualsiasi protocollo di rete ssh,vnc ecc. ecc.

riferimenti:

https://wiki.debian.org/it/NetworkConfiguration

https://wiki.debian.org/it/NetworkConfiguration

https://guide.debianizzati.org/index.php/Iproute2

https://joshuawoehlke.com/android-raspberry-pi-display-over-usb/

This article was updated on 6 ottobre 2025

Fin da piccolo sono stato affascinato dal mondo dell'informatica.
verso i 14 anni ho scoperto l'universo dei sistemi operativi liberi avvicinandomi cosi alla filosofia dell'open source.