【linux】解决设置CentOS7虚拟机使用静态IP的常见错误解决方案

您所在的位置:网站首页 虚拟机配置ip地址代码是什么 【linux】解决设置CentOS7虚拟机使用静态IP的常见错误解决方案

【linux】解决设置CentOS7虚拟机使用静态IP的常见错误解决方案

2024-01-03 17:12| 来源: 网络整理| 查看: 265

最近在VMware虚拟机里玩Centos,装好后发现上不了网。经过一番艰辛的折腾,终于找到出解决问题的方法了。最终的效果是无论是ping内网IP还是ping外网ip,都能正常ping通。方法四步走:

文章目录 配置静态IP设置静态ip后无法连接外网的问题解决方案问题一:服务没开问题二:ip问题 service network start 错误解决办法Failed to start LSB: Bring up/down解决方法

配置静态IP

第一步,我们进入/etc/sysconfig/network-scripts目录,查看该目录有没有形如ifcfg-XXX的文件: 在这里插入图片描述

如果你看不到以ifcfg-打头的文件(ifcfg-lo除外),说明网卡设备没有被正确识别,可能是你下载的centos镜像版本和你安装centos时选择的centos版本不一致,比如,centos镜像是64位的,却按照32位来安装。这个。。重装吧,至少我没找到好的办法

下面进行第二步:

在VMware里,依次点击”编辑“ - ”虚拟网络编辑器“,如下图,我选择的是NAT模式:

在这里插入图片描述 在这里插入图片描述 为了能够使用静态IP,这里不要勾选”使用本地DHCP服务将IP分配给虚拟机“这个选项。然后是配置子网ip,子网IP与宿主机的ip一定不能处在同一地址范围里,否则就算虚拟机能上网,网络既慢,还不稳定。我主机的ip段是192.168.115.xxx,所以我配了192.168.10.xxx来避开主机的ip段,反正ip的第三个数字在0到254并且不是115就行。Nat模式相当于配置了一个子路由器,有设置过多级路由的朋友对此应该有所体会。各位结合自己机器的IP来合理配置一个子网ip吧。

在这个界面接着点"NAT设置",查看虚拟机的网关,这个网关在第三步要用。我这里的网关是192.168.10.2。

在这里插入图片描述

第三步:

以root权限编辑/etc/sysconfig/network-scripts/ifcfg-eno16777736这个文件,效果如下:

TYPE=Ethernet BOOTPROTO=static #设置静态Ip DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=eno16777736 UUID=4f40dedc-031b-4b72-ad4d-ef4721947439 DEVICE=eno16777736 ONBOOT=yes #这里如果为no的话就改为yes,表示网卡设备自动启动 PEERDNS=yes PEERROUTES=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_PRIVACY=no

GATEWAY=192.168.10.2 #这里的网关地址就是第二步获取到的那个网关地址 IPADDR=192.168.10.150 #配置ip,在第二步已经设置ip处于192.168.10.xxx这个范围,我就随便设为150了,只要不和网关相同均可 NETMASK=255.255.255.0#子网掩码 DNS1=202.96.128.86#dns服务器1,填写你所在的网络可用的dns服务器地址即可 DNS2=223.5.5.5#dns服器2

关键的参数我都用彩色底纹标记出来了,其他的保持默认就好,确认无误后保存退出。 在这里插入图片描述

BOOTPROTO=static #开机协议,有dhcp及static; ONBOOT=yes #设置为开机启动; DNS1=114.114.114.114 #这个是国内的DNS地址,是固定的; IPADDR=192.168.2.2 #你想要设置的固定IP,理论上192.168.2.2-255之间都可以,请自行验证; NETMASK=255.255.255.0 #子网掩码,不需要修改; GATEWAY=192.168.2.1 #网关,这里应该和你“2.配置虚拟机的NAT模式具体地址参数”中的(2)选择VMnet8--取消勾选使用本地DHCP--设置子网IP--网关IP设置 一样才行。

1.按下键盘上的“Win”+“R”键,输入“cmd”点击“确定”。 2.输入“ipconfig/all”,按回车键。 3.经过搜索即可找到DNS服务器地址。

第四步: 配置笔记本主机具体VMnet8本地地址参数:

说明:第6步中的IP地址随意设置,但是要保证不能跟你要设置虚拟机的固定IP一样。我设置的是:192.168.116.1 在这里插入图片描述

第五步:重启网卡服务,执行service network restart,然后总算能上网了:

ping下百度的域名 在这里插入图片描述

打开浏览器瞅瞅,发现网页秒开

设置静态ip后无法连接外网的问题解决方案 问题一:服务没开

