糯米文學吧

位置:首頁 > 設計 > 網頁設計

關於Ubuntu系統中為單個網絡卡配置多個IP的教程

  關於Ubuntu系統中為單個網絡卡配置多個IP的教程

樣例輸出:

關於Ubuntu系統中為單個網絡卡配置多個IP的教程

1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet scope host lo

valid_lft forever preferred_lft forever

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: enp0s3: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 brd 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: Bcast: Mask:

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: Mask:

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 地址是 。

現在讓我們來為網絡卡新增一個新的 IP 地址,例如說 。

開啟你的終端並執行下面的命令新增額外的 IP。

sudo ip addr add dev enp0s3

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

sudo ip address show enp0s3

樣例輸出:

2: enp0s3: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 brd scope global enp0s3

valid_lft forever preferred_lft forever

inet 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

樣例輸出

PING () 56(84) bytes of data.

64 bytes from : icmp_seq=1 ttl=64 time=0.901 ms

64 bytes from : icmp_seq=2 ttl=64 time=0.571 ms

64 bytes from : icmp_seq=3 ttl=64 time=0.521 ms

64 bytes from : icmp_seq=4 ttl=64 time=0.524 ms

好極了,它能工作!

要刪除 IP,只需要執行:

sudo ip addr del dev enp0s3

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

sudo ip address show enp0s3

樣例輸出:

2: enp0s3: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 brd 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。

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

編輯 /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

儲存並關閉檔案。

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

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

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 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

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 port 67 interval 3 (xid=0xdfb94764)

DHCPREQUEST of on enp0s3 to port 67 (xid=0x6447b9df)

DHCPOFFER of from

DHCPACK of from

bound to -- renewal in 35146 seconds.

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

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

sudo ip address show enp0s3

輸出樣例:

2: enp0s3: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 brd scope global enp0s3

valid_lft forever preferred_lft forever

inet brd 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

樣例輸出:

PING () 56(84) bytes of data.

64 bytes from : icmp_seq=1 ttl=64 time=0.137 ms

64 bytes from : icmp_seq=2 ttl=64 time=0.050 ms

64 bytes from : icmp_seq=3 ttl=64 time=0.054 ms

64 bytes from : icmp_seq=4 ttl=64 time=0.067 ms

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