Ubuntu 18.04: / etc / network / interfaces'e geri dön


44

Bir zamanlar Ubuntu 18.04 civarında başlayarak, Ubuntu devs klasik /etc/init.d/networkingve /etc/network/interfacesağ yapılandırma metodunu kullanmayı bıraktı ve adı verilen bir şeye geçti netplan. Bu birçok insanı çok kızdırdı ve yaygın olarak kötü bir hareket olarak görüldü. Ağı yapılandırmak için netplandoğru /etc/network/interfacesyöntemi kaldırmak ve kullanmak mümkün müdür ?


2
Neden sadece netplan ile yapılandırmıyorsunuz? Çoğu durumda, oldukça basittir.
chili555

3
@ chili555 Değişimi kabul etmem ve yeni bir şeyler öğrenmem gerekebilir. Sadece olması gerektiği gibi geri dönmenin önemsiz olup olmadığını bilmek istiyorum. Benzer şekilde systemd, yıkıcı değişimin bazen yararlı olabileceğini ve benimsenebileceğini biliyorum. Ancak, bu kesinlikle değişimin gerekli veya faydalı olduğu dönemlerden biri değildir.
jdgregson,

1
Önemsiz değildir ve hata durumunda kolayca geri dönüşlü değildir. Tehlikeli bir şekilde yaşamak istersen, bir cevap önermekten mutlu olurum. Öte yandan, netplan'ı birkaç dakika içinde yapılandırabiliriz. Hangisini tercih edersin? PS- Netplan'ın hariç tutulduğunda /etc/network/interfacesdaha büyük sistem resimine nasıl uyduğunu tam olarak anlamış gibi davranmıyorum . Yapabileceğim tek şey, değişikliği tanıtanların neden daha uygun olduğunu bildiklerine güvenmek.
chili555

1
Veya netplanı düzgün bir şekilde yapılandırın ve yapın.
chili555

1
@ chili555 Netplan sanal ağ arayüzlerini desteklemiyor. Buraya bakın: askubuntu.com/questions/990825/virtual-interface-in-netplan
user3751385

Yanıtlar:


43

Aşağıdaki işlem Ubuntu 18.04 (Bionic Beaver) için geçerlidir.

I. ifupdown paketini yeniden yükleyin :

# apt-get update
# apt-get install ifupdown

II. Senin yapılandır / etc / network / interfaces gibi yapılandırma stanzas dosyayı:

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

allow-hotplug enp0s3
auto enp0s3
iface enp0s3 inet static
  address 192.168.1.133
  netmask 255.255.255.0
  broadcast 192.168.1.255
  gateway 192.168.1.1
  # Only relevant if you make use of RESOLVCONF(8)
  # or similar...
  dns-nameservers 1.1.1.1 1.0.0.1

III. Yapılandırmayı etkin kılın (yeniden başlatma gerekmez):

# ifdown --force enp0s3 lo && ifup -a
# systemctl unmask networking
# systemctl enable networking
# systemctl restart networking

IV. İstenmeyen hizmetleri devre dışı bırakın ve kaldırın:

# systemctl stop systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl disable systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl mask systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# apt-get --assume-yes purge nplan netplan.io

O zaman bitti.

Not: Sen GEREKİR elbette sisteminizde (ağda, arayüz adı ...) göre değerler uyarlar.

V. DNS Çözücü

Systemd-RESOLVED.SERVICE (8) tarafından sağlanan DNS saplama Resolver Ubuntu Bionic Beaver (18.04) faydalanmak, size Çünkü GEREKEN da /etc/systemd/resolved.conf dosyasına temasta DNS ekleyin. Örneğin:

....
DNS=1.1.1.1 1.0.0.1
....

ve bir kez tamamlandıktan sonra sistem çözümlenmiş hizmeti

# systemctl restart systemd-resolved

İfupdown INTERFACES (5) dosyasındaki DNS girişleri, yukarıda gösterildiği gibi, yalnızca RESOLVCONF (8) veya benzerini kullanıyorsanız geçerlidir.


9
Eh, onları ***. Sadece apt-get installhiçbir ağ yapılandırması varken. Ne muhteşem bir fikir, Canonical.
Velkan

1
@Velkan Ağınızı her zaman netplan ile önceden yapılandırabilir ve daha sonra ifupdown'a geri dönebilirsiniz;) Ama sizinle aynı fikirdeyim. Her nasılsa kanonik kötü kararlar alır. Örneğin, ağ yapılandırması için ifupdown'a dayanan yazılımları kırarlar (netplan sağlayıcısı yok). Bu, yeni ağ yapılandırma sağlayıcısı eklemek istemediğimiz kontrol paneli yazılımımız (kararlı seri) için geçerli ...
Nuxwin

3
@StephenBoston Sana tamamen katılıyorum. Bununla birlikte, Canonical yeni teknolojiyi tanıtarak ilerlemeye çalışsa bile, bunu daha az istilacı bir şekilde yapabilir. Yani seçim son kullanıcıya bırakılmalıdır. İş istasyonları için ifupdown'dan netplan'a geçiş kesinlikle büyük bir sorun değil, ancak Ubuntu sunucularıyla uğraşmak zorunda olduğunuzda, bu başka bir hikaye çünkü çoğu kararlı yazılım mutlaka adaptörler sağlamıyor ... Sistem için de aynı hikaye bu. Her gün Debian ve Ubuntu ile ilgileneceğim. Ubuntu ile ilgili sorun, geriye dönük uyumluluk ile pek ilgilenmedikleridir.
Nuxwin

1
Küçük düzeltme: # systemctl unmak networking-># systemctl unmask networking
Santosh

1
Ayrıca, dns-domainve dns-searcharabirimler dosyasında kullanırsanız, Domainsparametreyi resolved.conf dosyasında yapılandırmanız gerekir. Her neyse, hepsini bir araya getirmek büyük bir iş, muhtemelen bana çok zaman kazandırdı :)
OttoEisen

10

Netplan ekibi SSS üzerinde resmi bir yanıt gönderdi burada :

İfupdown'a nasıl geri dönülür

...

Çalışan bir sistemde, kullanıcılar önceden yaptıkları gibi ifupdown kurarak ve / etc / network / interfaces komutunu kurarak netplan kaldırılabilir.

Yükleme sırasında, bir kullanıcı netcfg / do_not_use_netplan = true önceden ayarlayarak ifupdown kullanmayı seçebilir. Bu, kurulum medyasını önyüklerken önceden belirlenmiş satırı komut satırına ekleyerek yapılır (örneğin, medya yükleme menüsünde, F6 tuşuna basın, 'e' yazın ve komut satırına ekleyin).

Daha eksiksiz talimatlar için Nuxwin'in cevabına bakınız.


9

Netplan ve yaml, en iyi ihtimalle yalnızca sunucu ortamında kırılgandır (girinti hataları size mal olur). Arayüzler, bir sunucudaki ağ ayarlarını yönetmeyi oldukça kolaylaştıracak kadar bağışlayıcıydı.
Netplan yeni katmanları tanıtıyor. Ancak asıl sorun, U18'in yukarı-aşağı kırılmasıdır ve NetPlan ile işi bitirmemesidir. Eğer / etc / network / interfaces komutuna geri yüklerseniz ifupdown DNS'yi yönetmek artık arayüzler dosyasında çalışmaz. Herhangi bir dns-nameserver girişi yoksayılır. Bunun yerine, dns /etc/resolv.conf dosyasında ayarlanmıştır. Ancak bu dosyayı düzenleyemezsiniz çünkü makine her önyüklendiğinde yeniden yazılır. O NE LAN? Netplan bir GUI tarafından yönetilmek üzere tasarlanmıştı, bu yüzden biz sadece sunucu kampındakiler, etrafa dikkat etmemiz gereken hassas bir sistem kaldı. İyi değil Ubuntu!
netplan'ı bitirirken bize yardımcı olması için / etc / network / interfaces içindeki ayarları bize netplan'a yönlendirmek için neden bir yol vermiyoruz?


1
Bu soruya nasıl cevap veriyor?
Pierre.Vriens,

