Apr
19
2021
Linux实例中本地网卡的DHCP配置检查与修复
概述
ECS实例默认使用DHCP(动态主机设置协议,Dynamic Host Configuration Protocol)为弹性网卡自动分配IP地址,并获得IP地址租约到期时间。正常情况下,Linux实例的dhclient
进程会定期向DHCP服务器更新租约到期时间,以确保实例IP地址的可用性。以下情况可能引发Linux实例的DHCP服务出现异常,导致实例网络不通:
- 网卡配置文件存在错误
-
网卡对应的
dhclient
进程未运行
本文主要介绍如何检查本地网卡的DHCP配置,以及出现异常时的修复方法。
详细信息
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
- 远程登录Linux实例。
- 为避免误操作产生数据安全风险,请您通过快照备份ECS实例。
-
在Linux实例中执行以下命令,检查并记录Linux实例已有的本地网卡。
ls -al /sys/class/net/
- 如果Linux实例只有一个本地网卡,则继续以下步骤进行检查。如果Linux实例存在多个本地网卡,请参考步骤5至步骤8,依次对每个本地网卡进行检查和修复。
-
在Linux实例中执行以下命令,检查本地网卡的配置文件。
cat /etc/sysconfig/network-scripts/ifcfg-[$Eth]
说明:[$Eth]指本地网卡名称,现场需替换为需要检查的网卡名称,例如:eth0。
系统显示如下,其中BOOTPROTO=dhcp
表示本地网卡使用DHCP的方式获取IP地址。# Created by cloud-init on instance boot automatically, do not edit. # If you don't want cloud-init genrated automatically,you can disable it in /etc/cloud/cloud.cfg # For more information, please refer to: https://help.aliyun.com/document_detail/57803.html # BOOTPROTO=dhcp DEVICE=[$Eth] ONBOOT=yes STARTMODE=auto TYPE=Ethernet USERCTL=no
-
本地网卡使用非DHCP的方式获取IP地址
请您与服务器管理员确认修改IP地址获取方式的原因,如果不需要使用DHCP的方式获取IP地址,则无需参考本文进行排查。 -
本地网卡使用DHCP的方式获取IP地址
请参考上述网卡配置文件的示例,确认您Linux实例中的网卡配置文件不存在拼写错误,继续下一步操作。
-
本地网卡使用非DHCP的方式获取IP地址
-
在Linux实例中执行以下命令,检查对应网卡的
dhclient
进程运行状态。ps aux | grep dhclient | grep [$Eth]
-
在Linux实例中执行以下命令,重新启动对应网卡的
dhclient
进程。ifup [$Eth]
-
再次执行以下命令,确认对应网卡的
dhclient
进程处于运行状态。 -
本公司销售:阿里云、腾讯云、百度云、天翼云、金山大米云、金山企业云盘!可签订合同,开具发票。
我有话说: