/ Etc / network / interfaces sözdiziminin detaylı açıklaması?


139

Nasıl kullanılacağına dair çok temel bir kavram anladım /etc/network/interfaces, ancak çevrimiçi bulduğum her şey, örneğin kopyalayıp yapıştırabileceğim bir örnek. Özlediğim şey, sözdiziminin bir açıklaması, komutların anlamının ve komutların hangi sıralamanın gerektirdiğinin bir açıklaması. Anlamak istiyorum, çünkü çoğu zaman kopyala-yapıştır yeterli değildir, çünkü yeni bir makinede çalışmıyorum, bu yüzden mevcut konfigürasyonların üzerine yazamıyorum çünkü bir çok şeyi kıracak. man interfacesçok karmaşık değildi çünkü çok yardımcı olmadı.

Sahip olduğum örnek sorular: inetbir ifacesatırda tam olarak ne anlama geliyor (manpage'de bile bulamadım), manualbir ifacesatırda tam olarak ne anlama geliyor (birçok örnek bunu kullanıyor, ancak manpage'e göre o zaman fazladan bir yapılandırma dosyasına ihtiyaç duyuyor) örnekler mevcut değil) ne zaman kullanırım veya isterim? Değilse? Bir köprü oluşturduğumda, arayüzlere tam olarak ne oluyor?


4
Man sayfası, arayüz adından sonra gelenlerin arayüzün kullandığı adres ailesi olduğunu söylüyor. "inet" IPv4'ün adı, ipv6'nın inet6'sıdır. Ayrıca ipx, x25, appletalk ... var. manualaşağı yukarı onlar hakkında hiçbir şey yapmazsanız, elle kendiniz yapmanız anlamına gelir.
Stéphane Chazelas,

Yanıtlar:


168

Peki, anlaşılmasını kolaylaştırmak için onu parçalara ayıralım /etc/network/interfaces:

Bağlantı katmanı + arabirim türü seçenekleri (genellikle her arabirim stanza'nın ilkidir ve interfaces(5)manpages tarafından adres ailesi + yöntemi olarak adlandırılır ):

auto interface- Arabirimleri önyüklemede başlatın. loArayüz bu tür bir bağlantı yapılandırması kullanmasının nedeni budur .

allow-auto interface - İle aynı auto

allow-hotplug interface- Bir "hotplug" olayı tespit edildiğinde arayüzü başlat. Gerçek dünyada, bu aynı durumlarda kullanılır autoancak fark, "udev hotplug api tarafından algılanması" veya "kablo bağlantılı" gibi bir olayı bekleyeceğidir. Ek bilgi için " İlgili Sayfalar (hotplug) " bölümüne bakın .

Bu seçenekler, arayüzler üzerinde bağlantı durumları ayarlayan ve "katman 3" (yönlendirme ve adresleme) ile ilgili olmayan hemen hemen "katman 2" seçenekleridir. Örnek olarak, bond0 arabiriminin, bağlantı durumu ne olursa olsun yukarı olması gereken ve bir bağlantı durumu olayından sonra üyeleri olabileceği bir bağlantı topluluğuna sahip olabilirsiniz:

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

Böylece, bu yolla bir bağlantı toplaması yaratırım ve arayüzler buna eklenerek kablo bağlantı durumlarında kaldırılır.

En yaygın arayüz tipleri:

Aşağıdaki tüm seçenekler, tanımlanmış bir arabirime ( iface <Interface_family>) yönelik bir sonektir . Temel iface eth0olarak eth0, bir Ethernet cihazında denilen bir stanza oluşturur . noktadan noktaya bir arayüz iface ppp0yaratmalı ve bu arayüzün konfigürasyonunu komut dosyasına yönlendirecek adresleri elde etmek için farklı yollara sahip olabilir . Tanımlama grubu / + sürümünü belirleyecek IP protokolü kullanılır ve bu adres yapılandırılacaktır şekilde ( , , ...). Online Debian kılavuzları bu konuda daha fazla bilgi verecektir.inet wvdialwvdialconfinetinet6optionstaticdhcpscripts

Ethernet arayüzlerinde seçenekler:

inet static - Statik bir IP adresi tanımlar.

inet manual- Bir arayüz için bir IP adresi tanımlamaz. Genellikle köprü veya birleştirme üyeleri olan arabirimler, sıra dışı modda çalışması gereken arabirimler ( örn. Bağlantı noktası yansıtma veya ağ TAP'leri ) veya üzerinde yapılandırılmış bir VLAN aygıtı tarafından kullanılır. IP adresi olmadan arayüzü yüksek tutmanın bir yolu.

inet dhcp - DHCP protokolü ile IP adresi alın.

inet6 static - Statik IPv6 adresini tanımlar.

Örnek:

# 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

Bu örnek getirecek eth0bir yukarı ve oluşturmak VLAN arayüzü olarak adlandırılan vlan10bir Ethernet çerçevesi üzerine etiket numarasını 10 işleyecektir.

Bir arabirim stanza içindeki ortak seçenekler (katman 2 ve 3):

address - Statik IP konfigürasyonlu arayüz için IP adresi

netmask- Ağ maskesi. Cidr adresini kullanırsanız, ihmal edilebilir. Örnek:

iface eth1 inet static
    address 192.168.1.2/24
    gateway 192.168.1.1

gateway- Bir sunucunun varsayılan ağ geçidi. Bu adamdan sadece birini kullanmaya dikkat edin.

vlan-raw-device - Bir VLAN arayüzünde "babasını" tanımlar.

bridge_ports - Bir köprü arayüzünde üyelerini tanımlayın.

down- Arabirim yerine aşağıdaki komutu kullanın ifdown.

post-down - Arayüz kapatıldıktan hemen sonra yapılan eylemler.

pre-up - Arabirim dolmadan önceki eylemler.

up- Arabirim yerine aşağıdaki komutu kullanın ifup. Mevcut herhangi bir seçeneği kullanmak sizin hayal gücünüze kalmış iputils. Örnek olarak işlem sırasında jumbo çerçeveleriniup ip link set $IFACE up mtu 9000 etkinleştirmek için kullanabiliriz ( seçeneğin kendisini kullanmak yerine ). Arabirim yükseldikten 5 saniye sonra 100Mbps Tam çift yönlü zorlamak gibi herhangi bir yazılımı da arayabilirsiniz .upmtuup sleep 5; mii-tool -F 100baseTx-FD $IFACE

hwaddress ether 00:00:00:00:00:00- Rom'a kodlanmış veya algoritmalar tarafından oluşturulanları kullanmak yerine arayüzün mac adresini değiştirin. Anahtar kelimeyi randomrastgele bir mac adresi almak için kullanabilirsiniz .

dns-nameservers- İsim sunucularının IP adresleri. resolvconfPaketi gerektirir . DNS ile ilgili yapılandırmaları /etc/network/interfaceskullanmak yerine tüm bilgileri konsantre etmenin bir yolu /etc/resolv.conf. resolv.confKonfigürasyon dosyasını manuel olarak düzenlemeyin, çünkü sistemdeki programlar tarafından dinamik olarak değişecektir.

dns-search example.net- FQDN'yi oluşturarak, example.net'i ana bilgisayar sorgularına etki alanı olarak ekleyin. Opsiyon domainarasında/etc/resolv.conf

wpa-ssid - Kablosuz: Bir kablosuz WPA SSID ayarlayın.

mtu- MTU büyüklüğü. mtu 9000= Jumbo Çerçeve. Linux kutunuz daha büyük MTU boyutlarını destekleyen anahtarlarla bağlıysa kullanışlıdır. Bazı protokolleri kırabilir (snmp ve jumbo çerçevelerinde kötü deneyimlerim vardı).

wpa-psk - Kablosuz: SSID'niz için onaltılı olarak kodlanmış bir PSK ayarlayın.

ip_rp_filter 1- Ters yol filtresi etkin. Bir ana bilgisayara 2 rotanızın olduğu durumlarda kullanışlıdır ve bu, paketi geldiği yerden geri getirmeye zorlar (aynı arabirim, rotalarını kullanarak). Örnek: 192.168.1.1/24LAN'ınıza ( ) bağlısınız 192.168.1.10/24ve yönetimsel görevleri ( 172.16.1.1/24) yürütmek için LAN'ınıza ( ) bir arayüze ve dmz'deki diğer bir arayüze sahip bir dlna sunucunuz var . Bilgisayarınızdan dlna dmz ip'e bir ssh oturumu sırasında, bilginin size geri dönmesi gerekir, ancak sonsuza dek askıda kalması gerekir, çünkü dlna sunucunuz yanıtı doğrudan lan arayüzü aracılığıyla iletmeye çalışır. Rp_filter etkinken, bağlantının geldiği yerden geri gelmesini sağlayacaktır. Daha fazla bilgi burada .

Bu seçeneklerden bazıları isteğe bağlı değildir. Örneğin, ağ maskesi olmayan bir arabirime bir IP adresi koyduğunuzda Debian sizi uyaracaktır.

Burada daha iyi ağ yapılandırma örnekleri bulabilirsiniz .

İlgili sayfalar :

/etc/network/interfacesAğ yapılandırma dosyasıyla ilgili bilgileri olan bağlantılar :


Teşekkürler, bu çok yardımcı olur. Mu inet"internet" ile ilgisi var? Bir kısmı sadece "IPv4" ve inet6"IPv6" anlamına geldiğini okudum , ama "inet" terimi, onu gördüğünüzde ve "internet" için kısa olanlarla karıştırırken gerçekten kafa karıştırıcı. Ve birinin kullandığı isimler eth0, bunlar tanımlanmış mı, yoksa onları kendim mi seçebilirim? Birden fazla LAN adaptörüne ethsahipsem, hangisinin hangi LAN adaptörüne ait olduğunu nasıl anlarım ?
Foo Bar

2
Her ikisi de. Birlikte ip adres alma yöntemini (dhcp, statik, ppp komut dosyaları, adres yok) ve ip protokolünün sürümünü ( inet= v4 ve inet6= v6) tanımlarlar . Arabirim adları büyük ölçüde kullandığınız dağılıma ve yolun udevyapılandırılmış olmasına bağlıdır. Debian kullanır eth*ve wlan*kablo ve kablosuz arayüzleri kullanır . Fedora, ana kartınızdaki em0ilk dahili ethernet arayüzünün bulunduğu biosdevname şemasını ve p<slot>p<eth port>bir PCI nic'in adını kullanır. Ağ adlarını düzeltebilir /etc/udev/rules.d/70-persistent-net.rulesveya takma ad oluşturabilirsiniz interfaces.

2
"Ağ geçidi - bir sunucunun varsayılan ağ geçidi. Bu adamdan yalnızca birini kullanmak için dikkatli olun." Tüm stanzalar arasında bir stanza mı yoksa bir ağ geçidi arayüzü mü?
ctbrown

2
Tüm stanzalar arasında bir ağ geçidi olması gerekiyorsa, veya varsayılan rotanızla ilgili sorun yaşarsınız. Çoklu ağ geçidi / çoklu bağlantı ile çalışmak için, iptables + paket işaretleme + ip kuralları ile ilgili bazı düşüncelere ihtiyaç duyulacaktır.

Küçük bir sorgu, eğer bu dosyada, eğer eğer eth0 inet static kullanıyor ve adres alanına karşı bir miktar IP yazarsam, bu yazdığım bu özel IP'nin sistemimin MAC adresine bağlanacağı anlamına mı geliyor?
k10

0

Ayrıca şunu eklerdim:

  • arayüzleri ifup / ifdown hizmetleri içindir.
  • Allow-hotplug öğesini kullandığınızda ifup / ifdown ile başlamaz, çünkü bcos flag --allow = hotplug işaretini kullanmanız gerekir.

U, ifver ile neler olduğunu --verbose flag kullanarak izleyebilir.

Bunun% 100'ü değil im, ancak temelde eğer ifup çağrıldığında u / etc / network / arabirimlerinden tümüyle çalıştırılacak ... aksi belirtilmediği sürece.

Şununla nasıl alakalı olduğunu bilemiyorum: servis ağı ...

Biri aramadan sonra neler olup bittiğini işaret ederse iyi olurdu:

service networking restart

ifup / ifdown ile ilgili olarak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.