@Dan Desjardins DNS çözümleyici sorunuyla ilgili kabul edilen cevaba bakın. Temel olarak, ifupdown INTERFACES (5) dosyasına girdiğiniz DNS girişleri yalnızca resolvconf (8) veya benzerini kullandığınızda geçerlidir. SYSTEMD-RESOLVED.SERVICE (8 tarafından sağlanan DNS saplama çözücüsü) için (8, DNS'inizi /etc/systemd/resolved.conf dosyasına eklemeniz gerekir. Bunu yapmanız onları kalıcı kılar. SYSTEMD-RESOLVED'i devre dışı bırakmak da başka bir çözümdür. HİZMET (8) hizmet ve kurulum / kurulum çözümlemesi (8) Yeterince açık olması umuduyla
Nuxwin

2

Neden sadece netplan ile yapılandırmıyorsunuz?

Peki, 18.04-Desktop’ta yapılandırıldığı için, tüm arayüzleri NetworkManager’a kontrol eden tek bir hat.

Bu muhtemelen kullanıcıların% 95'i için uygun olsa da, NetworkManager'ın yalnızca bir oturumda oturum açtığınızda çalıştırıldığını unutmayın.

Makinenizin bir sunucu / masaüstü gibi davranmasını istiyorsanız, örneğin yerel makinelere dosya sunmaya başlayın, VNP sunucusu, vb. Gibi davranmaya başlayın ya da herhangi bir kişi giriş yapmadan önce "fantezi" gibi bir şey yapın; açık, standart 18.04-Desktop’ta nasıl yapılandırıldığını sorun yaşayacaksınız.

Tabii ki, alternatif, okuduğum kadarıyla (kendim tarafından kontrol edilmeyen), bunun yerine sistemd-ağd'ı kontrol eden eller-sunucu planını kullanmak olacaktır. Bu durumda, systemd'nin eski System V girişinin yerine nasıl bir işlem yaptığını öğrenmeniz iyi olur.

Bu yola giderseniz, hala netplan yaml üzerinde değişiklik yapmanız gerekir, çünkü masaüstü versiyonunda kontrol NetworkManager'a verilir.


3
En az bir neden var: Netplan, openvswitch'i desteklemiyor.
Kamilion

5
netplan IP takma adlarını desteklemez (eth0: 0 style). Böyle bir şeyin Ubuntu sunucusuna nasıl girebildiğine inanamıyorum!
Hamid Fadishei

Çünkü netplanrehberlerim boş!
dsgdfg

NetworkManager servisi oldukça erken başlar ve bir oturum veya oturum açmış bir kullanıcı gerektirmez.
Taller

1

Anahtar, cloud.initbunun gerçek kontrol programı olduğunu bilmektir .
Bunun için netplan"isteğe bağlı: true" yapılandırma dosyasındaki satırın kullanılması zorunludur.
Bunu bilmek kolaylaştı.

Az önce çıkardım 01-network-manager-all.yamlve kopyaladım /root/save/. Sonra onun yerine bilinen bir iyi yapılandırma koyun 50-cloud-init.yaml:

network:
  version: 2
  renderer: networkd
  ethernets:
    eports:
      match: 
        name: enp*
        optional: true
  bonds:
    bond0:
      interfaces: [eports]
      addresses: [192.168.2.5/24]
      gateway4: 192.168.2.1
      nameservers:
        addresses: [127.0.0.1, 8.8.4.4]          
      parameters:
        mode: 0          
        mii-monitor-interval: 100

Sonra yeniden başlat ve iyi çalışıyor olmalı.

Bilinen iyi yapılandırma , Ubuntu 18.04'teki netplan'ı kullanarak Configure bonded 802.3ad ağından geldi .


1
Buradaki soru, ifupdown'a nasıl geri döneceğinizdir;) Gelecekte, soruları kirletmeden cevaplamaya çalışmalısınız, bununla bile ilk konuya bağlı kalmak her zaman kolay değildir;)
Nuxwin

0

Bu cevaba göre, çözüm tüm operasyonel .yaml dosyalarını kaldırmaktır: Ubuntu 17.10

Yedeklemeden hiçbir şeyi çıkarmazdım. Dosyaları bir kenara bırakarak kolayca yapabiliriz. İlk önce dosyaları bulun:

sudo updatedb
locate netplan | grep yaml

18.04 sistemimde sadece operasyonel dosyanın /etc/netplan/01-network-manager-all.yaml olduğu anlaşılıyor. Hadi hareket et:

mkdir ~/netplan
sudo mv /etc/netplan/01-network-manager-all.yaml  /home/user/netplan

... kullanıcının kullanıcı adınız olduğu yer.

Şimdi dosyanın gerçekten gittiğinden emin olun:

ls /etc/netplan

Şimdi eklemelerinizi / etc / network / interfaces'e gerektiği gibi yapın.

Yeniden Başlatma.

Herhangi bir gelişme?

Dipnot: Bunu yapmak için tam bir süreç bulmak zor. Gittikçe biraz hassaslaştırmamız gerekebilir.


Bunu denemek zorundayım ve nasıl gittiğini göreceğim. Diğer tek soru, yeniden başlatmadan değişikliklerin nasıl uygulanacağı olacaktır. Size kullanabilirsiniz geçmiş ifup/ ifdown, /etc/init.d/networking restart, service networking restart, ve systemd yöntemler gibi systemctl restart networking, systemctl restart Network-Manager.servicevs, ama bunların hiçbiri Ubuntu 18.04 yükledikten sonra benim için mümkün oldu.
jdgregson

Bunun sonucu: sudo ip link set eth0 downtakip eden: sudo ifup -v eth0Elbette, arabiriminizi efsanevi etik0 ile değiştirin.
chili555

ifupdownvarsayılan olarak yüklenmez, bu yüzden aradığınızda ifupsadece nasıl yükleneceği anlatılır. Ancak, sudo ip link set eth0 downardından sudo ip link set eth0 uparayüzü kapatıp tekrar açınız.
jdgregson

Müthiş! Demek çözüldü ve hepsi hazır mı?
chili555

Dikkatli olun, * .yaml dosyalarının tümü netplan ile ilişkili değildir, bu nedenle yalnızca netplan ile ilgili dizinlerde bulunanları kaldırın!
Janc
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.