Ymmärsin peruskäsitteen /etc/network/interfaces käytöstä, mutta verkossa löydän vain esimerkkejä esimerkin jälkeen, josta voin kopioida ja liittää. Kaipaan on selitys syntaksista, selitys komentojen merkityksestä ja järjestyksestä, jonka komennot edellyttävät. Haluan ymmärtää, koska useimmiten copy-paste ei riitä, koska en toimi uudella koneella, joten en voi vain korvata olemassa olevia kokoonpanoja, koska se rikkoo paljon tavaraa. man interfaces ei ollut kovin hyödyllinen, koska se on kirjoitettu hyvin monimutkaiseksi.

Minulla on esimerkkikysymyksiä: mitä inet iface -rivi tarkoittaa tarkalleen (en edes löytänyt sitä sivulta), mitä manual tarkoittaa iface rivi tarkoittaa tarkalleen (monet esimerkit käyttävät sitä, mutta manpagen mukaan se tarvitsee sitten ylimääräisen määritystiedoston, jota esimerkit eivät esitä), milloin käytän tai tarvitsen niitä? Milloin ei? Kun luot silta, mitä tarkalleen tapahtuu liitännöille?

Kommentit

  • Man-sivu kertoo, mitä käyttöliittymän nimen jälkeen tulee osoiteperhe, jonka käyttöliittymä on käyttää. " inet " on IPv4: n nimi, inet6: ipv6. Siellä ' s myös ipx, x25, appletalk …, vaikka ifupdown käsittelisi vain inet / inet6 / ipx: tä, kuten man-sivu selittää. manual tarkoittaa, että ifupdown don ' t tee mitään heille, sinun on tehtävä se itse manuaalisesti.

Vastaa

Erotetaan se palasiksi, jotta sen ymmärtäminen olisi helpompaa /etc/network/interfaces:

Linkkitaso + käyttöliittymätyyppivaihtoehdot (yleensä jokaisen käyttöliittymäjakson ensimmäinen ja kutsutaan osoiteperhe + -menetelmäksi interfaces(5) -sivut):

auto interface – Käynnistä käyttöliittymä (t) käynnistyksen yhteydessä. Siksi lo -rajapinta käyttää tällaista linkityskokoonpanoa.

allow-auto interface – Sama kuin auto

allow-hotplug interface – Käynnistä käyttöliittymä, kun” hotplug ”-tapahtuma havaitaan. Todellisessa maailmassa tätä käytetään samoissa tilanteissa kuin auto, mutta ero on siinä, että se odottaa tapahtumaa, kuten ”udev hotplug api havaitsee” tai ”kaapeliin kytketty” . Katso lisätietoja kohdasta ” Liittyvät asiat (hotplug) ”.

Nämä vaihtoehdot ovat melko ”tason 2” vaihtoehtoja, jotka asettavat linkkitilat rajapinnoissa, eivätkä ne liity ”kerrokseen 3” (reititys ja osoitteet). Esimerkkinä voi olla linkkien yhdistäminen, jossa bond0-liitännän on oltava ylhäällä linkkitilasta riippumatta, ja sen jäsenet voivat olla ylöspäin linkkitilan tapahtuman jälkeen:

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 

Tällä tavalla luon linkkien yhdistämisen ja liitännät lisätään siihen ja poistetaan kaapelilinkkitiloissa.

Yleisimmät liitäntätyypit:

Kaikki alla olevat vaihtoehdot ovat pääte määriteltyyn käyttöliittymään (iface <Interface_family>). Pohjimmiltaan iface eth0 luo -jakson , jota kutsutaan eth0 Ethernet-laitteeseen . iface ppp0 pitäisi luoda pisteestä pisteeseen -liitäntä, ja sillä voi olla erilaisia tapoja hankkia osoitteita, kuten inet wvdial joka välittää tämän käyttöliittymän kokoonpanon komentosarjaan wvdialconf. Tuple inet / inet6 + option määrittelee version IP-protokolla , jota käytetään ja tapa, jolla tämä osoite määritetään (static, dhcp, scripts …). Debianin online-käyttöoppaat antavat lisätietoja tästä.

Ethernet-liitäntöjen asetukset:

inet static – Määrittää staattisen IP-osoitteen.

