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

virtualbox linux虚拟机相关的更多相关文章

  1. 怎么用Shell连接VirtualBox Linux虚拟机,在Mac电脑上

    问题描述 由于VirtualBox采用桥接的方式连接网络,所以不能在Mac上直接访问虚拟机. 解决思路和办法 由于不能直连,但VirtualBox支持端口转发功能,可以设定转发规则,绑定宿主机和虚拟机 ...

  2. VirtualBox Linux虚拟机 网络设置 centos

    VirtualBox网络设置成桥接 进去系统打开终端 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 用Vim编辑器打开配置文件,输入命令:vi /etc ...

  3. 使用 Vagrant 在 VirtualBox 安装 Linux 虚拟机

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 导入 2.工具介绍 3.通过Vagrant为VirtualBox安装CentOS 7 4.总结 文章推荐: 关 ...

  4. VMWare、KVM、Virtualbox克隆或复制Linux虚拟机后eth0找不到的解决方案

    快速处理办法: cat /etc/sysconfig/network-scripts/ifcfg-eth0 sed -i '/UUID/d' /etc/sysconfig/network-script ...

  5. VirtualBox下安装linux虚拟机

    下载VirtualBox 下载地址:https://www.virtualbox.org/wiki/Downloads 安装VirtualBox 安装虚拟机 如果选择不到64位系统, 开机按 F1 进 ...

  6. Virtualbox虚拟机相关

    Virtualbox虚拟机相关 Virtualbox是我一直使用的虚拟机,由于需要一些测试环境等,会经常使用多个虚拟机.经常捣腾.之前有涉及到一些virtualbox方面的问题的处理,并没有记录下来, ...

  7. VirtualBox中Linux虚拟机与主机共享文件夹

    VirtualBox中Linux虚拟机与主机共享文件夹 一.Linux虚拟机安装增强功能 二.点击虚拟机 设置-->选择 共享文件夹-->点击右侧的带加号的文件夹图标,执行下面的操作1. ...

  8. 记录下WIN下配置LINUX虚拟机及PYTHON环境

    因为听说服务器端大多都是LINUX/UNIX,LINUX是程序员必须适应的编程环境,所以今天折腾了一下,给笔记本装了个LINUX虚拟机,并顺便给WINDOWS和LINUX都配置了PYTHON环境. 这 ...

  9. Azure PowerShell (5) 使用Azure PowerShell创建简单的Azure虚拟机和Linux虚拟机

    <Windows Azure Platform 系列文章目录> 本文介绍的是国外的Azure Global.如果是国内由世纪互联运维的Azure China,请参考这篇文档: Azure ...

随机推荐

  1. 说说Makefile那些事儿

    说说Makefile那些事儿 |扬说|透过现象看本质 工作至今,一直对Makefile半知半解.突然某天幡然醒悟,觉得此举极为不妥,只得洗心革面从头学来,以前许多不明觉厉之处顿时茅塞顿开,想想好记性不 ...

  2. iOS开发系列--打造自己的“美图秀秀”

    --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz ...

  3. Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

    一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...

  4. Concepts:Request 和 Task

    当SQL Server Engine 接收到Session发出的Request时,SQL Server OS将Request和Task绑定,并为Task分配一个Workder.在TSQL Query执 ...

  5. TSQL Identity 用法全解

    Identity是标识值,在SQL Server中,有ID列,ID属性,ID值,ID列的值等术语. Identity属性是指在创建Table时,为列指定的Identity属性,其语法是:column_ ...

  6. CentOS 7配置LNMP开发环境及配置文件管理

    安装并配置MySQL 5.6 从CentOS从7.x开始默认使用MariaDB.MariaDB完全兼容MySQL,包括API和命令行.但是很多时候我们还是会想要安装MySQL,所以不能直接通过yum命 ...

  7. 解决cookie跨域访问

    一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入c ...

  8. [OpenGL超级宝典]专栏前言

    我小时候的梦想呢,是做宇航员或者科学家或者是做一款属于自己的游戏,后来前面两个梦想都没有实现,于是我就来实现我的第三个梦想了,,,我呢,也算是零基础,因为我的专业是物联网工程,这个专业覆盖面之广,简直 ...

  9. 【开源】.Net 动态脚本引擎NScript

    开源地址: https://git.oschina.net/chejiangyi/NScript 开源QQ群: .net 开源基础服务  238543768 .Net 动态脚本引擎 NScript   ...

  10. IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比(deep dive)

    首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔者认为他们相当一部分没有分清所写的驱动时的驱动模型,是基于device tree, 还是基于传统的Platf ...