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

最新文章

  1. android--访问网络权限
  2. lustre文件系统部署流程
  3. javascript大神修炼记(7)——OOP思想(多态)
  4. easyUI的window包含一个iframe,在iframe中如何关闭window?
  5. 【转载】React入门-Todolist制作学习
  6. C语言中如何使用宏
  7. HYSBZ1588 营业额统计【Splay】
  8. unable to create …
  9. Redis 过期键删除策略
  10. BitSet: 有1千万个随机数,随机数的范围在1到1亿之间。现在要求写出一种算法,将1到1亿之间没有在随机数中的数求出来?
  11. Groovy学习笔记-布尔求值
  12. Qt5 入门
  13. Eclipse环境配置与快捷命令
  14. <context:annotation-config />和 <context:component-scan
  15. Cleaning up old NVIDIA driver files
  16. 以太坊测试网络搭建以及RPC服务开启-配置注意事项
  17. 安装loadrunner11出现Microsoft Visual c++2005 sp1安装失败
  18. PHP parse_url 一个好用的函数
  19. 添加安全认证的webservice
  20. struts+spring+hibernate两张表字段名一样处理方法

热门文章

  1. logstash file输入,无输出原因与解决办法
  2. CSS 特殊属性介绍之 pointer-events
  3. ASP.NET Core 中文文档目录
  4. ASP.NET Core 中文文档 第四章 MVC(4.6)Areas(区域)
  5. QQ空间动态爬虫
  6. ABP项目中使用Swagger生成动态WebAPI
  7. 5.2 Array类型的方法汇总
  8. 15个C++项目列表
  9. 如何使用SHOW WARNINGS?
  10. keepalived从机接管后主机恢复不抢占VIP