在Ubuntu16.04中搭建虚拟网络

来源:互联网 发布:崇州淘宝美工招聘信息 编辑:程序博客网 时间:2024/05/21 17:46
最近想在我的渣笔记本上部署比较复杂的网络拓扑环境,然而4G的小内存并不允许像高性能服务器一样随意开虚拟机,利用传统虚拟化技术如vmware或virtualbox最多只能开2~3个虚拟机,而像轻量化的mininet封闭性又不是太好,不能满足我的实(zhuang)验(bi)需求。于是我打算在Ubuntu系统中先用virtualbox开一个虚拟机,然后在虚拟机和宿主机中再部署docker容器。这样既有分层结构,又有分布式结构,可以进行的实验内容就可以大大扩展。话不多说,下面是我的部署过程:

  • Ubuntu16.04中首先安装virtualbox:
# apt-get install virtualbox
  • 打开virtualbox导入Ubuntu16.04镜像(我下载在U盘中)进行安装,过程非常简单,这里不再赘述。
  • 目前我们有了两层网络,但是virtualbox默认的网络连接方式是NAT,在这种状态下只能虚拟机连接主机,而主机不能进入虚拟机,需要改变连接方式。这里我选择host-only这种网络设置,在这种配置下虚拟机可以配置独立ip,可以和主机、其他虚拟机相互通信,下面是配置方式:
1、设置主机接口:Ctrl + G,在Network中添加一块虚拟网卡vboxnet0,可以设置ipv4地址,  默认是192.168.56.1,取消DHCP。
2、设置虚拟机内部接口:Ctrl + S,在Network中的attached to选项选择Host-only Adapter,Name选择vboxnet0,这时虚拟机网卡和外部绑定。再设置虚拟机网络:
% vim /etc/network/interfaces
将下列信息写入文件:
auto enpsh0(虚拟机网口名,ifconfig查看)
iface enpsh0 inet static
address 192.168.56.99
netmask 255.255.255.0
gateway 192.168.56.1
nameserver 8.8.8.8
3、重启虚拟机就可以发现主机和虚拟机可以相互ping通了,但是虚拟机不能ping通外网,还需 要最后一步,设置主机共享网络,在主机中安装firestarter并在设置中选择 Enable Network connection sharing,这样虚拟机就是一个连接主机的独立电脑了。
  • 设置虚拟机的root用户:
# sudo gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
在弹出的编辑框里输入:greeter-show-manual-login=true 保存关闭
回到终端输入:# sudo passwd root设置root用户密码关机重启即可。
  • 设置虚拟机远程登录:
#apt-get update
#apt-get install openssh-server
确认sshserver是否启动:
#ps -e |grep ssh
如果看到sshd那说明ssh-server已经启动,否则输入:sudo /etc/init.d/ssh start
#vim /etc/ssh/sshd_config
将PermitRootLogin选项改为PermitRootLogin yes
这时在主机的终端中可以远程登录虚拟机:ssh root@192.168.56.99
进入后输入#ifconfig可以查看是虚拟机的网络配置,输入#exit退出远程登录回到主机终端。
0 0