(CLI'den) bir arabirime nasıl birden fazla IP adresi atayabilirim?


43

Benim sunucuda Bir NIC, ama kaldırılmış kullanmadan birkaç IP adreslerini atamak istediğiniz ifconfigveya eskimiş "takma" notasyonu (gibi eth0:0cinsinden) /etc/network/interfacesnedeniyle IP Aliasing okuyabilir (www.kernel.org üzerine)

IP takma adları, arabirim başına birden çok IP adresini / maskesini yönetmenin eski bir yoludur


ifconfig kullanımdan kaldırıldı mı? Bilmiyordum.
Mahesh

@Mahesh Evet, ifconfig SysV döneminden kalma bir eserdir. 'iproute2' daha modern bir araçtır. ifconfig bir süredir çeşitli dağıtımlarda olacaktır, ancak evet, kullanımdan kaldırılmıştır; “kullanımdan kaldırılmış” sadece “daha ​​yeni kullanılacak bir şey ara” olarak adlandırdığımız bir konuşma dilidir.
David Betz

Yanıtlar:


48
  1. Sadece şu an için ek bir IP adresine ihtiyacınız varsa, makinenizdeki herhangi bir arabirime ekleyebilirsiniz.

     sudo ip address add <ip-address>/<netmask> dev <interface>
    

    Örneğin

     sudo ip address add 172.16.100.17/24 dev eth0
    

    172.16.100.17Sizin için yapılandırılmış adres listesine 24 bitlik bir ağ maskesi kullanarak ekler eth0.

    Sonucunu kontrol edebilirsiniz

    ip address show eth0
    

    ve bu adresi tekrar kullanarak silebilirsiniz.

    sudo ip address del 172.16.100.17/24 dev eth0
    

    Elbette, makinenizi yeniden başlattığınızda bu değişiklikler kayboluyor.

  2. Ek adresleri kalıcı hale getirmek için, dosyayı /etc/network/interfacesformun standalarını ekleyerek düzenleyebilirsiniz.

    iface eth0 static
        address 172.16.100.17/24
    

    öyle gözüküyor ki

    iface eth0 inet dhcp
    
    iface eth0 inet static
        address 172.16.100.17/24
    
    iface eth0 inet static
        address 172.16.24.11/24
    

    dhcpBirincil adres için bile tutabilirsiniz .

    Yeniden başlatma kullanmadan bu ayarları etkinleştirmek için ifdown/ifupgibi

    sudo ifdown eth0 && sudo ifup eth0
    

    Sunucuya uzaktan kumanda ediyorsanız , bu iki komutu bir satıra koymak çok önemlidir , çünkü ilki bağlantınızı kesecektir! Bu şekilde verildiğinde ssh oturumu hayatta kalacaktır.


Yazılım yöneticisinden yükleyerek bir vpn whit'i bir ip adresinden daha fazla yapabilirsiniz.
Michael

Bir IP ekledikten veya sildikten sonra Ubuntu 16.04.3 LTS'de yeniden başlatma gerekmez
Daniel F

1
Yeni Ubuntu sürümlerinde ifdown kullanımdan kaldırılmış gibi görünüyor.
Sajuuk

20

Yeni araç setiyle, yeni ip adreslerini eklemek eskisi kadar kolaydır:

ip addr add 192.168.1.1/24 dev eth0

ip addr showTekrar bakarken , arayüze atanan ikinci ip adresini görürsünüz:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.100/24 brd 192.168.0.255 scope global eth0
    inet 192.168.1.1/24 scope global eth0
    inet6 fe80::223:54ff:fe45:f307/64 scope link
       valid_lft forever preferred_lft forever

Bu ip adresini şu şekilde kaldır:

ip addr del 192.168.1.1/24 dev eth0

İproute2 paketi:

İproute2 paketi, netlink protokolü aracılığıyla çekirdek ve kullanıcı alanı arasındaki işlemler arası iletişim için iletişim paketidir. Tüm standart ağ araçlarının yerini almalıdır. İşte onların yerini alıyorlar:

  • ifconfig-> ip addrveip link
  • route -> ip route
  • arp -> ip neigh
  • iptunnel -> ip tunnel
  • ipmaddr -> ip maddr
  • netstat -> ss

Eşleşen komutları sağlamak için teşekkürler.
guntbert

thx @chaos, benim sistemimde hiçbir arabirim daha fazla ip sahip olabilir?
lazarus

@jazzz evet, yukarıdaki arayüzümün çıktısında görebileceğiniz gibi, kendisine atanmış 2 ip adresi var (192.168.0.100 ve 192.168.1.1). İsterseniz başka bir tane ekleyebilirsiniz.
Kaos

@chaos, ama onları nasıl kullanabilirim, örneğin çok noktaya yayın için bir grup oluşturmak istiyorum, onlardan bir grup oluşturabilir miyim, lütfen soruma bakabilir misiniz askubuntu.com/questions/547105/…
lazarus

1
@chaos Mükemmel cevabınız yerine kendi cevabımı kabul ediyorum çünkü sizinki bir sunucu yapılandırmasında beklediğim "kalıcılıktan" yoksun.
guntbert

0

Bir yol:

sudo ip addr add 192.168.0.2/24 dev eth1
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.