# 如何在Linux实例中配置静态IP地址？
#### 操作场景
华为云公共镜像默认使用DHCP的方式动态获取IP地址，如果DHCP动态获取IP地址的方式无法满足业务需求，可参考本文在弹性云服务器实例中为网卡配置静态IP地址。
#### 信息收集
在配置静态IP地址之前，需要获取当前Linux实例的IP地址、子网掩码和网关信息，请按照以下步骤获取：
1. 登录弹性云服务器。
2. 执行以下命令，查看实例的IP地址和子网掩码。 **ip a**
   如下图显示实例当前的IP地址及网段为：172.19.126.101/15
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002273187740.png "点击放大")
   **ifconfig -a**
   如下图显示实例当前的子网掩码为：255.254.0.0
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000001892385036.png "点击放大")
   
3. 执行以下命令，查看实例当前的网关和默认路由信息。 **ip route**
   如下图显示实例当前的网关为：172.10.0.1，默认路由使用eth0网卡。
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000001935146881.png "点击放大")
   
根据以上步骤您可以获取到以下参数信息：
表1参数信息 
| 参数名称 | 参数值           |
|:---|:---|
| IP地址   | 172.19.126.101 |
| 子网掩码   | 255.254.0.0    |
| 网关地址  | 172.10.0.1    |
   
#### Centos 7/Centos 8/HCE2.0
Centos 7、Centos 8和HCE 2.0公共镜像均默认使用NetworkManager作为网络服务，DNS配置信息由DHCP获取。以网卡eth0为例配置静态IP的操作步骤如下：
1. 执行以下命令修改网卡配置文件。 **vim /etc/sysconfig/network-scripts/ifcfg-eth0**
   将BOOTPROTO字段修改为static，并将信息收集中获取的IP地址、子网掩码、网关地址填写到该文件中，DNS信息根据业务实际情况写入，如果使用华为云默认的DNS可以参考[华为云提供的内网DNS地址是多少？](https://support.huaweicloud.com/dns_faq/dns_faq_002.html?locale=zh-cn)获取，修改后的内容如下所示：
   ```
   DEVICE="eth0"
   BOOTPROTO="static"
   ONBOOT="yes"
   TYPE="Ethernet"
   STARTMODE="auto"
   USERCTL="no"
   IPADDR="172.19.126.101"
   NETMASK="255.254.0.0"
   GATEWAY="172.10.0.1"
   PEERDNS="no"
   DNS1="100.125.1.250"
   DNS2="100.125.129.250"
   ```
   修改完成后保存退出。
   
2. 执行以下命令使配置生效。
   1. 执行以下命令重新加载网络配置。 **nmcli c reload**
      
   
   2. 执行以下命令查询具体的网络连接名称。 **nmcli c s**
      如下图，eth0的链接名称是System eth0。
      ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000001892243604.png "点击放大")
      
   
   3. 执行以下命令重新激活链接。 **nmcli c up 'System eth0'**
      
    
3. 执行以下命令确认配置是否成功。 **ip a**
   如果回显中ip已经配置正常并且显示的时间是forever则代表静态ip配置成功。
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000002307805817.png "点击放大")
   **cat /etc/resolv.conf**
   如果回显nameserver显示与配置的DNS地址一致则代表DNS配置成功。
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000001934973945.png "点击放大")
   
 
#### Ubuntu20/22
Ubuntu20、Ubuntu22公共镜像均默认使用NetworkManager作为网络服务，DNS配置信息由DHCP获取，由systemd-resolved服务维护。以网卡eth0为例配置静态IP的操作步骤如下：
1. 执行以下命令修改网卡配置文件。 **vim /etc/netplan/01-netcfg.yaml**
   将信息收集中获取的IP地址及网段、网关地址填写到该文件中，DNS信息根据业务实际情况写入，如果使用华为云默认的DNS可以参考[华为云提供的内网DNS地址是多少？](https://support.huaweicloud.com/dns_faq/dns_faq_002.html?locale=zh-cn)获取，修改后的内容如下图所示：
   ```
   network:
       version: 2
       renderer: NetworkManager
       ethernets:
           eth0:
               dhcp4: true
               dhcp4: no
               addresses: [172.19.126.101/15]
               gateway4: 172.10.0.1
               nameservers:
                       addresses: [100.125.1.250,100.125.129.250]
           eth1:
               dhcp4: true
           eth2:
               dhcp4: true
           eth3:
               dhcp4: true
           eth4:
               dhcp4: true
   ```
   
2. 执行以下命令使IP配置生效。 **netplan apply**
   
3. 执行以下命令确认配置是否成功。 **ip a**
   如果回显中ip已经配置正常并且显示的时间是forever则代表静态ip配置成功。
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000001935212501.png "点击放大")
   **resolvectl**
   如果回显中对应网卡显示的DNS与配置一致则配置成功。
   ![](https://support.huaweicloud.com/ecs_faq/zh-cn_image_0000001891898016.png "点击放大")
   
 
