Linux中國

在 Ubuntu 15.10 上為單個網卡設置多個 IP 地址

臨時添加 IP 地址

首先,讓我們找到網卡的 IP 地址。在我的 Ubuntu 15.10 伺服器版中,我只使用了一個網卡。

運行下面的命令找到 IP 地址:

sudo ip addr

樣例輸出:

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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:2a:03:4b brd ff:ff:ff:ff:ff:ff
inet 192.168.1.103/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe2a:34e/64 scope link 
valid_lft forever preferred_lft forever

sudo ifconfig

樣例輸出:

enp0s3 Link encap:Ethernet HWaddr 08:00:27:2a:03:4b 
inet addr:192.168.1.103 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe2a:34e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:186 errors:0 dropped:0 overruns:0 frame:0
TX packets:70 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:21872 (21.8 KB) TX bytes:9666 (9.6 KB)
lo Link encap:Local Loopback 
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:217 errors:0 dropped:0 overruns:0 frame:0
TX packets:217 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:38793 (38.7 KB) TX bytes:38793 (38.7 KB)

正如你在上面輸出中看到的,我的網卡名稱是 enp0s3,它的 IP 地址是 192.168.1.103

現在讓我們來為網卡添加一個新的 IP 地址,例如說 192.168.1.104

打開你的終端並運行下面的命令添加額外的 IP。

sudo ip addr add 192.168.1.104/24 dev enp0s3

用命令檢查是否啟用了新的 IP:

sudo ip address show enp0s3

樣例輸出:

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:2a:03:4e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.103/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet 192.168.1.104/24 scope global secondary enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe2a:34e/64 scope link 
valid_lft forever preferred_lft forever

類似地,你可以添加任意數量的 IP 地址,只要你想要。

讓我們 ping 一下這個 IP 地址驗證一下。

sudo ping 192.168.1.104

樣例輸出

PING 192.168.1.104 (192.168.1.104) 56(84) bytes of data.
64 bytes from 192.168.1.104: icmp_seq=1 ttl=64 time=0.901 ms
64 bytes from 192.168.1.104: icmp_seq=2 ttl=64 time=0.571 ms
64 bytes from 192.168.1.104: icmp_seq=3 ttl=64 time=0.521 ms
64 bytes from 192.168.1.104: icmp_seq=4 ttl=64 time=0.524 ms

好極了,它能工作!

要刪除 IP,只需要運行:

sudo ip addr del 192.168.1.104/24 dev enp0s3

再檢查一下是否刪除了 IP。

sudo ip address show enp0s3

樣例輸出:

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:2a:03:4e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.103/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe2a:34e/64 scope link 
valid_lft forever preferred_lft forever

可以看到已經沒有了!!

正如你所知,重啟系統後這些設置會失效。那麼怎麼設置才能永久有效呢?這也很簡單。

添加永久 IP 地址

Ubuntu 系統的網卡配置文件是 /etc/network/interfaces

讓我們來看看上面文件的具體內容。

sudo cat /etc/network/interfaces

輸出樣例:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp

正如你在上面輸出中看到的,網卡啟用了 DHCP。

現在,讓我們來分配一個額外的地址,例如 192.168.1.104/24

編輯 /etc/network/interfaces

sudo nano /etc/network/interfaces

如下添加額外的 IP 地址。

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp
iface enp0s3 inet static
 address 192.168.1.104/24

保存並關閉文件。

運行下面的命令使更改無需重啟即生效。

sudo ifdown enp0s3 && sudo ifup enp0s3

樣例輸出:

Killed old client process
Internet Systems Consortium DHCP Client 4.3.1
Copyright 2004-2014 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/enp0s3/08:00:27:2a:03:4e
Sending on LPF/enp0s3/08:00:27:2a:03:4e
Sending on Socket/fallback
DHCPRELEASE on enp0s3 to 192.168.1.1 port 67 (xid=0x225f35)
Internet Systems Consortium DHCP Client 4.3.1
Copyright 2004-2014 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/enp0s3/08:00:27:2a:03:4e
Sending on LPF/enp0s3/08:00:27:2a:03:4e
Sending on Socket/fallback
DHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 3 (xid=0xdfb94764)
DHCPREQUEST of 192.168.1.103 on enp0s3 to 255.255.255.255 port 67 (xid=0x6447b9df)
DHCPOFFER of 192.168.1.103 from 192.168.1.1
DHCPACK of 192.168.1.103 from 192.168.1.1
bound to 192.168.1.103 -- renewal in 35146 seconds.

注意:如果你從遠程連接到伺服器,把上面的兩個命令放到一行非常重要,因為第一個命令會斷掉你的連接。而採用這種方式可以保留你的 ssh 會話。

現在,讓我們用下面的命令來檢查一下是否添加了新的 IP:

sudo ip address show enp0s3

輸出樣例:

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:2a:03:4e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.103/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet 192.168.1.104/24 brd 192.168.1.255 scope global secondary enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe2a:34e/64 scope link 
valid_lft forever preferred_lft forever

很好!我們已經添加了額外的 IP。

再次 ping IP 地址進行驗證。

sudo ping 192.168.1.104

樣例輸出:

PING 192.168.1.104 (192.168.1.104) 56(84) bytes of data.
64 bytes from 192.168.1.104: icmp_seq=1 ttl=64 time=0.137 ms
64 bytes from 192.168.1.104: icmp_seq=2 ttl=64 time=0.050 ms
64 bytes from 192.168.1.104: icmp_seq=3 ttl=64 time=0.054 ms
64 bytes from 192.168.1.104: icmp_seq=4 ttl=64 time=0.067 ms

好極了!它能正常工作。就是這樣。

想知道怎麼給 CentOS/RHEL/Scientific Linux/Fedora 系統添加額外的 IP 地址,可以點擊下面的鏈接。

工作愉快!

via: http://www.unixmen.com/assign-multiple-ip-addresses-to-one-interface-on-ubuntu-15-10/

作者:SK 譯者:ictlyh 校對:Caroline

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國