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

  • Pagina manuală spune că ceea ce vine după numele interfeței este familia de adrese pe care interfața utilizări. " inet " este numele pentru IPv4, inet6 pentru ipv6. Acolo ' De asemenea, ipx, x25, appletalk …, deși ifupdown se ocupă doar de inet / inet6 / ipx așa cum explică pagina de manual. manual înseamnă că ifupdown nu ' nu faceți nimic în legătură cu acestea, trebuie să o faceți singur manual.

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:

Comentarii

  • Mulțumesc, acest lucru ajută mult. Are inet legătură cu " internet "?Am citit cumva că înseamnă doar " IPv4 " și inet6 î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 fi eth0, sunt acestea definite sau le pot alege eu? Dacă am mai mult de un adaptor LAN, cum pot spune care eth 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 și inet6 = v6). Numele interfeței depind destul de mult de distribuția pe care o utilizați și de modul în care este configurat udev. Debian utilizează eth* și wlan* pentru a interfața prin cablu și wireless. Fedora utilizează schema biosdevname în care em0 este prima interfață ethernet încorporată de pe placa de bază și p<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 pe interfaces.
  • Î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 

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *