0.虚拟机几种网络连接方式
模式 | 连通特点 |
---|---|
NAT | 虚拟机可访问外网,可ping通主机,但主机无法ping通虚拟机 |
桥接 | 虚拟机可以访问外网且和主机处于相同网段,可互相访问 |
Host-Only | 不能连接外网,主机虚拟机可互相访问 |
参考:NAT模式和桥接模式区别
目标:我一直使用的是NAT模式,但由于最近在学习TCPIP网络编程,想远程连接Linux虚拟机编译一些示例代码,开始配置时发现主机根本ping不通虚拟机,跟着教程搞了一天的桥接也没成功,最后发现采用双网卡:NAT+Host-Only的模式就可以实现需求。
参考:https://www.jianshu.com/p/cc6ed627b5d4
配置:virtulbox 系统为ubuntu,版本号:
1.网卡设置
VirtualBox-设置-网络,同时对两块网卡启用网络连接(我的网卡1设置了Host-Only模式,网卡2设置了NAT模式),设置如下:
2.虚拟机IP设置
设置好以后在主机Windows中打开cmd,键入命令ipconfig
:
可以看到virtualbox所在网段为192.168.56.*
。记住这个网段和子网掩码。
开启虚拟机,ctrl+alt+t
打开终端,键入命令:
ifconfig
分辨一下哪个网卡是设置为host-only的(版本一样的话大概都是enp0s3为网卡1,enp0s8为网卡2这样)。
键入命令打开这个文件
sudo vi /etc/network/interfaces
键入i
进入编辑模式后,输入以下内容:
esc
退出以后,继续键入:wq
保存退出。
然后reboot
重启虚拟机。
3.测试网络配置
-
首先测试能否联网
-
再用虚拟机ping一下主机的ip地址
-
最后用主机ping一下虚拟机的ip(注意虚拟机的ip是由我们静态分配的ip)