inet manual – Ei määritä IP-osoitetta käyttöliittymälle. Yleensä käyttävät rajapinnat, jotka ovat silta- tai yhdistämisjäseniä, rajapinnat, joiden on toimittava röyhkeässä tilassa ( esim. Portin peilaus tai verkon TAPit ) tai joihin on määritetty VLAN-laite. Se on tapa pitää käyttöliittymä ajan tasalla ilman IP-osoitetta.

inet dhcp – Hanki IP-osoite DHCP-protokollan kautta.

inet6 static – määrittää staattisen IPv6-osoitteen.

Esimerkki:

# 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 

Tämä esimerkki tuo eth0 ylös ja luo VLAN-liitäntä , jota kutsutaan nimellä vlan10, joka käsittelee tagin numeron 10 Ethernet-kehyksessä.

Yleiset asetukset käyttöliittymäjakson sisällä (kerrokset 2 ja 3):

address – staattisen IP-määritetyn käyttöliittymän IP-osoite

netmask – Verkkomask. Voidaan ohittaa, jos käytät cidr-osoitetta. Esimerkki:

iface eth1 inet static address 192.168.1.2/24 gateway 192.168.1.1 

gateway – Palvelimen oletusyhdyskäytävä. Ole varovainen, jos haluat käyttää vain yhtä kaveria.

vlan-raw-device – VLAN-käyttöliittymässä määritetään sen isä.

bridge_ports – Määritä sillan käyttöliittymässä sen jäsenet.

down – Aloita käyttöliittymä seuraavan komennon sijaan ifdown.

post-down – Toiminnot, jotka suoritetaan heti käyttöliittymän ollessa poissa käytöstä.

pre-up – Toiminnot ennen kuin käyttöliittymä on päällä.

up – Käytä seuraavaa komentoa liittymän päivittämiseen ifup. Mielikuvituksesi on käyttää mitä tahansa vaihtoehtoja, jotka ovat käytettävissä iputils. Esimerkkinä voimme käyttää up ip link set $IFACE up mtu 9000 ottaaksesi jumbokehykset käyttöön up -operaatio (sen sijaan, että käyttäisit itse vaihtoehtoa mtu). Voit myös soittaa mihin tahansa muuhun ohjelmistoon, kuten up sleep 5; mii-tool -F 100baseTx-FD $IFACE pakottaaksesi 100Mbps Full Duplex 5 sekunnin kuluttua käyttöliittymän muodostumisesta.

hwaddress ether 00:00:00:00:00:00 – Muuta käyttöliittymän mac-osoitetta sen sijaan, että käyttäisit osoitetta, joka on kovakoodattu romiksi tai generoitu algoritmeilla. Voit käyttää satunnaistettua mac-osoitetta hakusanalla random.

dns-nameservers – nimipalvelimien IP-osoitteet. Edellyttää pakettia resolvconf. Se on tapa keskittää kaikki tiedot /etc/network/interfaces -kansioon sen sijaan, että käyttäisit /etc/resolv.conf -palvelua DNS-kokoonpanoihin. Älä muokkaa määritystiedostoa resolv.conf manuaalisesti, koska järjestelmän ohjelmat muuttavat sitä dynaamisesti.

dns-search example.net – Liitä esimerkki.net verkkotunnuksena isäntäkyselyihin luomalla FQDN. Vaihtoehto domain / /etc/resolv.conf

wpa-ssid – Langaton: Aseta langaton WPA SSID.

mtu MTU -koko. mtu 9000 = Jumbo-kehys. Hyödyllinen, jos Linux-ruutusi on kytketty kytkimiin, jotka tukevat suurempia MTU-kokoja. Voi rikkoa joitain protokollia (minulla oli huonoja kokemuksia snmp- ja jumbo-kehyksistä).

wpa-psk – Langaton: aseta heksadesimaalikoodattu PSK SSID-tunnuksellesi.

ip_rp_filter 1 Käänteisen polun suodatin käytössä. Hyödyllinen tilanteissa, joissa sinulla on 2 reittiä isäntään, ja tämä pakottaa paketin palaamaan sinne, missä se tuli (sama käyttöliittymä, käyttäen sen reittejä). Esimerkki: Olet yhteydessä lan-verkkoon (192.168.1.1/24) ja sinulla on dlna-palvelin, jolla on yksi käyttöliittymä lanilla (192.168.1.10/24) ja muu käyttöliittymä dmz: ssä hallinnollisten tehtävien suorittamiseen (172.16.1.1/24). Tietokoneeltasi sl-istunnon aikana dlna dmz ip -tietoon tietojen on palattava takaisin, mutta ne pysyvät ikuisesti, koska dlna-palvelimesi yrittää toimittaa vastauksen suoraan sen LAN-käyttöliittymän kautta. Kun rp_filter on käytössä, se varmistaa että yhteys tulee takaisin siitä, mistä se tuli. Lisätietoja täällä .

Jotkin näistä vaihtoehdoista eivät ole valinnaisia. Debian varoittaa jos asetat IP-osoitteen esimerkiksi käyttöliittymään ilman verkkomaskia.

Löydät lisää hyviä esimerkkejä verkon määrityksistä täältä .

Liittyvät asiat :

Linkit, joilla on tietoa aiheeseen /etc/network/interfaces verkon määritystiedosto:

Kommentit

  • Kiitos, tämä auttaa paljon. Onko inet mitään tekemistä " internetin kanssa "?Luin jonkun, että se tarkoittaa vain " IPv4 " ja inet6 tarkoittaa " IPv6 ", mutta termi " inet " on todella hämmentävä, kun näet sen ja sekoitat sen lyhyellä sanalla " internet ". Ja nimet, joita yksi käyttää, kuten eth0, ovatko ne määritelty vai voinko valita ne itse? Jos minulla on useampia kuin yksi lähiverkkosovitin, miten tiedän mikä eth kuuluu mihin LAN-sovittimeen?
  • molemmat. Yhdessä ne määrittelevät IP-osoitteen hankintamenetelmän (dhcp, staattinen, ppp-komentosarjat, ei osoitetta) ja ip-protokollan version (inet = v4 ja inet6 = v6). Käyttöliittymien nimet riippuvat melko paljon käyttämästäsi jakelusta ja siitä, miten udev määritetään. Debian käyttää eth* ja wlan* kaapeli- ja langattomiin rajapintoihin. Fedora käyttää biosdevname-mallia, jossa em0 on emolevyn ensimmäinen sisäänrakennettu ethernet-liitäntä ja p<slot>p<eth port> PCI-nimen nimi. Voit korjata verkon nimet osoitteessa /etc/udev/rules.d/70-persistent-net.rules tai luoda aliaksen osoitteeseen interfaces.
  • " yhdyskäytävä – palvelimen oletusyhdyskäytävä. ole varovainen, jos haluat käyttää vain yhtä kaveria. " Onko jokin jakso vai yksi yhdyskäytävärajapinta kaikkien säikeiden joukossa?
  • Pitäisikö olla yksi yhdyskäytävä kaikkien säikeiden joukossa tai sinulla on vaikeuksia oletusreitin kanssa. Jos haluat työskennellä usean yhdyskäytävän / monilinkin kanssa, tarvitaan jonkin verran ajattelua iptables + pakettimerkinnät + ip -säännöt kanssa.
  • allow-hotplug ei odota taustalla " kaapeli linkitti " -tapahtumia Ethernet-portteihin, eikä se ole koskaan tehnyt niin. unix.stackexchange.com/a/520633/29483

vastaus

Lisään myös, että:

  • käyttöliittymät on tarkoitettu ifup / ifdown-palveluille.
  • Kun u käyttää allow-hotplugia, se ei ala merkinnällä ifup / ifdown, bcos: n on käytettävä lippua –allow = hotplug.

U voi seurata mitä on tapahtuu ifupin kanssa käyttämällä –verbose-lippua.

En ole 100% shure tästä, mutta näyttää siltä, että periaatteessa kun ifup kutsutaan, u suorittaa kaikki tiedostosta / etc / network / interfaces up … ellei toisin mainita.

En tiedä, miten se liittyy: palveluverkko …

Olisi mukavaa, jos joku viittaisi puhelun jälkeen tapahtuviin asioihin:

service networking restart 

suhteessa ifup / ifdown.

vastaus

Jos sinun on lisättävä vaihtoehtoja käytettäessä resolvconf -pakettia, ts. Ubuntussa laitat kyseisen kokoonpanon osioon /etc/resolvconf/resolv.conf.d/base:

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

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *