Bagaimana saya (dari CLI) dapat menetapkan beberapa alamat IP ke satu antarmuka?

43

Di server saya, saya ingin menetapkan beberapa alamat IP ke satu NIC, tetapi tanpa menggunakan ifconfignotasi "alias" usang (seperti eth0:0) di /etc/network/interfaceskarena dalam IP Aliasing (di www.kernel.org) Anda dapat membaca

IP-alias adalah cara usang untuk mengelola beberapa alamat IP / topeng per antarmuka

Guntbert
sumber
ifconfig sudah usang? Saya tidak tahu.
Mahesh
@Mahesh Ya, ifconfig adalah artefak dari era SysV. 'iproute2' adalah alat yang lebih modern. ifconfig akan ada untuk sementara waktu di berbagai distro, tapi ya, sudah usang; "usang" hanyalah bahasa sehari-hari yang kami gunakan untuk menyatakan "mencari sesuatu yang lebih baru untuk digunakan".
David Betz

Jawaban:

48
  1. Jika Anda memerlukan alamat IP tambahan untuk saat ini, Anda dapat menambahkannya ke antarmuka apa pun di komputer Anda

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

    misalnya

     sudo ip address add 172.16.100.17/24 dev eth0
    

    akan menambahkan 172.16.100.17menggunakan netmask 24bit ke daftar alamat yang dikonfigurasi untuk Anda eth0.

    Anda dapat memeriksa hasilnya dengan

    ip address show eth0
    

    dan Anda dapat menghapus alamat ini lagi dengan

    sudo ip address del 172.16.100.17/24 dev eth0
    

    Tentu saja perubahan ini hilang ketika Anda me-reboot mesin Anda.

  2. Untuk menjadikan alamat tambahan permanen, Anda dapat mengedit file /etc/network/interfacesdengan menambahkan sebanyak mungkin bait formulir

    iface eth0 static
        address 172.16.100.17/24
    

    sehingga terlihat seperti

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

    Anda bahkan dapat menyimpan dhcpuntuk alamat utama.

    Untuk mengaktifkan pengaturan ini tanpa menggunakan reboot ifdown/ifupseperti

    sudo ifdown eth0 && sudo ifup eth0
    

    Sangat penting untuk menempatkan kedua perintah ke dalam satu baris jika Anda mengirim ulang ke server karena yang pertama akan menjatuhkan koneksi Anda! Mengingat dengan cara ini sesi ssh akan bertahan.

Guntbert
sumber
Anda mungkin dapat membuat vpn sedikit pun lebih dari satu alamat ip dengan menginstal dari dari manajer perangkat lunak.
Michael
Tidak diperlukan boot ulang di Ubuntu 16.04.3 LTS setelah menambah atau menghapus IP
Daniel F
1
sepertinya ifdown tidak digunakan lagi dalam versi Ubuntu yang lebih baru.
Sajuuk
20

Dengan toolkit baru, semudah yang lama menambahkan alamat ip baru:

ip addr add 192.168.1.1/24 dev eth0

Saat mencari ip addr showlagi, Anda melihat alamat ip kedua yang ditetapkan untuk antarmuka:

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

Hapus alamat ip itu dengan:

ip addr del 192.168.1.1/24 dev eth0

Suite iproute2:

Iproute2 suite adalah suite komunikasi untuk komunikasi antar proses antara kernel dan ruang pengguna melalui protokol netlink. Itu harus mengganti seluruh alat jaringan standar. Inilah yang mereka gantikan:

  • ifconfig-> ip addrdanip link
  • route -> ip route
  • arp -> ip neigh
  • iptunnel -> ip tunnel
  • ipmaddr -> ip maddr
  • netstat -> ss
kekacauan
sumber
Terima kasih untuk memberikan perintah yang cocok.
guntbert
thx @chaos, apakah saya dapat memiliki lebih banyak ip daripada tidak ada antarmuka pada sistem saya ??
lazarus
@jazzz ya, seperti yang Anda lihat pada output antarmuka saya di atas, ada 2 alamat ip yang ditetapkan untuknya (192.168.0.100 dan 192.168.1.1). Anda dapat menambahkan yang lain jika diinginkan.
kekacauan
@chaos, tapi bagaimana saya bisa menggunakannya, untuk contoh saya ingin membuat grup untuk multicasting ,, bisa saya membentuk kelompok dari mereka ,, dapat Anda silakan lihat pertanyaan saya askubuntu.com/questions/547105/...
lazarus
1
@chaos Saya menerima jawaban saya sendiri alih-alih jawaban Anda yang terbaik karena jawaban Anda kurang "permanen" yang saya harapkan pada konfigurasi server.
guntbert
0

Salah satu caranya adalah:

sudo ip addr add 192.168.0.2/24 dev eth1
Bert
sumber