Ik begreep het basisconcept van het gebruik van /etc/network/interfaces
, maar ik vind alleen maar voorbeelden, voorbeelden naar voorbeeld, waaruit ik kan kopiëren en plakken. Wat ik mis is een uitleg van de syntaxis, een uitleg van de betekenis van de commandos en welke volgorde de commandos vereisen. Ik wil het begrijpen, omdat kopiëren en plakken meestal niet genoeg is, omdat ik “niet op een nieuwe machine werk, dus ik kan” niet zomaar bestaande configuraties overschrijven omdat het veel dingen kapot zou maken. man interfaces
was niet erg nuttig aangezien het erg ingewikkeld is geschreven.
Voorbeeldvragen die ik heb: wat doet inet
in een iface
regel betekent precies (ik kon het niet eens vinden in de manpage), wat betekent manual
in een iface
regel precies betekenen (veel voorbeelden gebruiken het, maar volgens manpage heeft het dan een extra configuratiebestand nodig, dat niet in de voorbeelden aanwezig is), wanneer moet ik ze gebruiken of nodig hebben? Wanneer niet? een bridge, wat gebeurt er precies met de interfaces?
Reacties
Answer
Laten we het in stukjes verdelen, zodat het gemakkelijker te begrijpen is /etc/network/interfaces
:
Linklaag + opties voor interfacetype (doorgaans de eerste van elke interface-strofe en de zogenaamde adresfamilie + methode door interfaces(5)
manpages):
auto interface
– Start de interface (s) bij het opstarten. Daarom gebruikt de lo
interface dit soort koppelingsconfiguratie.
allow-auto interface
– Hetzelfde als auto
allow-hotplug interface
– Start de interface wanneer een” hotplug “-gebeurtenis wordt gedetecteerd. In de echte wereld wordt dit gebruikt in dezelfde situaties als auto
, maar het verschil is dat het wacht op een gebeurtenis zoals “wordt gedetecteerd door udev hotplug api” of “kabelgebonden” . Zie “ Related Stuff (hotplug) ” voor aanvullende informatie.
Deze opties zijn min of meer “layer 2” -opties, het instellen van linkstatussen op interfaces, en zijn niet gerelateerd aan “laag 3” (routing en adressering). Als voorbeeld zou u een linkaggregatie kunnen hebben waarbij de bond0-interface omhoog moet staan, ongeacht de linkstatus, en de leden zouden omhoog kunnen zijn na een linkstatusgebeurtenis:
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
Dus, op deze manier maak ik een linkaggregatie en de interfaces zullen eraan worden toegevoegd en verwijderd bij kabellinktoestanden.
Meest voorkomende interfacetypes:
Alle onderstaande opties zijn een achtervoegsel voor een gedefinieerde interface (iface <Interface_family>
). In feite maakt de iface eth0
een stanza aan met de naam eth0
op een Ethernet-apparaat . iface ppp0
zou een point-to-point -interface moeten maken, en het kan verschillende manieren hebben om adressen te verkrijgen, zoals inet wvdial
die de configuratie van deze interface doorstuurt naar wvdialconf
script. De tuple inet
/ inet6
+ option
zal de versie van de IP-protocol dat wordt gebruikt en de manier waarop dit adres wordt geconfigureerd (static
, dhcp
, scripts
…). De online Debian-handleidingen geven u hier meer details over.
Opties op Ethernet-interfaces:
inet static
– Definieert een statisch IP-adres.
inet manual
– Definieert geen IP-adres voor een interface. Over het algemeen gebruikt door interfaces die bridge- of aggregatieleden zijn, interfaces die in promiscuous-modus moeten werken ( bijv. Poortspiegeling of netwerk-TAPs ), of waarop een VLAN-apparaat is geconfigureerd. Het is een manier om de interface zonder IP-adres in stand te houden.
inet dhcp
– Verkrijg een IP-adres via het DHCP-protocol.
inet6 static
– Definieert een statisch IPv6-adres.
Voorbeeld:
# 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
Dit voorbeeld zal eth0
omhoog brengen en een VLAN-interface genaamd vlan10
die het tagnummer 10 op een Ethernet-frame verwerkt.
Algemene opties binnen een interface-strofe (laag 2 en 3):
address
– IP-adres voor een statisch IP-geconfigureerde interface
netmask
– Netwerkmasker. Kan worden weggelaten als u cidr-adres gebruikt. Voorbeeld:
iface eth1 inet static address 192.168.1.2/24 gateway 192.168.1.1
gateway
– De standaardgateway van een server. Pas op dat u slechts één van deze man gebruikt.
vlan-raw-device
– Definieert op een VLAN-interface zijn “vader”.
bridge_ports
– Definieer op een bridge-interface zijn leden.
down
– Gebruik de volgende opdracht om de interface te sluiten in plaats van ifdown
.
post-down
– Acties die worden ondernomen direct nadat de interface is uitgeschakeld.
pre-up
– Acties voordat de interface actief is.
up
– Gebruik de volgende opdracht om de interface te openen in plaats van ifup
. Het is aan uw verbeelding om elke optie te gebruiken die beschikbaar is op iputils
. Als voorbeeld kunnen we up ip link set $IFACE up mtu 9000
gebruiken om jumboframes in te schakelen tijdens de up
operatie (in plaats van de mtu
optie zelf te gebruiken). Je kunt ook andere software aanroepen, zoals up sleep 5; mii-tool -F 100baseTx-FD $IFACE
om 100 Mbps Full duplex 5 seconden nadat de interface is opgestart te forceren.
hwaddress ether 00:00:00:00:00:00
– Verander het mac-adres van de interface in plaats van het adres te gebruiken dat hard gecodeerd is in rom, of gegenereerd is door algoritmen. U kunt het trefwoord random
gebruiken om een willekeurig Mac-adres te krijgen.
dns-nameservers
– IP-adressen van naamservers. Vereist het resolvconf
-pakket. Het is een manier om alle informatie in /etc/network/interfaces
te concentreren in plaats van /etc/resolv.conf
te gebruiken voor DNS-gerelateerde configuraties. Bewerk het resolv.conf
configuratiebestand niet handmatig, aangezien het dynamisch zal worden gewijzigd door programmas in het systeem.
dns-search example.net
– Voeg example.net toe als domein aan vragen van de host, waardoor de FQDN wordt gemaakt. Optie domain
van /etc/resolv.conf
wpa-ssid
– Draadloos: stel een draadloze WPA SSID.
mtu
– MTU -grootte. mtu 9000
= Jumboframe. Handig als uw Linux-box is verbonden met schakelaars die grotere MTU-formaten ondersteunen. Kan sommige protocollen breken (ik had slechte ervaringen met snmp en jumbo frames).
wpa-psk
– Draadloos: stel een hexadecimaal gecodeerde PSK in voor je SSID.
ip_rp_filter 1
– Omgekeerd padfilter ingeschakeld. Handig in situaties waarin je 2 routes naar een host hebt, en dit zal het pakket dwingen terug te komen van waar het vandaan kwam (dezelfde interface, met behulp van zijn routes). Voorbeeld: je bent verbonden met je lan (192.168.1.1/24
) en je hebt een dlna-server met één interface op je lan (192.168.1.10/24
) en andere interface op dmz om administratieve taken uit te voeren (172.16.1.1/24
). Tijdens een SSH-sessie van uw computer naar dlna dmz ip, moet de informatie naar u terugkomen, maar zal voor altijd blijven hangen omdat uw dlna-server zal proberen om het antwoord rechtstreeks via de LAN-interface te leveren. Met rp_filter ingeschakeld, zorgt het ervoor dat dat de verbinding terug zal komen van waar deze vandaan kwam. Meer informatie hier .
Sommige van deze opties zijn niet optioneel. Debian zal waarschuwen u als u bijvoorbeeld een IP-adres op een interface zonder netmasker plaatst.
Meer goede voorbeelden van netwerkconfiguratie vindt u hier .
Gerelateerde dingen :
Links die informatie hebben gerelateerd aan /etc/network/interfaces
netwerkconfiguratiebestand:
- HOWTO: draadloze beveiliging – WPA1, WPA2, LEAP, enz. .
- Hoe kan ik twee interfaces overbruggen met ip / iproute2? .
- Wat is een hotplug-evenement vanuit de interface?
Reacties
- Bedankt, dit helpt veel. Heeft
inet
iets te maken met " internet "?Ik heb ergens gelezen dat het alleen " IPv4 " betekent eninet6
betekent " IPv6 ", maar de term " inet " is echt verwarrend als je het ziet en het verwart met een afkorting voor " internet ". En de namen die men gebruikt, zoalseth0
, zijn deze gedefinieerd of kan ik ze zelf kiezen? Als ik meer dan één LAN-adapter heb, hoe weet ik dan welkeeth
bij welke LAN-adapter hoort? - Beide. Samen definiëren ze de methode voor het verkrijgen van ip-adressen (dhcp, statisch, ppp-scripts, geen adres) en de versie van het ip-protocol (
inet
= v4 eninet6
= v6). De interfacenamen hangen grotendeels af van de distributie die u gebruikt en de manier waaropudev
is geconfigureerd. Debian gebruikteth*
enwlan*
voor kabel- en draadloze interfaces. Fedora gebruikt het biosdevname schema waarbijem0
de eerste ingebouwde ethernet interface op je moederbord is, enp<slot>p<eth port>
de naam voor een PCI nic. U kunt netwerknamen corrigeren op/etc/udev/rules.d/70-persistent-net.rules
of een alias maken opinterfaces
. - Met betrekking tot " gateway – de standaard gateway van een server. pas op dat u slechts één van deze strofen gebruikt. " Is dat er één per strofe of één gateway-interface tussen alle strofen?
- Moet een gateway zijn tussen alle strofen, of u zult problemen hebben met uw standaardroute. Om met multi gateway / multi link te werken, is wat denkwerk met iptables + pakketmarkering + ip-regels nodig.
-
allow-hotplug
wacht niet op de achtergrond op " kabelgebonden " gebeurtenissen op Ethernet-poorten, en dat heeft het nog nooit gedaan. unix.stackexchange.com/a/520633/29483
Antwoord
Ik zou ook willen toevoegen dat:
- interfaces zijn voor ifup / ifdown-services.
- Wanneer u allow-hotplug gebruikt, zal het niet starten met ifup / ifdown, bcos u moet flag –allow = hotplug gebruiken.
U mag volgen wat is gebeurt met ifup door –verbose flag te gebruiken.
Ik ben hier niet 100% zeker van, maar het lijkt erop dat wanneer ifup wordt aangeroepen, je alles zal uitvoeren vanuit / etc / network / interfaces met up … tenzij anders vermeld.
Ik weet niet zeker hoe het zich verhoudt tot: servicenetwerken …
Het zou leuk zijn als iemand zou aangeven wat er gebeurt na een oproep:
service networking restart
met betrekking tot ifup / ifdown.
Antwoord
Als u opties moet toevoegen wanneer u het resolvconf
-pakket gebruikt, dwz op Ubuntu zet je die configuratie in /etc/resolvconf/resolv.conf.d/base
:
# /etc/resolvconf/resolv.conf.d/base options timeout:1 attempts:1 rotate
manual
betekent dat ifupdown don ' doe er niets aan, je moet het zelf handmatig doen.