博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
virtualbox linux虚拟机相关
阅读量:7079 次
发布时间:2019-06-28

本文共 1967 字,大约阅读时间需要 6 分钟。

linux虚拟机设置为静态IP
在virtualbox中安装好linux虚拟机后,如果采用的是NAT方式的话,linux虚拟机默认采用dhcp方式自动上网,而且用的是NetworkManager服务而不是network。此时查看当前通信网卡的mac地址、ip地址、以及默认路由、网关,并将这些信息记录下来。
  1. 首先通过systemctl stop NetworkManager; systemctl disable NetworkManager;来停止和禁用NetworkManager服务,然后在卸载NetworkManager软件包。
  2. 编辑/etc/sysconfig/network-script/ifcfg-DEVNAME 这个文件,文件内容(mac地址、网卡名称、ip地址、网管需要使用之前记录的)如下:
  3. 编辑/etc/resolve.conf,添加相关的dns服务器地址,例如:nameserver 114.114.114.114
  4. 执行systemctl start network;systemctl enable network 来打开并默认启动network服务。

宿主机ssh访问linux虚拟机
  1. 虚拟机上网方式设置成NAT方式,然后在linux虚拟机中使用命令 ip addr查看当前网卡
  2. 编辑/etc/sysconfig/network-scripts目录下网卡对应的配置文件,将ONBOOT设置成yes
  3. VirtualBox中设置端口转发,如下图。然后宿主机通过ssh客户端直接访问127.0.0.1就可以直接访问linux虚拟机了。
  4. 在设置端口转发时,一定要注意协议。例如,ssh的是TCP:22 tftp的是UDP:69,如果将tftp的设置成TCP:69,宿主机是无论如何也无法访问虚拟机的tftp。

如果外部主机有访问虚拟机的需求,就需要将端口映射中的主机IP由127.0.0.1改成宿主机的ip(此时宿主机的ip应该是固定的,否则外部主机也没法访问宿主机),如下图。另外还需要配置win7上的防火墙规则,具体步骤如下:

入站规则设置
第一步 选择 入站规则 然后 新建规则,选择 端口,然后下一步 
第二步 选择TCP 选择特定端口 然后输入端口,如有多个端口需要用逗号隔开了 例如:88,8080
第三步 选择允许连接
第四步 选择应用规则的范围
第五步 输入规则名称

经过上述配置,外部主机直接访问宿主机的22端口,实际上是访问的虚拟机上的22端口。

 


 
宿主机与虚拟机创建共享文件夹
 
  1. 然后在virtualbox会自动将相关软件挂载到光驱中。
  2. 执行 mount /dev/cdrom /mnt 将光驱挂载到系统/mnt目录下
  3. Be sure to install DKMS before installing the Linux Guest Additions. If DKMS is not available or not installed, the guest kernel modules will need to be recreated manually whenever the guest kernel is updated using the command rcvboxadd setup as root.      

  4. 执行后缀为run的文件(root权限),安装增强工具
  5. 安装完成后,重启系统。
  6. 然后在虚拟机设置中添加共享文件夹(文件夹名称最好为英文),例如:myshare
  7. 在虚拟机中执行 mount -t vboxsf myshare /mnt 将共享文件夹挂载到/mnt目录下
  8. 然后在/etc/rc.d/rc.local 中添加上面的语句使之开机执行,然后给rc.local可执行权限。

windows下常用脚本:(注意windows下的bat命令中的if语句与后面的语句不能换行,否则提示语法错误)
 
:begin
@echo "请输入要执行的操作:"
@echo "0:启动putty"
@echo "1:启动centos7"
@echo "2:关闭centos7"
@set /p input=
@if %input% == 0 C:\Users\sxhlinux\Desktop\putty.exe -load mystation
@if "%input%" == "1" vboxmanage startvm CentOS --type headless
@if "%input%" == "2" vboxmanage controlvm CentOS savestate

转载于:https://www.cnblogs.com/sxhlinux/p/6120248.html

你可能感兴趣的文章
Mac 命令行美化
查看>>
<c:if test=""></c:if>如何判断空(使用例子)
查看>>
我的Android进阶之旅------>Android【设置】-【语言和输入法】-【语言】列表中找到相应语言所对应的列表项...
查看>>
PDF 补丁丁 0.6.0.3288 版发布(修复“合并文件”功能的文件夹文件排序问题)
查看>>
mybatis 学习总结笔记Day2
查看>>
在打开vs解决方案时,怎样让所以打开的项目自动折叠
查看>>
4-1 requests库的安装
查看>>
ASP.NET MVC 学习笔记-3.面向对象设计原则
查看>>
11.03 在外链接中用OR逻辑
查看>>
浅论各种调试接口(SWD、JTAG、Jlink、Ulink、STlink)的区别
查看>>
day11-元祖的魔法
查看>>
C语言基础总结 ( 一 )----------函数和进制的总结
查看>>
安装固态硬盘,小米笔记本13.3
查看>>
自动生成小学四则运算题目的程序
查看>>
离线安装 Python 2.7, paramiko 和 tornado
查看>>
decimal system 2016
查看>>
django -- 修改admin 密码问题
查看>>
spring拦截器
查看>>
Windows下xgboot安装
查看>>
Unity3d之Http通讯GET方法和POST方法
查看>>