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
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:
- HOWTO: Trådløs sikkerhed – WPA1, WPA2, LEAP osv. .
- Hvordan kan jeg bygge bro over to grænseflader med ip / iproute2? .
- Hvad er en hotplug-begivenhed fra grænsefladen?
Kommentarer
- Tak, dette hjælper meget. Har
inet
noget at gøre med " internet "?Jeg læste nogle, at det bare betyder " IPv4 " oginet6
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, someth0
, 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 oginet6
= v6). Grænsefladenavne afhænger stort set af den distribution, du bruger, og den måde,udev
er konfigureret på. Debian brugereth*
ogwlan*
til kabel- og trådløse grænseflader. Fedora bruger biosdevname-ordningen, hvorem0
er den første indbyggede ethernet-interface på dit bundkort, ogp<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
manual
betyder, at ifupdown ikke ' for ikke at gøre noget ved dem, du skal selv gøre det.