Ken的杂谈
  • Ken的杂谈 (current)
  • 关于
  • 杂谈
    Java Spring Spring Boot Spring Cloud MyBatis C# .NET Core .NET ASP.NET Core ASP.NET ClassLibrary Mono 数据库 MySQL SQL Server 网络 缓存 Web Linux CentOS Ubuntu macOS Windows openEuler Nginx ServiceStack JS/JQ 正则 工具 IDE Grafana Exceptions CI/CD Solution 微服务 Arch Docker 杂谈
  • 系列
    Java 快速入门系列教程 Spring Boot 入门教程 Spring Boot 2.x 入门教程 Spring Cloud 入门教程 .NET Core 快速入门教程 ASP.NET Core 2.1 入门教程 CentOS 7 快速上手教程 Ubuntu快速上手入门教程 Hyper-V基础教程 Docker入门教程
  • GitHub

为克隆后的CentOS虚拟机设置静态IP

网络 CentOS @ 2018-02-24 20:05:31 · 阅读:(6729)

一、前言

1、问题由来

使用VMware克隆CentOS虚拟机后,无法进行静态IP设置/无网络连接

2、方案思路

CentOS虚拟机克隆后,由于网卡MAC地址等信息跟被克隆的系统一致,但是克隆后的虚拟机网卡其实已经变了,所以CentOS不会采用原来的网卡配置文件。所以克隆后的CentOS直接去修改原有网卡配置文件,去设置静态/固定IP是不会生效的。

3、适用范围

  • CentOS 6
  • CentOS 7

二、解决过程

1、确认正确的网络配置文件

  • 查看网络连接信息
[root@centos7 ~]# ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.103  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::232f:3f29:c029:a253  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:81:11:2b  txqueuelen 1000  (Ethernet)
        RX packets 91  bytes 9778 (9.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 84  bytes 11762 (11.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

以上信息说明当前系统使用的网络连接名是ens33 应该是CentOS抛弃了之前的网络连接,重新生成了一个

  • 查找网络连接配置文件
#CentOS网络连接配置文件均在/etc/sysconfig/network-scripts目录下,且以ifcfg开头
[root@centos7 ~]# ll /etc/sysconfig/network-scripts | grep "ifcfg"
-rw-r--r--. 1 root root   196 2月  24 16:23 ifcfg-eno16777736
-rw-r--r--. 1 root root   254 9月  16 2015 ifcfg-lo

网络配置文件中并没有对应ens33的网络配置文件
我们只需要将ifcfg-eno16777736更改为ens33对应的配置文件即可

2、调整网络配置文件名并设置静态IP

  • 修改配置文件名
cd /etc/sysconfig/network-scripts
mv ifcfg-eno16777736 ifcfg-ens33
  • 修改配置内容
#修改配置文件ifcfg-ens33
vi ifcfg-ens33

#去掉UUID、HWADDR、MACADDR配置项
#然后直接参考以下配置

TYPE="Ethernet"
BOOTPROTO="static"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.1.101
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114

3、删除多余网络规则&重启生效

  • 删除网络规则文件
rm -rf /etc/udev/rules.d/70-persistent-net.rules
rm -rf /etc/udev/rules.d/90-eno-fix.rules
  • 重启
reboot

Ken的杂谈

本文由 ken.io 创作,采用CC BY 3.0 CN协议 进行许可。 可自由转载、引用、甚至修改,但需署名作者且注明出处。

网络 CentOS

随笔目录


    © Copyright 2012-2025 Ken的杂谈

    豫ICP备10025012号

    ASP.NET Core(6.0) on Linux