2019/02/01补充

桥接模式设置方式

1. 虚拟机界面->设备->网络->网络->网卡1->桥接网卡 

2  连接虚拟机,为虚拟机配置一个ip地址即可。

ip a add 192.168.0.107/24 dev enp0s3
ip route add default via 192.168.0.1 dev enp0s3
ip route del default

网关与宿主机所在网关相同

————————————————————

1        写在最前面

virtualBox  5.2.16

debian  9.5

网络配置主要分两部分:

 1. 通过宿主机用ssh登陆debian

 2. 正确设置debian的网络和安装源,然后能够用apt-get自由安装软件。

2        通过宿主机用ssh登陆debian

2.1        在虚拟机上安装openssh-server

先将安装镜像挂载到光驱上(如图中勾选即可)

 

然后指定安装源

apt-cdrom add

 

安装:

apt-get install openssh-server

 

2.2        更改ssh配置

安装vim

apt-get install vim

 

修改/etc/ssh/sshd_config两个参数

PermitRootLogin yes

PasswordAuthentication yes

 

/etc/init.d/ssh restart  重启sshd服务

 

update-rc.d ssh enable  添加开机自启动

(附取消开机自启动:update-rc.d ssh disabled  取消开机自启动)

 

2.3        NAT模式下,从宿主机访问虚拟机

Virtualbox新安装的虚拟机,默认就是NAT模式的。NAT模式下无需任何配置就可以访问外网(前提是宿主机本身就能访问外网)。

如果不能访问外网。

往/etc/network/interfaces 中追加如下内容:(网卡名换成对应的网卡)

auto eth1

iface eth1 inet dhcp

 

重启网络:

/etc/init.d/networking restart

 

 

但是NAT模式下,从宿主机访问虚拟机需要专门进行配置。

网上居然有很多文章提到,virtualbox在NAT模式下,宿主机本身就是无法访问虚拟机的,差点就信了。不过看到有介绍虚拟机桥接,NAT,仅主机三种模式的原理的文章,有提到,在vmvare中,VMnet8网卡存在的意义就是为了让虚拟能够访问主机。虽然我用的是virtualBox,但是宿主机上也能够看到VMnet8,感觉一定是哪的配置出了问题。最后找到了解决方法,但是方法略有些奇怪,稍做记录。

 

 配置指导:

https://www.linuxidc.com/Linux/2014-12/110072.htm

其实用下面一张图就可以说清楚配置过程了:

 

不过,费解的是,我是要通过宿主机去访问虚拟机,在虚拟机上配置端口转发规则有什么用呢?

结果试了一下,在宿主机上用  ssh root@127.0.0.1 -p 2222还真能连上。

探索了一番,原来工作原理是这样的:

在宿主机上,virtualBox会监听2222这个端口。

 

virtualbox会将自己作为一个跳转站,使用10.0.0.2与虚拟机通信,与10.0.2.15:22建立一个tcp连接。

在虚拟机中用netstat 命令可以查看:

 

 

 

3        正确设置debian的网络和安装源

参考:

http://blog.51cto.com/eholog/1952990

先复制/etc/apt/sources.list

cp /etc/apt/sources.list  /etc/apt/sources.list.backup

 

然后直接用以下内容覆盖/etc/apt/sources.list

deb http://mirrors.163.com/debian/ stretch main non-free contrib

deb http://mirrors.163.com/debian/ stretch-updates main non-free contrib

deb http://mirrors.163.com/debian/ stretch-backports main non-free contrib

deb-src http://mirrors.163.com/debian/ stretch main non-free contrib

deb-src http://mirrors.163.com/debian/ stretch-updates main non-free contrib

deb-src http://mirrors.163.com/debian/ stretch-backports main non-free contrib

deb http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib

deb-src http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib

 

看了一会网上的资料,没看明白不同版本的debian应该怎么写安装源。不过这个亲测能用。

 

然后执行:

apt-get update

 

出现下面这样的结果,就是安装成功了。

 

 

 

 

4        附:通过host-only方式访问虚拟机

4.1        为宿主机添加一张 host-only网卡

 

 

 

 

 

 

参数和图中完全一致即可,如下:

IPv4 Address: 192.168.56.1

IPv4 Network Mask: 255.255.255.0

In the DHCP Server tab, do the following settings:

Server Address: 192.168.56.100

Server Mask: 255.255.255.0

Lower Address Bound: 192.168.56.101

Upper Address Bound: 192.168.56.245

 

4.2        为虚拟机添加网卡

 

 

4.2.1        设置虚拟机网卡对应参数:

往/etc/network/interfaces 中追加如下内容:(网卡名换成对应的网卡)

auto eth1

iface eth1 inet dhcp

重启网络

/etc/init.d/networking restart

 

 

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