Am înțeles conceptul de bază al modului de utilizare a /etc/network/interfaces
, dar tot ce găsesc online sunt exemple, exemplu după exemplu, din care pot copia-lipi. Ceea ce îmi lipsește este o explicație a sintaxei, o explicație a semnificației comenzilor și a ordinii care necesită comenzile. Vreau să înțeleg, pentru că de cele mai multe ori copierea-lipirea nu este suficientă, pentru că „nu lucrez la o mașină nouă, așa că nu pot doar să suprascrieți configurațiile existente, deoarece ar rupe multe lucruri. man interfaces
nu a fost de mare ajutor, deoarece este scris foarte complicat.
Exemple de întrebări pe care le am: ce înseamnă inet
o linie iface
înseamnă exact (nici măcar nu am putut să o găsesc în pagina de manual), ce înseamnă manual
într-o înseamnă exact (multe exemple îl folosesc, dar în funcție de pagina de manual are nevoie de un fișier de configurare suplimentar, pe care exemplele nu le prezintă), când le folosesc sau le am nevoie? Când nu? Când creez o punte, ce se întâmplă exact cu interfețele?
Comentarii
Răspundeți
Ei bine, să-l separăm în bucăți, pentru a ușura înțelegerea /etc/network/interfaces
:
Strat de legătură + opțiuni pentru tipul de interfață (în general, prima dintre fiecare strofă de interfață și denumită familie de adrese + metoda prin interfaces(5)
pagini de manual):
auto interface
– Porniți interfața (interfețele) la pornire. De aceea, interfața lo
folosește acest tip de configurație de legătură.
allow-auto interface
– La fel ca auto
allow-hotplug interface
– Porniți interfața când este detectat un eveniment” hotplug „. În lumea reală, acest lucru este utilizat în aceleași situații ca și auto
, dar diferența este că va aștepta un eveniment de genul „fiind detectat de udev hotplug api” sau „cablu conectat” . Consultați „ Lucruri corelate (hotplug) ” pentru informații suplimentare.
Aceste opțiuni sunt destul de mult opțiuni „strat 2”, configurând stările linkurilor pe interfețe și nu sunt legate de „layer 3” (rutare și adresare). De exemplu, ați putea avea o agregare a legăturilor în care interfața bond0 trebuie să fie activă indiferent de starea legăturii, iar membrii acesteia ar putea apărea după un eveniment de stare a legăturii:
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
Deci, în acest fel creez o agregare de legături și interfețele vor fi adăugate la ea și eliminate în stările de legătură prin cablu.
Cele mai comune tipuri de interfețe:
Toate opțiunile de mai jos sunt un sufix pentru o interfață definită (iface <Interface_family>
). Practic, iface eth0
creează o strofă numită eth0
pe un dispozitiv Ethernet . iface ppp0
ar trebui să creeze o interfață punct-la-punct și ar putea avea diferite moduri de a obține adrese precum inet wvdial
care va redirecționa configurația acestei interfețe către scriptul wvdialconf
. Cuplul inet
/ inet6
+ option
va defini versiunea Protocol IP care va fi utilizat și modul în care va fi configurată această adresă (static
, dhcp
, scripts
…). manualele Debian online vă vor oferi mai multe detalii despre acest lucru.
Opțiuni pe interfețele Ethernet:
inet static
– Definește o adresă IP statică.
inet manual
– Nu definește o adresă IP pentru o interfață. Folosit în general de interfețele care sunt membri de punte sau de agregare, interfețe care trebuie să funcționeze în mod promiscuu ( de exemplu, oglindirea porturilor sau rețelele TAP ) sau au un dispozitiv VLAN configurat pe ele. „Este o modalitate de a menține interfața activă fără o adresă IP.
inet dhcp
– Obțineți adresa IP prin protocolul DHCP.
inet6 static
– Definește o adresă IPv6 statică.
Exemplu:
# 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
Acest exemplu va aduce eth0
în sus și va crea un interfață VLAN numită vlan10
care va procesa eticheta numărul 10 pe un cadru Ethernet.
Opțiuni obișnuite în interiorul unei strofe de interfață (stratul 2 și 3):
address
– Adresă IP pentru o interfață configurată IP statică
netmask
– Mască de rețea. Poate fi angajat dacă utilizați adresa cidr. Exemplu:
iface eth1 inet static address 192.168.1.2/24 gateway 192.168.1.1
gateway
– Gateway-ul implicit al unui server. Aveți grijă să folosiți doar unul dintre acest tip.
vlan-raw-device
– Pe o interfață VLAN, definește „tatăl” său.
bridge_ports
– Pe o interfață bridge, definiți membrii acesteia.
down
– Utilizați următoarea comandă pentru a descărca interfața în loc ifdown
.
post-down
– Acțiuni întreprinse imediat după interfața oprită.
pre-up
– Acțiuni înainte ca interfața să fie activată.
up
– Utilizați următoarea comandă pentru a crește interfața în loc de ifup
. Depinde de imaginația dvs. să utilizați orice opțiune disponibilă pe iputils
. De exemplu, am putea folosi up ip link set $IFACE up mtu 9000
pentru a activa cadre jumbo în timpul up
operațiune (în loc să utilizați însăși opțiunea mtu
). De asemenea, puteți apela orice alt software cum ar fi up sleep 5; mii-tool -F 100baseTx-FD $IFACE
pentru a forța duplexul complet de 100 Mbps la 5 secunde după ce interfața este activată.
hwaddress ether 00:00:00:00:00:00
– Schimbați adresa Mac a interfeței în loc să o utilizați pe cea care este codificată în rom sau generată de algoritmi. Puteți utiliza cuvântul cheie random
pentru a obține o adresă Mac randomizată.
dns-nameservers
– Adrese IP ale serverelor de nume. Necesită pachetul resolvconf
. Este o modalitate de a concentra toate informațiile din /etc/network/interfaces
în loc să utilizați /etc/resolv.conf
pentru configurații legate de DNS. Nu editați manual fișierul de configurare resolv.conf
deoarece acesta va fi modificat dinamic de programele din sistem.
dns-search example.net
– Adăugați example.net ca domeniu la interogările gazdei, creând FQDN. Opțiunea domain
a /etc/resolv.conf
wpa-ssid
– Wireless: setați un SSID WPA fără fir.
mtu
– dimensiunea MTU . mtu 9000
= Jumbo Frame. Util dacă cutia dvs. Linux este conectată cu comutatoare care acceptă dimensiuni MTU mai mari. Poate rupe unele protocoale (am avut experiențe proaste cu cadrele snmp și jumbo).
wpa-psk
– Wireless: setați un PSK codificat hexazecimal pentru SSID-ul dvs.
ip_rp_filter 1
– Filtru de cale inversă activat. Util în situațiile în care aveți 2 rute către o gazdă și acest lucru va forța pachetul să revină de unde a venit (aceeași interfață, folosind rutele sale). Exemplu: sunteți conectat pe lan (192.168.1.1/24
) și aveți un server dlna cu o interfață pe lan (192.168.1.10/24
) și altul interfață pe dmz pentru a executa sarcini administrative (172.16.1.1/24
). În timpul unei sesiuni ssh de la computer la dlna dmz ip, informațiile trebuie să revină la dvs., dar vor fi blocate pentru totdeauna, deoarece serverul dlna dvs. va încerca să ofere răspunsul direct prin interfața lui LAN. Cu rp_filter activat, acesta va asigura că conexiunea va reveni de unde a venit. Mai multe informații aici .
Unele dintre aceste opțiuni nu sunt opționale. Debian va avertiza de exemplu, dacă puneți o adresă IP pe o interfață fără mască de rețea.
Puteți găsi mai multe exemple bune de configurare a rețelei aici .
Lucruri corelate :
Linkuri care au informații legate de /etc/network/interfaces
fișier de configurare a rețelei:
- HOWTO: Wireless Security – WPA1, WPA2, LEAP etc. .
- Cum pot lega două interfețe cu ip / iproute2? .
- Ce este un eveniment hotplug din interfață?
Comentarii
- Mulțumesc, acest lucru ajută mult. Are
inet
legătură cu " internet "?Am citit cumva că înseamnă doar " IPv4 " șiinet6
înseamnă " IPv6 ", dar termenul " inet " este într-adevăr confuz când îl vedeți și îl confundați cu scurt pentru " internet ". Și numele pe care le folosești, cum ar fieth0
, sunt acestea definite sau le pot alege eu? Dacă am mai mult de un adaptor LAN, cum pot spune careeth
aparține cărui adaptor LAN? - Ambele. Împreună definesc metoda de achiziție a adresei IP (dhcp, static, scripturi ppp, fără adresă) și versiunea protocolului ip (
inet
= v4 șiinet6
= v6). Numele interfeței depind destul de mult de distribuția pe care o utilizați și de modul în care este configuratudev
. Debian utilizeazăeth*
șiwlan*
pentru a interfața prin cablu și wireless. Fedora utilizează schema biosdevname în careem0
este prima interfață ethernet încorporată de pe placa de bază șip<slot>p<eth port>
numele unui PCI nic. Puteți repara numele rețelei la/etc/udev/rules.d/70-persistent-net.rules
sau puteți crea un alias peinterfaces
. - În ceea ce privește " gateway – gateway-ul implicit al unui server. aveți grijă să folosiți doar unul dintre acest tip. " Este o interfață per strofă sau o interfață gateway printre toate strofele?
- Ar trebui să existe un singur gateway printre toate strofele sau, veți avea probleme cu ruta dvs. implicită. Pentru a lucra cu multi gateway / multi link, vor fi necesare câteva gândiri cu iptables + marcare pachet + reguli ip.
-
allow-hotplug
nu așteaptă în fundal " evenimente legate de " prin cablu pe porturile Ethernet și nu a făcut-o niciodată. unix.stackexchange.com/a/520633/29483
Răspuns
Aș adăuga, de asemenea, că:
- interfețele sunt pentru serviciile ifup / ifdown.
- Când utilizați allow-hotplug nu va începe cu ifup / ifdown, bcos trebuie să folosiți flag –allow = hotplug.
U poate urmări ce este care se întâmplă cu ifup folosind semnalizatorul –verbose.
Nu sunt 100% sigur, dar se pare că, practic, atunci când ifup este apelat, voi executa toate din / etc / network / interfaces cu up … dacă nu se specifică altfel.
Nu știu cum se referă la: rețea de servicii …
Ar fi bine dacă cineva ar indica ce se întâmplă după apel:
service networking restart
în legătură cu ifup / ifdown.
Răspuns
Dacă trebuie să adăugați opțiuni atunci când utilizați pachetul resolvconf
, adică pe Ubuntu puneți această configurație în /etc/resolvconf/resolv.conf.d/base
:
# /etc/resolvconf/resolv.conf.d/base options timeout:1 attempts:1 rotate
manual
înseamnă că ifupdown nu ' nu faceți nimic în legătură cu acestea, trebuie să o faceți singur manual.