Jeg forsto det helt grunnleggende konseptet med hvordan jeg bruker /etc/network/interfaces
, men alt jeg finner på nettet er eksempler, eksempel etter eksempel, som jeg kan kopiere og lime inn fra. Det jeg savner er en forklaring på syntaksen, en forklaring på betydningen av kommandoene og hvilken rekkefølge kommandoene krever. Jeg vil forstå, for det meste er ikke copy-paste nok, fordi jeg ikke jobber på en ny maskin, så jeg kan ikke bare overskrive eksisterende konfigurasjoner fordi det ville ødelegge mange ting. man interfaces
var ikke veldig nyttig siden det er skrevet veldig komplisert.
Eksempler på spørsmål jeg har: hva gjør inet
i en iface
linje betyr nøyaktig (jeg kunne ikke engang finne den på hjemmesiden), hva betyr manual
i en iface
linjen betyr nøyaktig (mange eksempler bruker den, men ifølge manpage trenger den en ekstra konfigurasjonsfil da, som eksemplene ikke presenterer), når bruker jeg eller trenger jeg dem? Når ikke? Når jeg oppretter en bro, hva skjer egentlig med grensesnittene?
Kommentarer
Svar
Vel, la oss skille det i biter, for å gjøre det lettere å forstå /etc/network/interfaces
:
Koblingslag + alternativer for grensesnitttype (vanligvis den første av hver grensesnittstrofe og kalles adressefamilien + metode av interfaces(5)
manpages):
auto interface
– Start grensesnittet (e) ved oppstart. Derfor bruker lo
grensesnittet denne typen koblingskonfigurasjon.
allow-auto interface
– Samme som auto
allow-hotplug interface
– Start grensesnittet når en» hotplug «-hendelse oppdages. I den virkelige verden brukes dette i de samme situasjonene som auto
men forskjellen er at den vil vente på en hendelse som «å bli oppdaget av udev hotplug api» eller «kabellinket» . Se « Relaterte ting (hotplug) » for mer informasjon.
Disse alternativene er ganske mye «lag 2» -alternativer, og konfigurerer koblingstilstander på grensesnitt, og er ikke relatert til «lag 3» (ruting og adressering). Som et eksempel kan du ha en koblingsaggregering der bond0-grensesnittet må være oppe uansett hvilken koblingstilstand det er, og medlemmene kan være oppe etter en koblingstilstandshendelse:
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åten lager jeg en koblingsaggregasjon , og grensesnittene blir lagt til den og fjernet ved kabellinkstatus.
Vanligste grensesnitttyper:
Alle alternativene nedenfor er et suffiks til et definert grensesnitt (iface <Interface_family>
). I utgangspunktet skaper iface eth0
en strofe kalt eth0
på en Ethernet-enhet . iface ppp0
skal opprette et punkt-til-punkt -grensesnitt, og det kan ha forskjellige måter å skaffe seg adresser som inet wvdial
som vil videresende konfigurasjonen av dette grensesnittet til wvdialconf
skript. Tupelen inet
/ inet6
+ option
vil definere versjonen av IP-protokoll som skal brukes og måten denne adressen blir konfigurert på (static
, dhcp
, scripts
…). online Debian-håndbøker vil gi deg mer informasjon om dette.
Alternativer for Ethernet-grensesnitt:
inet static
– Definerer en statisk IP-adresse.
inet manual
– Definerer ikke en IP-adresse for et grensesnitt. Vanligvis brukt av grensesnitt som er bro- eller aggregeringsmedlemmer, grensesnitt som trenger å fungere i promiskuøs modus ( f.eks. Portavspeiling eller nettverkstap ), eller har en VLAN-enhet konfigurert på seg. Det er en måte å holde grensesnittet oppe uten IP-adresse.
inet dhcp
– Få IP-adresse gjennom DHCP-protokoll.
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 eksemplet vil bringe eth0
opp, og opprette en VLAN-grensesnitt kalt vlan10
som behandler kodenummer 10 på en Ethernet-ramme.
Vanlige alternativer i en grensesnittstrofa (lag 2 og 3):
address
– IP-adresse for et statisk IP-konfigurert grensesnitt
netmask
– Nettverksmaske. Kan utelates hvis du bruker cidr-adresse. Eksempel:
iface eth1 inet static address 192.168.1.2/24 gateway 192.168.1.1
gateway
– Standard gateway for en server. Vær forsiktig med å bruke bare en av denne fyren.
vlan-raw-device
– Definerer «far» på et VLAN-grensesnitt.
bridge_ports
– På et brogrensesnitt definerer du medlemmene.
down
– Bruk følgende kommando til å gå ned grensesnittet i stedet for ifdown
.
post-down
– Handlinger som er tatt rett etter at grensesnittet er nede.
pre-up
– Handlinger før grensesnittet er oppe.
up
– Bruk følgende kommando for å øke grensesnittet i stedet for ifup
. Det er opp til din fantasi å bruke et hvilket som helst alternativ som er tilgjengelig på iputils
. Som et eksempel kan vi bruke up ip link set $IFACE up mtu 9000
for å aktivere jumbo-rammer under up
operasjon (i stedet for å bruke alternativet mtu
). Du kan også ringe annen programvare som up sleep 5; mii-tool -F 100baseTx-FD $IFACE
for å tvinge 100 Mbps Full dupleks 5 sekunder etter at grensesnittet er oppe.
hwaddress ether 00:00:00:00:00:00
– Endre mac-adressen til grensesnittet i stedet for å bruke den som er hardkodet til rom, eller generert av algoritmer. Du kan bruke nøkkelordet random
for å få en randomisert mac-adresse.
dns-nameservers
– IP-adresser til navneservere. Krever resolvconf
-pakken. Det er en måte å konsentrere all informasjon i /etc/network/interfaces
i stedet for å bruke /etc/resolv.conf
for DNS-relaterte konfigurasjoner. Ikke rediger resolv.conf
konfigurasjonsfilen manuelt, da den endres dynamisk av programmer i systemet.
dns-search example.net
– Legg eksempel.net som domene til spørsmål fra verten, og opprett FQDN. Alternativ domain
av /etc/resolv.conf
wpa-ssid
– Trådløs: Angi en trådløs WPA SSID.
mtu
– MTU størrelse. mtu 9000
= Jumbo-ramme. Nyttig hvis Linux-boksen din er koblet til brytere som støtter større MTU-størrelser. Kan bryte noen protokoller (jeg hadde dårlige erfaringer med snmp og jumbo-rammer).
wpa-psk
– Trådløs: Sett et heksadesimalt kodet PSK for SSID.
ip_rp_filter 1
– Filter for omvendt sti aktivert. Nyttig i situasjoner der du har to ruter til en vert, og dette vil tvinge pakken til å komme tilbake fra der den kom (samme grensesnitt, ved hjelp av rutene). Eksempel: Du er koblet til lan (192.168.1.1/24
), og du har en dlna-server med ett grensesnitt på lan (192.168.1.10/24
) og annet grensesnitt på dmz for å utføre administrative oppgaver (172.16.1.1/24
). Under en ssh-økt fra datamaskinen din til dlna dmz ip, må informasjonen komme tilbake til deg, men vil henge for alltid fordi dlna-serveren din vil prøve å levere svaret direkte gjennom LAN-grensesnittet. Med rp_filter aktivert, vil det sikre at forbindelsen kommer tilbake fra hvor den kom fra. Mer informasjon her .
Noen av disse alternativene er ikke valgfrie. Debian vil advare deg hvis du for eksempel setter en IP-adresse på et grensesnitt uten nettmaske.
Du kan finne flere gode eksempler på nettverkskonfigurasjon her .
Relaterte ting :
Koblinger som har informasjon relatert til /etc/network/interfaces
nettverkskonfigurasjonsfil:
- HOWTO: Trådløs sikkerhet – WPA1, WPA2, LEAP, etc .
- Hvordan kan jeg bygge bro over to grensesnitt med ip / iproute2? .
- Hva er en hotplug-hendelse fra grensesnittet?
Kommentarer
- Takk, dette hjelper mye. Har
inet
noe med " internett "?Jeg leste noen at det bare betyr " IPv4 " oginet6
betyr " IPv6 ", men begrepet " inet " er veldig forvirrende når du ser det og forveksler det med forkortelse for " internett ". Og navnene man bruker, someth0
, er disse definert, eller kan jeg velge dem selv? Hvis jeg har mer enn en LAN-adapter, hvordan kan jeg fortelle hvilkeneth
som tilhører hvilken LAN-adapter? - Begge. Sammen definerer de metoden for ip-adresseoppkjøp (dhcp, statisk, ppp-skript, ingen adresse) og versjon av ip-protokoll (
inet
= v4 oginet6
= v6). Grensesnittnavnene avhenger ganske mye av distribusjonen du bruker, og måtenudev
er konfigurert. Debian brukereth*
ogwlan*
til kabel- og trådløse grensesnitt. Fedora bruker biosdevname-ordningen derem0
er det første innebygde Ethernet-grensesnittet på hovedkortet ditt, ogp<slot>p<eth port>
navnet på en PCI nic. Du kan fikse nettverksnavn på/etc/udev/rules.d/70-persistent-net.rules
eller opprette alias påinterfaces
. - Angående " gateway – standard gateway for en server. vær forsiktig med å bare bruke en av denne fyren. " Er det en per strofe eller ett gateway-grensesnitt blant alle strofer?
- Bør være en gateway blant alle strofer, eller, vil du ha problemer med standardruten. For å jobbe med multi gateway / multi link, vil det være nødvendig med noen tanker med iptables + pakkemerking + ip-regler.
-
allow-hotplug
venter ikke i bakgrunnen på " kabelkoblet " hendelser på Ethernet-porter, og det har det aldri gjort. unix.stackexchange.com/a/520633/29483
Svar
Jeg vil også legge til at:
- grensesnitt er for ifup / ifdown-tjenester.
- Når du bruker allow-hotplug, begynner det ikke med ifup / ifdown, bcos u trenger å bruke flagg –allow = hotplug.
U kan spore hva som er skjer med ifup ved å bruke –verbose flag.
Jeg er ikke 100% klar over dette, men det ser ut til at i utgangspunktet når ifup kalles vil du utføre alt fra / etc / network / interfaces with up … hvis ikke annet er oppgitt.
Jeg er ikke sikker på hvordan det forholder seg til: tjenestenettverk …
Ville være fint om noen ville peke på hva som skjer etter samtale:
service networking restart
i forhold til ifup / ifdown.
Svar
Hvis du trenger å legge til alternativer når du bruker resolvconf
-pakken, dvs. på Ubuntu setter du den konfigurasjonen i /etc/resolvconf/resolv.conf.d/base
:
# /etc/resolvconf/resolv.conf.d/base options timeout:1 attempts:1 rotate
manual
betyr at ifupdown ikke ' ikke gjør noe med dem, du må gjøre det selv manuelt.