GNU/Linux >> Linux Esercitazione >  >> Linux

Buona spiegazione dettagliata della sintassi /etc/network/interfaces?

Ho compreso il concetto di base di come usare /etc/network/interfaces , ma tutto ciò che trovo online sono esempi, esempio dopo esempio, da cui posso copiare e incollare. Quello che mi manca è una spiegazione della sintassi, una spiegazione del significato dei comandi e quale ordine richiedono i comandi. Voglio capire, perché la maggior parte delle volte il copia-incolla non è sufficiente, perché non sto lavorando su una nuova macchina, quindi non posso semplicemente sovrascrivere le configurazioni esistenti perché si romperebbero molte cose. man interfaces non è stato molto utile poiché è scritto molto complicato.

Esempi di domande che ho:cosa significa inet in un iface riga significa esattamente (non riuscivo nemmeno a trovarlo nella manpage), cosa significa manual in un iface la riga significa esattamente (molti esempi lo usano, ma secondo manpage ha bisogno di un file di configurazione aggiuntivo, che gli esempi non presentano), quando li uso o ne ho bisogno? Quando no? Quando creo un bridge, cosa succede esattamente alle interfacce?

Risposta accettata:

Bene, separiamolo in pezzi, per facilitare la comprensione di /etc/network/interfaces :

Opzioni livello di collegamento+tipo di interfaccia (generalmente la prima di ogni stanza dell'interfaccia e chiamata famiglia di indirizzi + metodo da interfaces(5) pagine man):

auto interface – Avviare le interfacce all'avvio. Ecco perché lo interfaccia utilizza questo tipo di configurazione di collegamento.

allow-auto interface – Come auto

allow-hotplug interface – Avviare l'interfaccia quando viene rilevato un evento "hotplug". Nel mondo reale, viene utilizzato nelle stesse situazioni di auto ma la differenza è che attenderà un evento come "essere rilevato da udev hotplug api" o "cavo collegato". Vedere "Cose correlate (hotplug)" per ulteriori informazioni.

Queste opzioni sono praticamente opzioni di "livello 2", che impostano gli stati dei collegamenti sulle interfacce e non sono correlate con "livello 3" (routing e indirizzamento). Ad esempio potresti avere un'aggregazione di link in cui l'interfaccia bond0 deve essere attiva qualunque sia lo stato del link e i suoi membri potrebbero essere attivi dopo un evento di stato del link:

auto bond0
iface bond0 inet manual
        down ip link set $IFACE down
        post-down rmmod bonding
        pre-up modprobe bonding mode=4 miimon=200
        up ip link set $IFACE up mtu 9000
        up udevadm trigger

allow-hotplug eth0
iface eth0 inet manual
        up ifenslave bond0 $IFACE
        down ifenslave -d bond0 $IFACE 2> /dev/null

allow-hotplug eth1
iface eth1 inet manual
        up ifenslave bond0 $IFACE
        down ifenslave -d bond0 $IFACE 2> /dev/null

Quindi, in questo modo creo un'aggregazione di collegamenti e le interfacce verranno aggiunte ad essa e rimosse negli stati dei collegamenti via cavo.

Tipi di interfaccia più comuni:

Tutte le opzioni seguenti sono un suffisso per un'interfaccia definita (iface <Interface_family> ). Fondamentalmente il iface eth0 crea una stanza chiamata eth0 su un dispositivo Ethernet. iface ppp0 dovrebbe creare un'interfaccia point-to-point e potrebbe avere diversi modi per acquisire indirizzi come inet wvdial che inoltrerà la configurazione di questa interfaccia a wvdialconf sceneggiatura. La tupla inet /inet6 + option definirà la versione del protocollo IP che verrà utilizzato e il modo in cui verrà configurato questo indirizzo (static , dhcp , scripts …).
I manuali Debian online ti forniranno maggiori dettagli al riguardo.

Opzioni sulle interfacce Ethernet:

inet static – Definisce un indirizzo IP statico.

inet manual – Non definisce un indirizzo IP per un'interfaccia. Generalmente utilizzato da interfacce che sono membri bridge o di aggregazione, interfacce che devono funzionare in modalità promiscua (ad es. mirroring delle porte o TAP di rete ) o avere un dispositivo VLAN configurato su di essi. È un modo per mantenere attiva l'interfaccia senza un indirizzo IP.

Relazionato:Il burro chiarificato è un buon sostituto del lardo?

inet dhcp – Acquisire l'indirizzo IP tramite il protocollo DHCP.

inet6 static – Definisce un indirizzo IPv6 statico.

Esempio:

# Eth0
auto eth0
iface eth0 inet manual
    pre-up modprobe 8021q
    pre-up ifconfig eth0 up
    post-down ifconfig eth0 down

# Vlan Interface
auto vlan10
iface vlan10 inet static
        address 10.0.0.1
        netmask 255.255.255.0
        gateway 10.0.0.254
        vlan-raw-device eth0
        ip_rp_filter 0

Questo esempio porterà eth0 up e crea un'interfaccia VLAN chiamata vlan10 che elaborerà il tag numero 10 su un frame Ethernet.

Opzioni comuni all'interno di una stanza dell'interfaccia (livello 2 e 3):

address – Indirizzo IP per un'interfaccia configurata con IP statico

netmask – Maschera di rete. Può essere omesso se si utilizza l'indirizzo cidr. Esempio:

iface eth1 inet static
    address 192.168.1.2/24
    gateway 192.168.1.1

gateway – Il gateway predefinito di un server. Fai attenzione a usare solo uno di questi tizi.

vlan-raw-device – Su un'interfaccia VLAN, definisce il suo "padre".

bridge_ports – Su un'interfaccia bridge, definirne i membri.

down – Usa il comando seguente per disattivare l'interfaccia invece di ifdown .

post-down – Azioni eseguite subito dopo l'arresto dell'interfaccia.

pre-up – Azioni prima che l'interfaccia sia attiva.

up – Usa il comando seguente per aumentare l'interfaccia invece di ifup . Sta alla tua immaginazione usare qualsiasi opzione disponibile su iputils . Come esempio potremmo usare up ip link set $IFACE up mtu 9000 per abilitare i frame jumbo durante il up operazione (invece di usare mtu opzione stessa). Puoi anche chiamare qualsiasi altro software come up sleep 5; mii-tool -F 100baseTx-FD $IFACE per forzare 100Mbps Full duplex 5 secondi dopo che l'interfaccia è attiva.

hwaddress ether 00:00:00:00:00:00 – Cambia l'indirizzo mac dell'interfaccia invece di usare quello che è hardcoded nella rom o generato da algoritmi. Puoi utilizzare la parola chiave random per ottenere un indirizzo mac randomizzato.

dns-nameservers – Indirizzi IP dei server dei nomi. Richiede il resolvconf pacchetto. È un modo per concentrare tutte le informazioni in /etc/network/interfaces invece di usare /etc/resolv.conf per le configurazioni relative al DNS.
Non modificare il resolv.conf file di configurazione manualmente
poiché verrà modificato dinamicamente dai programmi nel sistema.

dns-search example.net – Aggiungi example.net come dominio alle query dell'host, creando l'FQDN. Opzione domain di /etc/resolv.conf

wpa-ssid – Wireless:imposta un SSID WPA wireless.

mtu – Dimensioni MTU. mtu 9000 =Cornice gigante. Utile se la tua scatola Linux è collegata a switch che supportano dimensioni MTU più grandi. Può violare alcuni protocolli (ho avuto brutte esperienze con snmp e frame jumbo).

wpa-psk – Wireless:imposta un PSK con codifica esadecimale per il tuo SSID.

ip_rp_filter 1 – Filtro percorso inverso abilitato. Utile in situazioni in cui hai 2 percorsi verso un host, e questo costringerà il pacchetto a tornare da dove è arrivato (stessa interfaccia, usando i suoi percorsi). Esempio:sei connesso sulla tua lan(192.168.1.1/24 ) e hai un server dlna con un'interfaccia sulla tua lan(192.168.1.10/24 ) e altra interfaccia su dmz per eseguire attività amministrative(172.16.1.1/24 ). Durante una sessione ssh dal tuo computer a dlna dmz ip, le informazioni devono tornare a te, ma si bloccheranno per sempre perché il tuo server dlna proverà a fornire la risposta direttamente attraverso la sua interfaccia lan. Con rp_filter abilitato, assicurerà che la connessione torni da dove proveniva. Maggiori informazioni qui.

Correlati:kernel Linux per Nintendo Wii?

Alcune di queste opzioni non sono opzionali. Debian ti avviserà se metti un indirizzo IP su un'interfaccia senza netmask, per esempio.

Puoi trovare altri buoni esempi di configurazione di rete qui.

Cose correlate :

Collegamenti che contengono informazioni relative a /etc/network/interfaces file di configurazione di rete:

  • HOWTO:sicurezza wireless – WPA1, WPA2, LEAP, ecc.
  • Come posso collegare due interfacce con ip/iproute2?.
  • Che cos'è un evento hotplug dall'interfaccia?

Linux
  1. Come viene aggiornato /etc/motd?

  2. Convertire /etc/network/interfaces in Netplan?

  3. Le modifiche manuali apportate a /etc/hosts o /etc/sysconfig/network-scripts/ifcfg-* vengono perse

  4. CentOS / RHEL:come recuperare dal file /etc/passwd cancellato

  5. /etc/passwd mostra l'utente in un gruppo, ma /etc/group no

/etc/network/interfaces per connettere Ubuntu a una rete wireless

Il modo giusto per modificare i file /etc/passwd e /etc/group in Linux

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

C'è un modo per disabilitare il client DHCP in Raspbian Linux su un Rasperry Pi?

Cosa fa source /etc/network/interfaces.d/* nella parte superiore del file /etc/network/interfaces?

Udev:rinominare la mia interfaccia di rete