克隆已配置CentOS 7.x NAT模式静态IP上网,无法重启、上网

本文解决了一个常见的虚拟机克隆后网络服务重启失败的问题,详细介绍了错误原因及修复步骤,包括修改IP地址和注释DEVICE行,确保克隆后的虚拟机能够正常联网。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.前言

很多情况下,假如我们在一台虚拟机已搭建了静态IP上网,JDK和Maven等基础环境下,自己又不想重新搭建这些环境,我们就会想到到虚拟机克隆。

2.环境

列如在192.168.8.21,已搭建了静态IP上网;
CentOS 7.x NAT模式静态IP上网可以参考:
https://blog.youkuaiyun.com/no_ob/article/details/78656552

3.遇到问题

192.168.8.21虚拟机克隆后192.168.8.22,执行service network restart命令后出现下面的错误:

Restarting network (via systemctl):  Job for network.service failed because the control process exited with error code. 
See "systemctl status network.service" and "journalctl -xe" for details.                                    [失败]

查看错误信息命令:cat var/log/messages|grep network

● network.service - LSB: Bring up/down networking
   Loaded: loaded (/etc/rc.d/init.d/network; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since 五 2017-07-14 19:01:47 CST; 1min 16s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 4681 ExecStart=/etc/rc.d/init.d/network start (code=exited, status=1/FAILURE)
   CGroup: /system.slice/network.service
           └─1192 /sbin/dhclient -H mini1 -1 -q -lf /var/lib/dhclient/dhclient--ens33.lease -pf /v...
7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists
7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists
7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists
7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists
7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists
7月 14 19:01:47 mini1 network[4681]: RTNETLINK answers: File exists
7月 14 19:01:47 mini1 systemd[1]: network.service: control process exited, code=exited status=1
7月 14 19:01:47 mini1 systemd[1]: Failed to start LSB: Bring up/down networking.
7月 14 19:01:47 mini1 systemd[1]: Unit network.service entered failed state.
7月 14 19:01:47 mini1 systemd[1]: network.service failed.

3.问题解决
1./etc/sysconfig/network-scripts/将ifcfg-xxx文件中的IPADDR修改为192.168.8.22
2./etc/sysconfig/network-scripts/将ifcfg-xxx文件中的DEVICE一行注释掉。

修改之前192.168.8.21的ifcfg-xxx:
在这里插入图片描述
修改之后192.168.8.22的ifcfg-xxx:
在这里插入图片描述

4.测试结果

输入重启虚拟机命令:service network restart![在这里插入图片描述](http
检测网络命令:ping www.baidu.com
在这里插入图片描述

5.如果问题还没解决可以参考下:

https://blog.youkuaiyun.com/weiyongle1996/article/details/75128239

<think>我们正在配置四台CentOS主机,网络设置如下:主机1:network1(NAT模式)IP:10.0.0.11,另一网卡LAN1区段IP:172.16.1.12主机2:network1(NAT模式)IP:10.0.0.12,另一网卡LAN1区段IP:172.16.1.13,还有一块网卡LAN2区段IP:172.16.2.13主机3:LAN1区段IP:172.16.1.14,另一网卡LAN2区段IP:172.16.2.14主机4:LAN2区段IP:172.16.2.15注意:题目中只提到三台主机有多个网卡,但第四台主机只有LAN2区段。根据题目要求,我们需要配置四台主机。根据引用[1]和[2]的配置经验,我们需要注意:1.虚拟机网络适配器设置:每台虚拟机的网卡要连接到正确的网络(NAT模式或LAN区段)。2.手动配置IP地址:修改每台主机的网络配置文件。3.配置静态路由:由于存在多个网络,可能需要配置路由表以实现互通。题目要求明确各个网卡的IP地址、网关和DNS设置情况:-NAT模式的网络(10.0.0.0/24)需要设置网关和DNS(通常网关为10.0.0.2,DNS可以设置为公共DNS如8.8.8.8或根据实际情况设置)。-LAN区段(172.16.1.0/24和172.16.2.0/24)不需要设置网关和DNS(即仅在同一网段内通信),但若需要跨网段通信,则需要配置路由。由于主机2(10.0.0.12)有三块网卡(分别连接NAT、LAN1、LAN2),它作为连接三个网络的节点,需要启用IP转发,并可能需要配置路由规则,或者为其他主机配置静态路由。我们按照主机来分别配置:主机1(假设命名为host11):网卡1(NAT):10.0.0.11/24,网关10.0.0.2,DNS设置(如8.8.8.8)网卡2(LAN1区段):172.16.1.12/24,无网关,无DNS主机2(host12):网卡1(NAT):10.0.0.12/24,网关10.0.0.2,DNS设置(同主机1)网卡2(LAN1区段):172.16.1.13/24,无网关网卡3(LAN2区段):172.16.2.13/24,无网关主机3(host13):网卡1(LAN1区段):172.16.1.14/24,无网关网卡2(LAN2区段):172.16.2.14/24,无网关主机4(host14):网卡1(LAN2区段):172.16.2.15/24,无网关注意:由于LAN区段没有网关,所以这些主机只能在同一网段内通信。如果要跨网段通信(例如从主机1访问主机4),则需要配置路由。为了实现跨网段通信,我们可以将主机2配置为路由器(因为它连接了三个网络)。步骤如下:1.在主机2上启用IP转发。2.配置其他主机的静态路由:-主机1(10.0.0.11)需要知道如何到达LAN2区段(172.16.2.0/24):下一跳指向主机2在LAN1区段的IP(172.16.1.13)-主机3(172.16.1.14和172.16.2.14)已经直接连接了两个网络,所以它本身可以充当主机3和主机4之间的桥梁?但主机3并没有直接连接到NAT网络。所以对于主机4(172.16.2.15)要访问NAT网络(10.0.0.0/24)或LAN1区段(172.16.1.0/24),需要将默认网关或特定网络路由指向主机2的LAN2区段IP(172.16.2.13)或主机3的LAN2区段IP(172.16.2.14)?这里需要设计。实际上,主机4(host14)只有LAN2区段,它要访问其他网络,需要设置一个网关,这个网关可以是主机2的LAN2区段IP(172.16.2.13)或者主机3的LAN2区段IP(172.16.2.14)。但主机3并不直接连接其他网络(除了LAN1和LAN2),而主机2连接了所有三个网络。所以最佳方案是将主机2作为整个网络的核心路由器。因此,我们这样设计路由:-主机1(10.0.0.11)要访问LAN2区段(172.16.2.0/24),则添加路由:目标网络172.16.2.0/24,下一跳172.16.1.13(主机2的LAN1区段IP)-主机4(172.16.2.15)要访问其他网络(10.0.0.0/24和172.16.1.0/24),则设置默认网关为172.16.2.13(主机2的LAN2区段IP),因为主机2连接了所有网络。-主机3(172.16.1.14和172.16.2.14)已经同时连接了两个LAN区段,所以它可以直接和LAN1和LAN2的主机通信。但它要访问NAT网络(10.0.0.0/24)时,需要添加路由:目标网络10.0.0.0/24,下一跳172.16.1.13(主机2的LAN1区段IP)或者172.16.2.13(主机2的LAN2区段IP)都可以,因为主机2在两个网段上。但是,主机3有两个接口,它本身也可以作为LAN1和LAN2之间的路由器,但我们这里不需要它做路由,因为主机2已经连接了所有网络。为了简化,我们让所有跨网段的流量都经过主机2。因此,配置如下:主机1(10.0.0.11):到172.16.2.0/24的路由:via172.16.1.13主机3(172.16.1.14和172.16.2.14):到10.0.0.0/24的路由:via172.16.1.13或者via172.16.2.13(两个接口都可以到达主机2)主机4(172.16.2.15):默认网关:172.16.2.13同时,在主机2上启用IP转发。下面我们详细描述每台主机的网络配置步骤。注意:网络配置文件位于/etc/sysconfig/network-scripts/,文件名类似ifcfg-eth0,ifcfg-eth1等,具体网卡名称可能不同(如ens33,enp0s3等),请使用iplink或ifconfig-a查看。步骤概览:1.配置每台主机的网络接口文件(设置IP、子网掩码、网关、DNS等)。2.重启网络服务使配置生效。3.配置主机2的IP转发功能。4.在其他主机上添加静态路由。详细配置:主机1(host11):网卡1(NAT,假设为eth0):配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0BOOTPROTO=staticONBOOT=yesIPADDR=10.0.0.11NETMASK=255.255.255.0GATEWAY=10.0.0.2#NAT网络的网关DNS1=8.8.8.8网卡2(LAN1区段,假设为eth1):配置文件:/etc/sysconfig/network-scripts/ifcfg-eth1BOOTPROTO=staticONBOOT=yesIPADDR=172.16.1.12NETMASK=255.255.255.0#不设置GATEWAY和DNS添加静态路由(永久生效):创建路由配置文件:/etc/sysconfig/network-scripts/route-eth1172.16.2.0/24via172.16.1.13deveth1主机2(host12):网卡1(NAT,假设为eth0):配置文件:ifcfg-eth0BOOTPROTO=staticONBOOT=yesIPADDR=10.0.0.12NETMASK=255.255.255.0GATEWAY=10.0.0.2DNS1=8.8.8.8网卡2(LAN1区段,假设为eth1):配置文件:ifcfg-eth1BOOTPROTO=staticONBOOT=yesIPADDR=172.16.1.13NETMASK=255.255.255.0网卡3(LAN2区段,假设为eth2):配置文件:ifcfg-eth2BOOTPROTO=staticONBOOT=yesIPADDR=172.16.2.13NETMASK=255.255.255.0启用IP转发:修改/etc/sysctl.conf,设置:net.ipv4.ip_forward=1执行命令:sysctl-p使生效注意:主机2不需要添加路由,因为它直接连接了三个网络。主机3(host13):网卡1(LAN1区段,假设为eth0):配置文件:ifcfg-eth0BOOTPROTO=staticONBOOT=yesIPADDR=172.16.1.14NETMASK=255.255.255.0网卡2(LAN2区段,假设为eth1):配置文件:ifcfg-eth1BOOTPROTO=staticONBOOT=yesIPADDR=172.16.2.14NETMASK=255.255.255.0添加静态路由(到NAT网络10.0.0.0/24):可以选择通过LAN1区段的路由(下一跳172.16.1.13)或者通过LAN2区段的路由(下一跳172.16.2.13)。这里选择通过LAN1区段(eth0):创建路由配置文件:/etc/sysconfig/network-scripts/route-eth010.0.0.0/24via172.16.1.13deveth0主机4(host14):网卡1(LAN2区段,假设为eth0):配置文件:ifcfg-eth0BOOTPROTO=staticONBOOT=yesIPADDR=172.16.2.15NETMASK=255.255.255.0#设置默认网关为主机2的LAN2区段IPGATEWAY=172.16.2.13注意:因为主机4只有一个网卡,所以我们可以直接在它的网络配置文件中设置GATEWAY。配置完成后,重启各主机的网络服务:systemctlrestartnetwork验证:-主机1ping主机2的NATIP(10.0.0.12)和LAN1IP(172.16.1.13)应该通。-主机1ping主机3的LAN1IP(172.16.1.14)应该通。-主机1ping主机4(172.16.2.15)应该通(因为配置了路由)。-主机4ping主机1(10.0.0.11)应该通。注意:如果遇到ping不通的情况,检查防火墙(暂时关闭:systemctlstopfirewalld)和路由表(route-n)。以上配置步骤详细说明了四台主机的网络设置。下面根据用户要求生成相关问题。</think>### 四台CentOS主机网络配置指南 以下是针对四台克隆CentOS主机的网络配置方案,基于NAT模式和两个LAN区段的网络拓扑。配置重点包括IP地址分配、网关设置、DNS配置静态路由。 --- #### **网络拓扑说明** 1. **NAT网络**(10.0.0.0/24) - 网关:`10.0.0.2` - DNS:`8.8.8.8`(示例,可替换为实际DNS) 2. **LAN1区段**(172.16.1.0/24) - 无网关/DNS(仅同网段通信) 3. **LAN2区段**(172.16.2.0/24) - 无网关/DNS(仅同网段通信) | 主机名 | NAT网卡 (eth0) | LAN1网卡 (eth1) | LAN2网卡 (eth2) | |----------|-------------------|-------------------|-------------------| | Host11 | 10.0.0.11/24 | 172.16.1.12/24 | - | | Host12 | 10.0.0.12/24 | 172.16.1.13/24 | 172.16.2.13/24 | | Host13 | - | 172.16.1.14/24 | 172.16.2.14/24 | | Host14 | - | - | 172.16.2.15/24 | > **关键点**:Host12作为核心路由器,需启用IP转发并配置静态路由[^1][^2]。 --- #### **配置步骤** ##### **1. 配置Host11(NAT + LAN1)** ```bash # 配置NAT网卡 (eth0) vim /etc/sysconfig/network-scripts/ifcfg-eth0 ``` ```ini BOOTPROTO=static ONBOOT=yes IPADDR=10.0.0.11 NETMASK=255.255.255.0 GATEWAY=10.0.0.2 # NAT网关 DNS1=8.8.8.8 # DNS服务器 ``` ```bash # 配置LAN1网卡 (eth1) vim /etc/sysconfig/network-scripts/ifcfg-eth1 ``` ```ini BOOTPROTO=static ONBOOT=yes IPADDR=172.16.1.12 NETMASK=255.255.255.0 # 无网关/DNS ``` ##### **2. 配置Host12(NAT + LAN1 + LAN2)** ```bash # 配置NAT网卡 (eth0) vim /etc/sysconfig/network-scripts/ifcfg-eth0 ``` ```ini BOOTPROTO=static ONBOOT=yes IPADDR=10.0.0.12 NETMASK=255.255.255.0 GATEWAY=10.0.0.2 # NAT网关 DNS1=8.8.8.8 ``` ```bash # 配置LAN1网卡 (eth1) vim /etc/sysconfig/network-scripts/ifcfg-eth1 ``` ```ini BOOTPROTO=static ONBOOT=yes IPADDR=172.16.1.13 NETMASK=255.255.255.0 ``` ```bash # 配置LAN2网卡 (eth2) vim /etc/sysconfig/network-scripts/ifcfg-eth2 ``` ```ini BOOTPROTO=static ONBOOT=yes IPADDR=172.16.2.13 NETMASK=255.255.255.0 ``` **启用IP转发(关键步骤)** ```bash vim /etc/sysctl.conf ``` ```ini net.ipv4.ip_forward = 1 # 取消注释 ``` ```bash sysctl -p # 生效配置 ``` ##### **3. 配置Host13(LAN1 + LAN2)** ```bash # 配置LAN1网卡 (eth0) vim /etc/sysconfig/network-scripts/ifcfg-eth0 ``` ```ini BOOTPROTO=static ONBOOT=yes IPADDR=172.16.1.14 NETMASK=255.255.255.0 ``` ```bash # 配置LAN2网卡 (eth1) vim /etc/sysconfig/network-scripts/ifcfg-eth1 ``` ```ini BOOTPROTO=static ONBOOT=yes IPADDR=172.16.2.14 NETMASK=255.255.255.0 ``` ##### **4. 配置Host14(仅LAN2)** ```bash # 配置LAN2网卡 (eth0) vim /etc/sysconfig/network-scripts/ifcfg-eth0 ``` ```ini BOOTPROTO=static ONBOOT=yes IPADDR=172.16.2.15 NETMASK=255.255.255.0 ``` --- #### **静态路由配置** 为实现跨网段通信(如Host11访问Host14),需添加路由: ```bash # Host11添加路由(指向Host12的LAN1 IP) route add -net 172.16.2.0/24 gw 172.16.1.13 # Host14添加默认网关(指向Host12的LAN2 IP) route add default gw 172.16.2.13 # Host13添加路由(访问NAT网络) route add -net 10.0.0.0/24 gw 172.16.1.13 # 通过LAN1 # 或 route add -net 10.0.0.0/24 gw 172.16.2.13 # 通过LAN2 ``` **永久生效**:将路由命令写入 `/etc/rc.local`。 --- #### **验证命令** ```bash # 检查IP配置 ip addr show # 测试连通性 ping 10.0.0.12 # Host11→Host12(NAT) ping 172.16.2.15 # Host11→Host14(需路由) # 查看路由表 route -n ``` --- #### **故障排除** 1. **防火墙**:临时关闭测试 ```bash systemctl stop firewalld ``` 2. **路由检查**:确保Host12的IP转发生效 ```bash cat /proc/sys/net/ipv4/ip_forward # 应返回1 ``` 3. **网卡状态**:确认所有网卡已启用 ```bash ethtool ethX | grep "Link detected" ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值