首页 > 代码库 > virtualbox linux虚拟机相关
virtualbox linux虚拟机相关
linux虚拟机设置为静态IP
在virtualbox中安装好linux虚拟机后,如果采用的是NAT方式的话,linux虚拟机默认采用dhcp方式自动上网,而且用的是NetworkManager服务而不是network。此时查看当前通信网卡的mac地址、ip地址、以及默认路由、网关,并将这些信息记录下来。
- 首先通过systemctl stop NetworkManager; systemctl disable NetworkManager;来停止和禁用NetworkManager服务,然后在卸载NetworkManager软件包。
- 编辑/etc/sysconfig/network-script/ifcfg-DEVNAME 这个文件,文件内容(mac地址、网卡名称、ip地址、网管需要使用之前记录的)如下:
- 编辑/etc/resolve.conf,添加相关的dns服务器地址,例如:nameserver 114.114.114.114
- 执行systemctl start network;systemctl enable network 来打开并默认启动network服务。
宿主机ssh访问linux虚拟机
- 虚拟机上网方式设置成NAT方式,然后在linux虚拟机中使用命令 ip addr查看当前网卡
- 编辑/etc/sysconfig/network-scripts目录下网卡对应的配置文件,将ONBOOT设置成yes
- VirtualBox中设置端口转发,如下图。然后宿主机通过ssh客户端直接访问127.0.0.1就可以直接访问linux虚拟机了。
- 在设置端口转发时,一定要注意协议。例如,ssh的是TCP:22 tftp的是UDP:69,如果将tftp的设置成TCP:69,宿主机是无论如何也无法访问虚拟机的tftp。
如果外部主机有访问虚拟机的需求,就需要将端口映射中的主机IP由127.0.0.1改成宿主机的ip(此时宿主机的ip应该是固定的,否则外部主机也没法访问宿主机),如下图。另外还需要配置win7上的防火墙规则,具体步骤如下:
入站规则设置第一步 选择 入站规则 然后 新建规则,选择 端口,然后下一步第二步 选择TCP 选择特定端口 然后输入端口,如有多个端口需要用逗号隔开了 例如:88,8080第三步 选择允许连接第四步 选择应用规则的范围第五步 输入规则名称
经过上述配置,外部主机直接访问宿主机的22端口,实际上是访问的虚拟机上的22端口。
宿主机与虚拟机创建共享文件夹
- 然后在virtualbox会自动将相关软件挂载到光驱中。
- 执行 mount /dev/cdrom /mnt 将光驱挂载到系统/mnt目录下
-
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.
- 执行后缀为run的文件(root权限),安装增强工具
- 安装完成后,重启系统。
- 然后在虚拟机设置中添加共享文件夹(文件夹名称最好为英文),例如:myshare
- 在虚拟机中执行 mount -t vboxsf myshare /mnt 将共享文件夹挂载到/mnt目录下
- 然后在/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
@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
virtualbox linux虚拟机相关
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。