1、问题描述
今天一开启虚拟机,发现用XShell连接不上我的一台虚拟机,其他虚拟机是正常可以连接的,我稍微看了一下XShell的配置和Windows中的映射文件(hosts),都没有啥问题,然后我就知道应该是虚拟机ip地址的问题。我就打开直接从虚拟机登录上去了,利用ifconfig查看一下ip地址,果然是ip有问题,显示只有一个网卡,我自己设置的ens33网卡是没有显示(应该就是没有启动)
如下图:
2、解决办法
方法1(治标不治本)
ifconfig ens33 192.168.241.102(这个写你自己想设置的ip地址) up
这个确实有用,但是重新启动之后就会失效,会变成和之前一样没有ens33
方法2(治标也治本)
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network
这个就可以保证你当前ip是你在/etc/sysconfig/network-scripts/ifcfg-ens33中配置好的ip地址是你本虚拟机的ip
配置文件如下:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"(设置的是静态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="73c5f112-152e-4f96-ad82-104590a65930"
DEVICE="ens33"
ONBOOT="yes"
IPV6_PRIVACY="no"
IPADDR=192.168.241.102(这个也是自己的)
GATEWAY=192.168.241.2(网关是要设置自己的)
DNS1=192.168.241.2(DNS1域名解析器也要设置自己的)
3、Bug理解
network和networkmanager是会冲突的,我一直以为是可以并存的,所以如果重启了service network restart 要注意下这个冲突的问题,禁用networkmanager。
Chatgpt的解释
NetworkManager会自动管理网络连接,包括网卡的配置和状态。如果NetworkManager检测到手动配置的网卡文件(如ifcfg-*),它可能会尝试覆盖这些配置文件并使用自己的配置。这可能导致你手动设置的网卡配置被忽略,从而导致网卡不启动。
网络服务冲突:有时,可能会存在其他网络管理服务或工具与NetworkManager冲突,导致网络配置出现问题。例如,如果你同时启用了NetworkManager和另一个网络管理器(如ifupdown),可能会发生冲突,导致网卡无法正确启动。