欢迎来到福编程网,本站提供各种互联网专业知识!

在Ubuntu系统中为单个网卡配置多个IP的教程

发布时间:1970-01-01 作者:SK 来源:开源中文社区
这篇文章主要介绍了在Ubuntu系统中为单个网卡配置多个IP的教程,同样适用于Debian系的其他Linux系统配置的借鉴,需要的朋友可以参考下

临时添加 IP 地址

首先,让我们找到网卡的 IP 地址。在我的 Ubuntu 15.10 服务器版中,我只使用了一个网卡。

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

复制代码代码如下:

sudo ip addr

样例输出:

复制代码代码如下:

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

好极了!它能正常工作。就是这样。

相关推荐