背景:debian9服务器2张网卡,一张通过dhcp获取ip用来连接外网上网,配置另一张网卡连入内网。

  1. 备份原有配置文件
cp /etc/network/interfaces /etc/network/interfaces.bak
  1. 修改配置文件
vim  /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
allow-hotplug eth0
iface eth0 inet dhcp

因为我的外网网卡是eth0,安装系统的时候自动配置好了dhcp,这边尤其注意allow-hotplug,我就是被它坑了一手,后面详细会讲到

在interfaces文件里面新增eth1网卡,如下:

auto eth1
iface eth1 inet static
address 172.31.10.128
netmask 255.255.0.0
  1. 重启networking

保存后重启networking systemctl restart networking

这个时候ssh就断开了,外网连不上服务器,经过仔细排查问题发现目前服务器上eth0的这张网卡没有开启。
其实就是auto与allow-hotplug有一定的区别,

auto

语法:
auto <interface_name>
含义:
在系统启动的时候启动网络接口,无论网络接口有无连接(插入网线),如果该接口配置了DHCP,则无论有无网线,系统都会去执行> > DHCP,如果没有插入网线,则等该接口超时后才会继续。

allow-hotplug

语法:
allow-hotplug <interface_name>

含义:
只有当内核从该接口检测到热插拔事件后才启动该接口。如果系统开机时该接口没有插入网线,则系统不会启动该接口,系统启动> 后,如果插入网线,系统会自动启动该接口。也就是将网络接口设置为热插拔模式。

使用systemctl restart networking之后auto的eth1可以正常启动,但是allow-hotplug的eth0无法正常启动,必须通过ifup eth0来启动,所以设置allow-hotplug的网卡修改之后不能通过systemctl restart networking来重启,必须使用ifdown <interface_name> && ifup <interface_name>来重启,否则就会暂时失联

Last modification:June 8th, 2020 at 05:54 pm
If you think my article is useful to you, please feel free to appreciate