上一篇文章中我们已经详细介绍了Linux虚拟机的安装过程,在这一篇文章中我们来进行虚拟机的网络配置使其可以上网。
先来了解一些必要的知识
IPV4中规定IP地址长度为32(按TCP/IP参考模型划分) ,即有2^32-1个地址。
例如 11111110.11111110.11111110.11111110 = 254.254.254.254
前24位为网络地址,后8位为局域网地址,可提供254个设备地址(因为有两个地址不能为网络设备使用: 255为广播地址,0代表此网络本身) 。网络掩码(Netmask) 限制了网络的范围,1代表网络部分,0代表设备地址部分,例如C类地址常用的网络掩码为255.255.255.0。
大家都知道,从一个房间走到另一个房间,必然要经过一扇门。同样,从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。顾名思义,网关就是一个网络连接到另一个网络的“关口”。也就是网络关卡。【说明:由于历史的原因,许多有关TCP/IP的文献曾经把网络层使用的路由器称为网关,在今天很多局域网采用都是路由来接入网络,因此通常指的网关就是路由器的IP】
操作原理:在真机中的虚拟机我门可以把它看成单独的一台电脑,为了使其能上网我们需要配置一台路由器,也就是先要配置真机使其具有路由功能,然后再连接虚拟机
ping ##检测网络是否通畅
ifconfig ##查看或设定网络接口
ip addr show ##检测查看
1.在真机中开启路由功能(以超级用户身份)
systemctl stop libvirtd.service
systemctl restart firewalld
systemctl start libvirtd.service
firewall-cmd --add-masquerade 地址伪装开启伪装IP
firewall-cmd --list-all
masquerade:yes-->指地址伪装功能开启,真实主机变成路由器
2.在虚拟机中配置网络ip
a.图形方式配置
nm-connection-editor
先删除之前的配置,之前没有配置的可以直接添加
命名,并选择网卡
DHCP是自动配置网络IP,我们改为Manual 手动模式
address的前24位务必和我们的真机一致,后8位可以自己填,例如 真机的IP为172.25.254.1 则虚拟机我们为其手动分配的IP可以为172.25.254.2~172.25.254.254
Netmask填255.255.255.0 和24 的作用是一样的,告诉电脑前24位是网络子掩码
systemctl stop NetworkManager 停止网络管理器
systemctl restart network 重启网络
systemctl start NetworkManager 启动网络管理器
systemctl status NetworkManager 用来记录网络状态
b.使用命令配置
在虚拟机中输入 vim /etc/sysconfig/network
NETWORKING=yes 启动时激活联网
GATEWAY=真机IP 网关,虚拟机需要通过此来连接真机
配置完成后重启网络
使用route -n 进行查看配置
这时我们就可以通过IP上网链接百度了
3.DNS的配置
值得注意的是这时对于大部分网站我们都无法进行浏览(可以链接),我们需要使用域名(www.baidu.com)才能正常浏览百度服务器,但是我们的虚拟机并不知道www.baidu.com是是什么,我们需要将180.149.131.98=www.baidu.com对应起来,这就是域名解析
a.手动添加
vim /etc/hosts
可以手动将180.149.131.98=www.baidu.com对应,既然运营商收了费用,运营商以经将域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串,DNS负责帮我们把域名和ip进行转换,因此我们可以直接通过域名来访问网页。
b.使用DNS
先查看我们当前使用的网卡 ifconfig
重写ens3的配置 在/etc/sysconfig/network-scripts 目录下
DEVICE:设备名称号 我们使用的是ens3 的网卡
ONBOOT=yes设置服务开机自启
BOOTPROTO=none 手动设置ip, dhcp是系统自动分配
IPADDR0:自己虚拟机的ip
NETMASK0:子网掩码可以写255.255.255.0 或者24
GATEWAY0:网关,主机的ip
DNS1=114.114.114.114 使用电信的DNS服务
重启网络,试一下连接qq
以下是几个大型企业的DNS服务器地址、
4.一些问题的处理
service network restart.的时候,出现禁用 IPv4 包转送: net.ipv4.ip_forward = 0
我们打开 /etc/sysctl.conf 将net.ipv4.ip_forward = 1 写入启动项中
也有可能是虚拟机的网卡坏了 将旧网卡删除重新配置即可
如果还是有问题 可能是系统启动时出现了问题可以重置系统
现在我们的虚拟机已经可以正常上网了,下来我们将学习如何安装挂载软件