序
昨天写了NAT模式下使用端口转发实现真机可以访问到虚拟机的方案,但是我觉得应该还可以更简单,不需要使用端口转发,然后今天花了一上午的时间终于解决了这个问题,总结一下
仅主机模式
仅主机模式可以让真机跟虚拟机之间形成一个虚拟机局域网,这样就可以方便的使用真机访问虚拟机,要实现这个需要进行如下操作:
1、创建一个仅主机的虚拟网卡适配器,关闭DHCP
记住该IP地址,这其实就是本机在这个虚拟局域网内的IP地址
2、在虚拟机的设置中,开启第一个网卡,设置为仅主机模式
3、开启虚拟机,使用如下指令修改网络的配置文件
请自行下载nano编辑器或vim编辑器,我使用vi编辑器的时候遇到故障了
cd /etc/sysconfig/network-scripts/
sudo nano ifcfg-enp0s3
关键修改如下几方面:
BOOTPROTO="static" //使用静态IP
IPADDR="设置一个与前面的在同一网段的IP“ // 如192.168.0.199
NETMASK="255.255.255.0“ //这个是子网掩码,要跟前面虚拟网卡适配器的子网掩码一致
GATAWAY="就是前面的虚拟网卡适配器的IP” //网关
修改完之后保存
使用如下指令重启网络:
sudo systemctl restart network.service
4、查看效果
使用ip add 指令看看虚拟机IP地址,并在真机上ping一下,如果ping的通就没有问题了
再使用ssh指令连一下,看看能不能连得到
ssh username@ip
如果很长时间没有反应,或者很长时间才返回要求输入密码,那么需要修改sshd_config,参照:这篇文章https://blog.csdn.net/SaberJYang/article/details/124004792
确定没有问题之后,我们就需要进行下一步
NAT模式
NAT模式是借助真机的网络使其可以实现访问互联网,步骤如下:
1、新增NAT网卡
关掉虚拟机,设置里面新增网卡2,选择使用NAT模式
2、修改enp0s3的配置
开启虚拟机,修改enp0s3的配置,把这个默认关掉:
DEFROUTE=“no”
3、测试
使用虚拟机测试ping主机IP和百度,都是能够ping通就没有问题了
并且也可以使用真机直接访问虚拟机的IP地址,这样无论外部环境怎么变化,真机访问虚拟机时永远都是固定的一个IP,并且只要真机能够联网,虚拟机就能够联网,并且也不需要使用端口转发,问题完美解决!