DHCP ve statik IP adresleri aynı anda tek bir arabirimde


16

Linux'ta tek bir arayüz için birden fazla IP adresi kullanabiliriz (eg. eth0:0, eth0:1). Ancak DHCP ve statik IP'yi aynı anda kullanabilir miyiz? eth0:1statik bir IP adresine sahip olmalı ve eth0:0DHCP kullanılarak yapılandırılmalıdır.

Her ikisini de nasıl başarabiliriz?


Bu soru NetworkManager'ı yapılandırma hakkında mı?
madneon

Yanıtlar:


13

Evet, bu yapılabilir. Ancak, bunun için genellikle eth0: 0 ve eth0: 1 yerine eth0 ve eth0: 0 kullanırsınız. / Etc / network / interfaces dosyanızı şu şekilde ayarlayabilirsiniz:

auto lo eth0 eth0:0
iface lo inet loopback

iface eth0 inet dhcp

iface eth0:0 inet static
    address ...
    netmask ...

DHCP'den aldığınız ağ geçidi ayarlarıyla çakışabileceğinden, muhtemelen eth0: 0 arabiriminde bir ağ geçidi ayarlamak istemezsiniz. / Etc / network / arayüzlerine manuel ayarlar girerseniz, ağ yöneticisinin ayarlarınızı yönetmeye çalışmadığından emin olmak istersiniz. Bu edilir burada ele .


9

Aynı soruna cevap bulmak için yoğun bir arama yaptıktan sonra, Ağ Yöneticisi'nin bağlantılarınızı yönetmeye devam etmesini sağlayan bir çözüm buldum. İlk olarak, Bağlantıları Düzenle> Ekle'yi kullanarak Ağ Yöneticisi'nde normalde bir DHCP bağlantısı oluşturun. Bu, / etc / NetworkManager / system-connections / içinde bulunan bir dosya oluşturur. Bu dosyayı Süper Kullanıcı izinleriyle metin düzenleyicinizde açın. Örnek: sudo nano / etc / NetworkManager / sistem bağlantıları / DHCPEthernet

Kod şöyle görünecektir:

[802-3-ethernet]
duplex=full
mac-address=00:0E:C6:88:31:43

[connection]
id=DHCPEthernet
uuid=26af83f1-c48c-4454-9038-bbb4bec3e3a3
type=802-3-ethernet
timestamp=1405008541

[ipv6]
method=auto

[ipv4]
method=auto

Eklemek istediğiniz statik ip adresi için ipv4 bölümünün altına bir satır ekleyin. Bu örnek için ağ geçidi olmadan 192.168.10.1 kullanıyorum

address1=192.168.10.1/24,0.0.0.0

Dosyayı kaydedin ve ağ bağlantısını kesmek ve yeniden bağlanmak için Ağ Yöneticisi'ni kullanın. Ping atmak her iki IP adresinin de düzgün çalıştığını doğrulayacaktır. İp addr'den gelen çıktı başarıyı doğrular.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 14:10:9f:d7:22:0b brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.71/24 brd 172.20.1.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::1610:9fff:fed7:220b/64 scope link 
       valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0e:c6:88:31:43 brd ff:ff:ff:ff:ff:ff
    inet 172.20.1.60/24 brd 172.20.1.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet 192.168.10.1/24 brd 192.168.10.255 scope global eth2
       valid_lft forever preferred_lft forever
    inet6 fe80::20e:c6ff:fe88:3143/64 scope link 
       valid_lft forever preferred_lft forever

address1ipv4.addressesAPI veya nmcli kullanıyorsanız, burada bulunan ayar aslında NetworkManager ayarıdır. Bu durumda, ipv4.method"otomatik" olarak da ayarlamanız gerekir .
Dave

Bağlantıyı normal olarak oluşturduktan sonra, / etc / NetworkManager / system-connections / dizinimde hala dosya yok. Başka bir yerde mi tutuluyorlar? Belki bir SELinux meselesi?
Steve Jorgensen

2

Biraz kontrol ettim ve bugünlerde nmcliaracı kullanarak bu yapılandırmayı oluşturmanın mümkün olduğunu öğrendim . Aslında, NetworkManager'ın tam kontrolüne izin verir. Nmcli için manuel sayfalar çok kapsamlı ve oldukça anlaşılır. Bkz man nmclive man nm-settings.

Bu sorudaki yapılandırmayı ayarlamak için en kolay yol, mevcut bağlantı profilinizi düzenlemektir. GUI NetworkManager aracınızdan profilin adını bulun ve CLI düzenleyicisini kullanarak düzenleyin (burada ad şöyledir Ethernet connection):

$ sudo nmcli c 'Ethernet bağlantısı' düzenle

=== | nmcli etkileşimli bağlantı düzenleyicisi | ===

Mevcut '802-3-ethernet' bağlantısını düzenleme: 'Ethernet bağlantısı 1'

'Yardım' veya '?' kullanılabilir komutlar için.
Ayrıntılı özellik açıklaması için 'description [.]' Yazın.

Aşağıdaki ayarları düzenleyebilirsiniz: bağlantı, 802-3-ethernet (ethernet), 802-1x, dcb, ipv4, ipv6
nmcli> ipv4 yap
Aşağıdaki özellikleri düzenleyebilirsiniz: yöntem, dns, dns-arama, dns-seçenekleri, dns-önceliği, adresler, ağ geçidi, yollar, rota-metrik, yoksay-otomatik yolları, yoksay-otomatik-dns, dhcp-ana bilgisayar adı, dhcp -send-hostname, hiçbir zaman varsayılan, başarısız olabilir, dad-timeout, dhcp-timeout, dhcp-client-id, dhcp-fqdn
nmcli ipv4> ipv4.addresses'i ayarlayın {your_address_here} / {your_network_prefix_here} 
'ipv4.method' öğesini 'manuel' olarak da ayarlamak istiyor musunuz? [evet]: hayır 
nmcli ipv4> kaydet
Bağlantı 'Ethernet bağlantısı' (87fa8e41-7fe3-435a-a2f2-29a9c8084d2d) başarıyla güncellendi.
nmcli ipv4> çık

Kalın bölümler sizin girdilerinizdir, kıvırcık parantez içindeki şeyleri ayarlarınızla değiştirin. DHCP yapılandırması ile noilgili soruya cevap verir ipv4.method. Sonrasında, GUI araçları veya nmcli kullanılarak yapılabilecek yapılandırmayı devre dışı bırakıp yeniden etkinleştirmeniz gerekir.

İsterseniz, komut satırından yeni bir bağlantı oluşturmak da mümkündür:

sudo nmcli -p connection add type ethernet ifname {your_interface_name} con-name MyConnection -- ipv4.addresses {your_address}/{your_prefix_length} ipv4.method auto

Yine, süslü parantez içindeki şeyleri ayarlarınızla değiştirin.

Son olarak, yapılandırma dosyalarını hala düzenlemek istiyorsanız, düzenlemeden sonra dosyayı yeniden yüklemeyi unutmayın:

sudo nmcli connection reload

Bu şekilde oluşturulan yapılandırmaların GUI araçlarını karıştırması muhtemel olduğunu unutmayın. En iyi ihtimalle size statik adresleri göstermezler.


0

Debian Buster / 10 NetworkManager nm-connection-editorartık bunu grafik kullanıcı arayüzünden yapabiliyor.

Bağlantıyı düzenleyin, "IPv4 Ayarları" sekmesini açın, ardından:

  1. Yöntemi "Otomatik (DHCP)" olarak ayarlayın.
  2. Aşağıya "Ek statik adresler" ekleyin.

Bu, aşağıdaki ayarları yazacaktır /etc/NetworkManager/system-connections/connection.nmconnection:

[ipv4]
address1=10.0.0.1/24
method=auto
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.