Skip to content

Linux如何配置双ip

1. 确认网络信息

机器相关网络信息,可以在官网 控制台-网络 中找到。

image

可以看到这里的 ip 信息如下:

地址网关掩码
110.xxx.xxx.63110.xxx.xxx.1255.255.255.0主 IP
183.xxx.xxx.213183.xxx.xxx.1255.255.255.0

主 IP:通常第一个被分配给机器的 ip 为主 ip

2. 备份网络配置

为防止因错误配置覆盖,导致正确配置遗失,进行配置前需要将老配置文件进行备份

shell
/*复制进行备份*/
root@balabala# cp /etc/network/interfaces /etc/network/interfaces.backup

/*查看是否成功备份*/
root@balabala# ls -la /etc/network | grep interfaces
-rw-r--r--  1 root root  399 Jul  8 20:23 interfaces			#实际生效配置文件
-rw-r--r--  1 root root  399 Jul 13 06:06 interfaces.backup		#备份的配置文件

3. 配置网络信息

通过 ssh 连接,或是使用官网控制台进入系统后,首先查看网络信息、网络配置文件。可以发现目前只配置了一个 ip。

shell
/*查看网络信息*/
root@balabala# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether e2:5e:d7:00:01:f7 brd ff:ff:ff:ff:ff:ff
    altname enp0s17
    altname ens17
    inet 110.xxx.xxx.63/24 brd 110.xxx.xxx.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::e05e:d7ff:fe00:1f7/64 scope link
       valid_lft forever preferred_lft forever

/*查看配置文件*/
root@balabala# cat /etc/network/interfaces
# network-config
auto lo
iface lo inet loopback
    dns-nameservers 119.29.29.29
    dns-search local

auto eth0
iface eth0 inet static
    address 110.xxx.xxx.63	#ip地址
    netmask 255.255.255.0	#掩码
    gateway 110.xxx.xxx.1	#网关

可以看到目前机器网络连接到 eth0 ​网口上,因此需要对该网卡新增配置

使用 nano ​工具打开配置文件

shell
root@balabala# nano /etc/network/interfaces

在文本末尾添加如下内容,附加 ip 默认可以不用设置网关。

如果您的接口不是 eth0,则需要将接口名改为实际使用的接口。如 enp2s0,则需要写为 enp2s0:1

image

如果需要配置多个 ip,可以将 eth0:1 ​向后继续扩充。

text
auto eth0
iface eth0 inet static
    address 110.xxx.xxx.63
    netmask 255.255.255.0
    gateway 110.xxx.xxx.1

auto eth0:1
iface eth0:1 inet static
    address 183.xxx.xxx.213
    netmask 255.255.255.0

auto eth0:2
iface eth0:2 inet static
    address 183.xxx.xxx.214
    netmask 255.255.255.0

.......

添加完成后,您可以按 Ctrl+x​ 退出,退出时输入 y​ 同意写入到文件

image

不要修改文件名,直接按回车继续

image

重新加载网络配置

shell
root@balabala# service networking.service reload
Waiting for DAD... Done
done.

root@balabala# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether e2:5e:d7:00:01:f7 brd ff:ff:ff:ff:ff:ff
    altname enp0s17
    altname ens17
    inet 110.xxx.xxx.63/24 brd 110.xxx.xxx.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet 183.xxx.xxx.213/24 brd 183.xxx.xxx.255 scope global eth0:1
       valid_lft forever preferred_lft forever

最后确认是否可以访问【需要在本地进行操作】

cmd
C:\Users\somebody> ping 183.xxx.xxx.213
正在 Ping 183.xxx.xxx.213 具有 32 字节的数据:
来自 183.xxx.xxx.213 的回复: 字节=32 时间=11ms TTL=50
来自 183.xxx.xxx.213 的回复: 字节=32 时间=11ms TTL=50
来自 183.xxx.xxx.213 的回复: 字节=32 时间=10ms TTL=50
来自 183.xxx.xxx.213 的回复: 字节=32 时间=11ms TTL=50

183.xxx.xxx.213 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 10ms,最长 = 11ms,平均 = 10ms

4. 如果配置后网络不通了

  1. 使用 itdog.cn 查看 ip 能否 ping 通

  2. 执行 service networking.service reload ​时,有没有报错

  3. 执行 reboot ​重启后观察网络是否通畅

  4. 还原最后一次正确的配置,并检查是否执行过程中有误操作

    shell
    root@balabala# cp /etc/network/interfaces.backup /etc/network/interfaces
    
    root@balabala# service networking.service reload
    Waiting for DAD... Done
    done.