解决CentOS7虚拟机无法联网的问题

一、问题背景

在VMWare Workstation上安装centos7虚拟机后无法联网。虚拟机的软件环境如下

  • 虚拟机:VMware® Workstation 15 Pro
  • CentOS7:CentOS-7-x86_64-DVD-1810
  • 系统安装设置:网络适配器模式选择NAT,系统安装环境选择基础设施服务器

image-20201017154209915

image-20201017154340941

  • 虚拟网络编辑器:

image-20201017154814297

二、解决方案

1.进入network-scripts文件夹。
$ cd /etc/sysconfig/network-scripts/

由于每台虚拟机的的网卡配置文件名可能不同,所以需要先查看一下

$ ls -A

image-20201017160351158

可以看到我的配置文件为ifcfg-ens33

2.修改网卡配置文件
$ vi ifcfg-ens33

如果在虚拟机网络编辑器处使用了本地DHCP服务器则只需要将ONBOOT=NO改成ONBOOT=YES

如果采用静态IP的话则需要进行额外的配置,我的配置如下:

IPADDR=192.168.17.2
NETMASK=255.255.255.0
GATEWAY=192.168.17.254

注意IPADDR即为本系统的IPV4地址,必须是在虚拟机网络编辑器的NAT模式规定的子网内,NETMASK子网掩码也必须和NAT模式的子网掩码相同,GATEWAY网关地址也必须和配置相同。

image-20201017165139099

我使用的虚拟机子网IP为:192.168.17.0,子网掩码为255.255.255.0,网关为192.168.17.254,这意味着我本机的IP地址可以选择192.168.17.2——192.168.17.253。不使用192.168.17.1的原因在下文其他问题中进行解释。

3.重启网卡
$ service network restart
4.配置DNS服务器

由于这里我使用了静态IP,不会自动去解析域名,也就是会出现如下情况。

image-20201017164528668

image-20201017164548459

所以需要去手动配置DNS地址

$ vi /etc/resolv.conf

添加DNS地址114.114.114.114,该地址为国内移动、电信和联通通用的DNS

nameserver 114.114.114.114
5.测试连接
$ ping www.baidu.com

image-20201017165559876

$ yum -y install python3

image-20201017165636873

成功,说明此时网络已经可用

三、其他问题

1.网络可用,虚拟机和主机可以相互ping通,但是无法通过ssh进行连接
1.1 网络原因排查

在主机上查看ip端口占用情况

$ ipconfig /all

可以看到我这里不可选用192.168.17.1的原因是因为该地址已经被为NAT模式提供支持的网络适配器给占用了

image-20201017162836058

如果我们CentOS7的ip地址也使用192.168.17.1的话则无法进行ssh连接。

如果我们将虚拟网络编辑器中NAT模式的网关设为了该地址也会导致虚拟机无法联网的问题,所以在我这默认配置中网关地址为192.168.17.2,后来我自行改成了192.168.17.254

image-20201017162420121

解决了网络上的问题,还有可能是由于防火墙端口未开放或ssh未正确配置的原因

1.2 防火墙问题排查

CentOS7默认使用的firewall防火墙,我们可以选择开放22端口或是直接关闭防火墙来解决问题

查看防火墙开放端口

$ firewall-cmd --zone=public --list-ports

开启22端口

$ firewall-cmd --zone=public --add-port=22/tcp --permanent

使配置生效

$ firewall-cmd --reload

或者直接关闭防火墙

$ service firewalld stop
1.3 ssh服务排查

检查是否已安装ssh服务

$ yum list installed|grep ssh
# 未安装进行安装
$ yum -y install ssh
# 启动服务
$ service sshd start

image-20201017172158570

查看端口是否开放

$ netstat -tlnp|grep ssh

image-20201017172928913

检查ssh配置

$ vi /etc/ssh/sshd_config

image-20201017173356123

查看端口号和监听地址前的#是否去除

image-20201017173453947

查看远程登录选项前的#是否去除

image-20201017182911940

查看是否使用用户名密码作为连接验证前的#是否去除

最后重启ssh服务,基本上问题就能得到解决了

$ service sshd restart
  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值