基于开发需要,将采取”WIN7+虚拟机Ubuntu”工作环境,新的系统盘将改为镁光64G的SSD,VirtualBox + Ubuntu成功安装后,仍需解决网络/文件共享问题,这就引出以下两项优化工作:
1. Ubuntu下,Virtubox增强功能安装
在增强功能前,务必完成编译/内核相关的依赖包安装,可参考:
# sudo apt-get install dkms build-essential linux-headers-$(uname -r)
注:安装完毕后,就可分配挂载PC本地目录进行文件共享,笔者让ubuntu开机自动挂载目标目录prj_shared,可通过在/etc/fstab中添加一项:
prj_shared /root/xp_shared vboxsf rw,uid=root,gid=root,auto 0 0
2. Virtualbox中,ubuntu与内外网通信,主要是为了满足ubuntu访问外网,同时PC通过Putty连接Ubuntu
虚拟机和Ubuntu安装成功后,网络配置默认启动网卡1,并设置为NAT模式,此时,Ubuntu可以访问外网,并ping通PC。但笔者还想通过Putty访问ubuntu。
实现原理:双网卡,网卡1运行于NAT模式下,满足外网访问
网卡2运行于Bridge模式下,建立ubuntu与PC的通信,满足putty连接
步骤:a. Virtualbox进入全局设定中的“网络”,添加网卡"VirtualBox Host-Only Network #2"(注意:刚开始尝试时,频繁对该网卡添加/删减,从而造成网卡不正常;如按本文步骤操作后putty还是无法连接,可先从此处排查!)
b. 设置虚拟机ubuntu镜像,进入网络选项,启动网卡2“VirtualBox Host-Only Network #2”,设置为桥接模式,并指定物理介质为本地网卡(笔者通过有线连接网络,故设置为本地有线网卡)
c. 进入Ubuntu系统,默认已为运行于NAT模式下的eth0设置好网络连接”auto connection0);另外需手动为运行于桥接模式下的eth1建立网络连接。为避免每次Putty连接Ubuntu时有固定IP,笔者在IPV4中设置为静态IP。(注意:假设本地有线网卡IP地址为192.168.1.110,则设置本地虚拟网卡“VirtualBox Host-Only Network #2”IP地址为192.168.1.188,最后设置ubuntu下eth1IP地址为192.168.1.150;只要三者在同一网段不冲突即可)
注意事项:以上步骤c,静态设置的IP可能会与笔者宿舍其他人的IP冲突,可通过路由将IP与MAC绑定。
附上putty/github ssh public key的配置:
@root# apt-get install openssh-server
@root# service ssh restart
@root# ssh-keygen -t rsa
@root# mv .ssh/id_rsa .ssh/authorized_keys
生成的id_rsa提供给Putty-genkey制造私钥,authorized_keys内容用于添加到github ssh。