Làm cách nào tôi (từ CLI) có thể gán nhiều địa chỉ IP cho một giao diện?


43

Trên máy chủ của tôi, tôi muốn gán một số địa chỉ IP cho một NIC, nhưng mà không sử dụng bị phản đối ifconfighoặc lỗi thời "bí danh" ký hiệu (như eth0:0) trong /etc/network/interfacesbởi vì trong IP Aliasing (trên www.kernel.org), bạn có thể đọc

Bí danh IP là một cách lỗi thời để quản lý nhiều địa chỉ IP / mặt nạ trên mỗi giao diện


ifconfig bị phản đối? Tôi không biết.
Mahesh

@Mahesh Vâng, ifconfig là một tạo tác từ thời SysV. 'iproute2' là công cụ hiện đại hơn. ifconfig sẽ xuất hiện trong một thời gian trên các bản phát hành khác nhau, nhưng vâng, nó không được dùng nữa; "Không dùng nữa" chỉ là một từ thông tục mà chúng ta đã sử dụng để biểu thị "tìm kiếm thứ gì đó mới hơn để sử dụng".
David Betz

Câu trả lời:


48
  1. Nếu bạn cần một địa chỉ IP bổ sung ngay lúc này, bạn có thể thêm địa chỉ đó vào bất kỳ giao diện nào trên máy của mình với

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

    ví dụ

     sudo ip address add 172.16.100.17/24 dev eth0
    

    sẽ thêm 172.16.100.17bằng cách sử dụng một netmask 24 bit vào danh sách các địa chỉ được cấu hình cho của bạn eth0.

    Bạn có thể kiểm tra kết quả với

    ip address show eth0
    

    và bạn có thể xóa địa chỉ này một lần nữa với

    sudo ip address del 172.16.100.17/24 dev eth0
    

    Tất nhiên những thay đổi này bị mất khi bạn khởi động lại máy.

  2. Để làm cho các địa chỉ bổ sung vĩnh viễn, bạn có thể chỉnh sửa tệp /etc/network/interfacesbằng cách thêm bao nhiêu khổ thơ của biểu mẫu

    iface eth0 static
        address 172.16.100.17/24
    

    trông giống như

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

    Bạn thậm chí có thể giữ dhcpđịa chỉ chính.

    Để kích hoạt các cài đặt này mà không cần khởi động lại, hãy sử dụng ifdown/ifupnhư

    sudo ifdown eth0 && sudo ifup eth0
    

    Điều cần thiết là đặt hai lệnh đó thành một dòng nếu bạn đang từ xa vào máy chủ vì lệnh đầu tiên sẽ làm mất kết nối của bạn! Theo cách này, phiên ssh sẽ tồn tại.


Bạn có thể tạo một vpn whit hơn một địa chỉ IP bằng cách cài đặt từ trình quản lý phần mềm.
Michael

Không yêu cầu khởi động lại trên Ubuntu 16.04.3 LTS sau khi thêm hoặc xóa IP
Daniel F

1
có vẻ như ifdown bị phản đối trong các phiên bản Ubuntu mới hơn.
Sajuuk

20

Với bộ công cụ mới, việc thêm địa chỉ IP mới sẽ dễ dàng như cũ:

ip addr add 192.168.1.1/24 dev eth0

Khi tìm kiếm ip addr showlại, bạn thấy địa chỉ IP thứ hai được gán cho giao diện:

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

Xóa địa chỉ IP đó bằng:

ip addr del 192.168.1.1/24 dev eth0

Bộ iproute2:

Bộ iproute2 là bộ giao tiếp để liên lạc giữa các quá trình giữa hạt nhân và không gian người dùng thông qua giao thức netlink. Nó sẽ thay thế toàn bộ công cụ mạng tiêu chuẩn. Đây là những gì họ thay thế:

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

Thx để cung cấp các lệnh phù hợp.
guntbert

thx @chaos, tôi có thể có nhiều ip hơn không có giao diện trên hệ thống của mình không ??
lazarus

@jazzz có, như bạn có thể thấy trong đầu ra của giao diện của tôi ở trên, có 2 địa chỉ IP được gán cho nó (192.168.0.100 và 192.168.1.1). Bạn có thể thêm một cái khác nếu bạn muốn.
hỗn loạn

@chaos, nhưng làm thế nào tôi có thể sử dụng chúng, cho một ví dụ tôi muốn tạo một nhóm cho multicasting ,, tôi có thể tạo thành một nhóm từ họ ,, bạn có thể vui lòng tham khảo câu hỏi của tôi askubuntu.com/questions/547105/...
lazarus

1
@chaos Tôi chấp nhận câu trả lời của riêng tôi thay vì câu trả lời xuất sắc của bạn vì câu trả lời của bạn thiếu "tính lâu dài" mà tôi mong đợi trên cấu hình máy chủ.
guntbert

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.