services.msc打开服务,然后找到VMware NAT Service 右键属性将其启动类型设置为自动,点击启动后确定

问题二:ip问题

centos7虚拟机初始运行时ip是动态随机分配的

通过修改etc/sysconfig/network-scripts/ifcfg-ens33文件的配置可以设置固定的ip TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static #static替代了dhcp 设置固定ip DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=2465b301-deb9-40bd-a6f9-97db7d745a8c DEVICE=ens33 ONBOOT=yes #yes替代no设置固定ip #下面的解决设置固定ip后无法连接外网的问题 192.168.86.xxx是宿主机所在的局域网ip段 IPADDR=192.168.86.105 GATEWAY=192.168.86.2 NETMASK=255.255.255.0 BROADCAST=192.168.86.255 DNS1=192.168.86.2 service network start 错误解决办法

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.

● 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.

network服务启动不了首先保证/etc/sysconfig/network-scripts目录下的ifcfg-xxx(每台机器不一定相同)没有错误(如果你改动过的话),这里的错误指的在更改过程中因为手误敲错字母之类的。 网上最常见的几种做法如下:

1.和 NetworkManager 服务有冲突,这个好解决,直接关闭 NetworkManger 服务就好了, service NetworkManager stop,并且禁止开机启动 chkconfig NetworkManager off 。之后重启就好了。

2和配置文件的MAC地址不匹配,这个也好解决,使用ip addr(或ifconfig)查看mac地址

1: lo: mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:b8:e7:21 brd ff:ff:ff:ff:ff:ff inet 192.168.65.141/24 brd 192.168.65.255 scope global dynamic ens33 valid_lft 1193sec preferred_lft 1193sec inet6 fe80::cca2:d835:f93:e637/64 scope link

00:0c:29:b8:e7:21这个就是MAC地址了,将/etc/sysconfig/network-scripts/ifcfg-xxx中的HWADDR(如果没有就添加上)改成这个MAC地址 3.设定开机启动一个名为NetworkManager-wait-online服务,命令为: systemctl enable NetworkManager-wait-online.service

=========================================================================================================

上面两个是我看到最多的解决方法,但是很遗憾,我的并没有解决。

有查看资料,发现了以下一些方法:

4.查看/etc/sysconfig/network-scripts下,将其余无关的网卡位置文件全删掉,避免不必要的影响,即只留一个以ifcfg开头的文件,

留的那一个应和使用ip addr命令查看ip第二条开头的名称一致(我的是ens33,参见上面我贴出的ip addr命令执行结果),所以我只留了一个ifcfg-ens33。(我的其中两台机器就是这么弄好的,因为我在修改前留了备份,把备份删掉就好了。。。)

5.将ifcfg-xxx文件中的DEVICE一行注释掉。

6.将ifcfg-xxx中的NAME改为和文件名一致。

7.在VMWare的编辑-虚拟网络编辑器中将网络模式改为桥接。

8.看VMWare右下角的网络适配器是否连接,如果没有连接则连接上。 在这里插入图片描述

(补充:点击网络适配器-设置,将NAT模式改为桥接试试,我的改为桥接后可以重启network服务了但是上不了网,可以重启后

再将桥接模式改为NAT模式,发现既可以上网又可以重启network服务了)

9.查看下你电脑有没有禁用了VMware DHCP service和VMware NAT service 这几个vm服务,如果禁用则开启。

10 .如果你改成了静态ip别忘了将BOOTPROTO改为static。

11.如果以上都没有解决,还有最后一招-- 重启 看一看有没有奇迹发生!!(我的另外一台重启后莫名就好了)

上面这些方法,我基本都试过了,对我的机器有的有用有的没用,但是有人也用这些方法解决了,所以一并记录下来。希望能给予你一点帮助

Failed to start LSB: Bring up/down解决方法 service network restart

出现如图所示错误: 在这里插入图片描述

1.根据提示,输入命令

journalctl -xe

查看日志:分析具体原因 在这里插入图片描述

其中,箭头所示是问题关键所在,然后查看“/etc/sysconfig/network-scripts/”文件夹中的文件,如下图: 在这里插入图片描述

有两个文件,这是报错的真正原因。

通过命令

sudo rm -rf + 文件名 #表示强制删除文件 sudo rm -rf ifcfg-ens33.old

2…删除之后,执行“service network restart”命令,在log里面错误变成“dhclient(1063) is already running - exiting.”,提示一个进程正在使用,重启一下,重新执行“service network restart”就OK了。

tip:这种情况仅是个人遇到,对于别人的见解可以可以参考,在这不做任何评论。如有其他情况可以相互交流!!!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3