Jeg forstod det meget grundlæggende koncept for, hvordan man bruger /etc/network/interfaces, men alt hvad jeg finder online er eksempler, eksempel efter eksempel, som jeg kan kopiere og indsætte fra. Det jeg savner er en forklaring på syntaksen, en forklaring på betydningen af kommandoerne og hvilken rækkefølge kommandoerne kræver. Jeg vil forstå det, for det meste er copy-paste ikke nok, fordi jeg ikke arbejder på en ny maskine, så jeg kan ikke bare overskrive eksisterende konfigurationer, fordi det ville bryde en masse ting. man interfaces var ikke særlig nyttigt, da det er skrevet meget kompliceret.

Eksempler på spørgsmål, jeg har: hvad har inet i en iface linje betyder nøjagtigt (jeg kunne ikke engang finde den på manpage), hvad betyder manual i en iface linjen betyder nøjagtigt (mange eksempler bruger den, men ifølge manpage har den brug for en ekstra konfigurationsfil, som eksemplerne ikke præsenterer), hvornår bruger jeg eller har jeg brug for dem? Hvornår ikke? Når jeg opretter en bro, hvad sker der nøjagtigt med grænsefladerne?

Kommentarer

  • Man-siden siger, hvad der kommer efter grænsefladenavnet er den adressefamilie, som grænsefladen bruger. " inet " er navnet på IPv4, inet6 til ipv6. Der ' s også ipx, x25, appletalk … selvom ifupdown kun beskæftiger sig med inet / inet6 / ipx som man-siden forklarer. manual betyder, at ifupdown ikke ' for ikke at gøre noget ved dem, du skal selv gøre det.

Svar

Nå, lad os adskille det i stykker for at gøre det lettere at forstå /etc/network/interfaces:

Linklag + valgmuligheder for interface-type (generelt den første af hver interface-strofe og kaldet adressefamilie + -metode ved interfaces(5) manpages):

auto interface – Start grænsefladen (e) ved opstart. Derfor bruger grænsefladen lo denne form for linkkonfiguration.

allow-auto interface – Samme som auto

allow-hotplug interface – Start grænsefladen, når der registreres en” hotplug “-hændelse. I den virkelige verden bruges dette i de samme situationer som auto men forskellen er, at den venter på en begivenhed som “at blive opdaget af udev hotplug api” eller “kabelforbundet” . Se “ Relaterede ting (hotplug) ” for at få yderligere oplysninger.

Disse muligheder er stort set “lag 2” -muligheder, opsætning af linktilstande på grænseflader og er ikke relateret til “lag 3” (routing og adressering). Som et eksempel kan du have en sammenlægning af et link, hvor bond0-grænsefladen skal være op uanset linktilstanden, og dens medlemmer kan være op efter en linktilstandshændelse:

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 

Så på denne måde opretter jeg en linkaggregering , og grænsefladerne føjes til den og fjernes på kabellinktilstande.

Mest almindelige grænsefladetyper:

Alle nedenstående indstillinger er et suffiks til en defineret grænseflade (iface <Interface_family>). Grundlæggende skaber iface eth0 en strofe kaldet eth0 på en Ethernet-enhed . iface ppp0 skal oprette et punkt-til-punkt interface, og det kan have forskellige måder at erhverve adresser som inet wvdial, der videresender konfigurationen af denne grænseflade til wvdialconf script. Tuplen inet / inet6 + option definerer versionen af IP-protokol , der vil blive brugt, og hvordan denne adresse vil blive konfigureret (static, dhcp, scripts …). online Debian-manualer giver dig flere detaljer om dette.

Indstillinger for Ethernet-grænseflader:

inet static – Definerer en statisk IP-adresse.

inet manual – Definerer ikke en IP-adresse til en grænseflade. Bruges generelt af grænseflader, der er bro- eller aggregeringsmedlemmer, grænseflader, der skal fungere i promiskuøs tilstand ( f.eks. Portafspejling eller netværkstaper ) eller har en VLAN-enhed konfigureret på dem. Det er en måde at holde grænsefladen op uden en IP-adresse.

inet dhcp – Hent IP-adresse gennem DHCP-protokol.

inet6 static – Definerer en statisk IPv6-adresse.

Eksempel:

# 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 

Dette eksempel bringer eth0 op og opretter en VLAN-interface kaldet vlan10 der behandler tag nummer 10 på en Ethernet-ramme.

Almindelige muligheder i en interface-strofe (lag 2 og 3):

address – IP-adresse til en statisk IP-konfigureret grænseflade

netmask – Netværksmaske. Kan udelades, hvis du bruger cidr-adresse. Eksempel:

iface eth1 inet static address 192.168.1.2/24 gateway 192.168.1.1 

gateway – Serverens standardgateway. Vær forsigtig med kun at bruge en af denne fyr.

vlan-raw-device – På en VLAN-grænseflade defineres dens “far”.

bridge_ports – På en brogrænseflade skal du definere dens medlemmer.

down – Brug følgende kommando til at gå ned i grænsefladen i stedet for ifdown.

post-down – Handlinger taget lige efter grænsefladen er nede.

pre-up – Handlinger inden grænsefladen er op.

up – Brug følgende kommando til at oprette grænsefladen i stedet for ifup. Det er op til din fantasi at bruge enhver mulighed, der er tilgængelig på iputils. Som et eksempel kunne vi bruge up ip link set $IFACE up mtu 9000 til at aktivere jumbo frames under up operation (i stedet for at bruge selve indstillingen mtu). Du kan også ringe til enhver anden software som up sleep 5; mii-tool -F 100baseTx-FD $IFACE for at tvinge 100 Mbps Fuld duplex 5 sekunder efter, at grænsefladen er op.

hwaddress ether 00:00:00:00:00:00 – Skift interfacets mac-adresse i stedet for at bruge den, der er hardkodet til rom eller genereret af algoritmer. Du kan bruge nøgleordet random for at få en randomiseret mac-adresse.

dns-nameservers – IP-adresser på navneservere. Kræver pakken resolvconf. Det er en måde at koncentrere alle oplysningerne i /etc/network/interfaces i stedet for at bruge /etc/resolv.conf til DNS-relaterede konfigurationer. Rediger ikke konfigurationsfilen resolv.conf, da den ændres dynamisk af programmer i systemet.

dns-search example.net – Tilføj eksempel.net som domæne til værtsforespørgsler, og opret FQDN. Indstilling domain af /etc/resolv.conf

wpa-ssid – Trådløs: Indstil en trådløs WPA SSID.

mtu MTU størrelse. mtu 9000 = Jumbo-ramme. Nyttigt, hvis din Linux-boks er forbundet med switche, der understøtter større MTU-størrelser. Kan bryde nogle protokoller (jeg havde dårlige erfaringer med snmp og jumbo frames).

wpa-psk – Trådløs: Indstil en hexadecimal kodet PSK til dit SSID.

ip_rp_filter 1 Filter til omvendt sti aktiveret. Nyttigt i situationer, hvor du har to ruter til en vært, og dette vil tvinge pakken til at vende tilbage fra, hvor den kom (samme interface ved hjælp af dens ruter). Eksempel: Du er forbundet på din lan (192.168.1.1/24), og du har en dlna-server med en grænseflade på din lan (192.168.1.10/24) og andet interface på dmz for at udføre administrative opgaver (172.16.1.1/24). Under en ssh-session fra din computer til dlna dmz ip, skal oplysningerne komme tilbage til dig, men de vil hænge for evigt, fordi din dlna-server vil forsøge at levere svaret direkte igennem sin lan-grænseflade. Med rp_filter aktiveret, vil det sikre at forbindelsen kommer tilbage fra hvor den kom fra. Flere oplysninger her .

Nogle af disse muligheder er ikke valgfri. Debian advarer dig, hvis du f.eks. placerer en IP-adresse på en grænseflade uden en netmaske.

Du kan finde flere gode eksempler på netværkskonfiguration her .

Relaterede ting :

Links, der har information relateret til /etc/network/interfaces netværkskonfigurationsfil:

Kommentarer

  • Tak, dette hjælper meget. Har inet noget at gøre med " internet "?Jeg læste nogle, at det bare betyder " IPv4 " og inet6 betyder " IPv6 ", men udtrykket " inet " er virkelig forvirrende, når du ser det og forveksler det med forkortelse for " internet ". Og de navne man bruger, som eth0, er disse defineret, eller kan jeg vælge dem selv? Hvis jeg har mere end en LAN-adapter, hvordan fortæller jeg så eth, der hører til hvilken LAN-adapter?
  • Begge. Sammen definerer de metoden til ip-adresseopkøb (dhcp, statiske, ppp-scripts, ingen adresse) og version af ip-protokol (inet = v4 og inet6 = v6). Grænsefladenavne afhænger stort set af den distribution, du bruger, og den måde, udev er konfigureret på. Debian bruger eth* og wlan* til kabel- og trådløse grænseflader. Fedora bruger biosdevname-ordningen, hvor em0 er den første indbyggede ethernet-interface på dit bundkort, og p<slot>p<eth port> navnet på en PCI nic. Du kan rette netværksnavne på /etc/udev/rules.d/70-persistent-net.rules eller oprette alias på interfaces.
  • Med hensyn til " gateway – serverens standardgateway. vær forsigtig med kun at bruge en af denne fyr. " Er det en pr. strofe eller en gatewaygrænseflade blandt alle strofer?
  • Skal der være en gateway blandt alle strofer, eller du har problemer med din standardrute. For at arbejde med multi gateway / multi link er det nødvendigt med nogle tænkning med iptables + pakkemarkering + ip-regler.
  • allow-hotplug venter ikke i baggrunden på " kabelforbundet " begivenheder på Ethernet-porte, og det har det aldrig gjort. unix.stackexchange.com/a/520633/29483

Svar

Jeg vil også tilføje, at:

  • interfaces er til ifup / ifdown-tjenester.
  • Når du bruger tilladelig hotplug, starter den ikke med ifup / ifdown, bcos u har brug for flag –allow = hotplug.

U kan spore hvad der er sker med ifup ved hjælp af –verbose flag.

Jeg er ikke 100% klar over dette, men det ser ud til, at dybest set når ifup kaldes, vil du udføre alt fra / etc / netværk / grænseflader med op … hvis ikke andet er angivet.

Jeg er ikke sikker på, hvordan det vedrører: servicenetværk …

Det ville være rart, hvis nogen ville pege på, hvad der sker efter opkald:

service networking restart 

i forhold til ifup / ifdown.

Svar

Hvis du har brug for at tilføje indstillinger, når du bruger resolvconf -pakken, dvs. på Ubuntu sætter du denne konfiguration i /etc/resolvconf/resolv.conf.d/base:

# /etc/resolvconf/resolv.conf.d/base options timeout:1 attempts:1 rotate 

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *