转自 http://blog.sina.com.cn/s/blog_484d87770102uxi6.html

使用VirtualBox很久了,很多用法都没有深钻,真的是不虚心学习啊。
       由于默认的方式是用NAT来做虚拟机网络的,因此如果从外网想访问虚拟机的应用会比较麻烦。以前一直用桥接的方式,但IP有限,自己指定的IP可能会和局域网的IP冲突,而用DHCP方式获取的IP又可能会发生变化导致不确定,怎么办?网上查了一下,简单有效的解决方法就是用VirtualBox的“端口映射”功能。
下面结合实例来讲讲怎么操做:

应用场景:要将虚拟机的Web 80端口从外面能访问到。

1. 首先要知道虚拟机网卡的“大”IP,惦记网卡查看网络共享中心。

看VirtualBox Host-Only Network的属性,看到了吧分配给它的IP是 192.168.56.1,记住这个地址。
打开CMD窗口ping 192.168.56.1看到可以ping通

2.配置端口转发,打开虚拟机,选中需要访问的虚拟机,点“设置”-“网络”

点“端口转发”,添加Web80项目如图所示,看到没有主机IP填写的是192.168.56.1,子系统IP需要在虚拟机的系统中通过命令查看如Linux中使用ifconfig查看获知。
需要说明的是主机端口可以和子系统端口不一致,比如以上图的Mysql为例,如果把主机的端口配置为6033的话,那么从外网访问虚拟机的MySQL数据库地址就是192.168.56.1 ,端口就是6033,虚拟机会自动转发给子系统中的3306端口(MySQL的默认端口),这样做有利于保护子系统的应用端口不直接暴露给外面。

再说一点题外话,连MySQL时,虽然创建的mysql账号是允许外部连接的,但还是连不上,这时候进入/etc/mysql/my.cnf文件进行编辑。注释掉 # bind-address = 127.0.0.1
然后重新启动mysql,这样就可以从外部连接上了。

另外补充一下,192.168.这个网段没有起作用,需要查看虚拟机的网卡2是否设置为如下图所示的"仅主机(Host-Only)适配器"模式。

使用VirtualBox进行端口转发 连接数据库的更多相关文章

  1. 使用VirtualBox实现端口转发,以SSH与Django为例

    先来认识几个概念 (1)IP地址:又称为互联网协议地址,是计算机的物理地址,相当于计算机的编号,是32位的二进制数,通常被分割成4个8位的二进制数: (2)端口:指设备与外界通讯的接口,一台计算机的端 ...

  2. 【VirtualBox】端口转发,ssh

    端口转发 VirualBox的设置 - 网络 - 端口转发 里面有主机IP.主机端口.子系统IP.子系统端口 设置后的含义是:当外部访问主机IP:主机端口后,将会把访问映射到虚拟机的子系统IP和子系统 ...

  3. windows下使用远程工具登录虚拟机上的Linux、访问虚拟机上的服务 、端口转发、win7 telnet登陆虚拟机

    首先要清楚virtual box如何设置端口转发: 一篇文章: 如何使用VirtualBox进行端口转发 由于默认的方式是用NAT来做虚拟机网络的,因此如果从外网想访问虚拟机的应用会比较麻烦.以前一直 ...

  4. VirtualBox 端口转发 SSH

    在服务器上安装VirtualBox并配置转发: VirtualBox网络连接方式,选择默认的NAT连接方式. 在下面有个 “端口转发” 按钮,点击配置主机到虚拟机的端口映射. ref: http:// ...

  5. ssh端口转发(之kettle ssh方式连接数据库)

    ssh参数解释 格式 ssh  [user@]host [command] 选项: -1:强制使用ssh协议版本1: -2:强制使用ssh协议版本2: -4:强制使用IPv4地址: -6:强制使用IP ...

  6. 利用端口转发来访问virtualbox虚拟机centos6的jupyter notebook

    1.除了在virtualbox中设置常规的端口转发外,还需要在windows上打开cmd,输入ssh -N -f -L localhost:8888:localhost:8889 -p 22 root ...

  7. SecutrCRTt 连接VirtualBox 中的Ubuntu -端口转发

    端口转发: 设置>网络>端口转发   端口转发: 子系统地址通过在Linux系统总使用ifconfig查看:   还需要在linux主机上安装sshd sudo apt-get insta ...

  8. 如何配置virtualBox端口转发

    1,第一步登陆虚拟主机,安装openssh-server(这一步非常重要,如果不安装,你在宿主机上怎么链接都是连不上的,我当时就犯了这个错误) apt-get install openssh-serv ...

  9. virtualbox端口转发

    端口转发:setting->network->adapter:attached to NAT.port forwarding rules->name    protocol     ...

随机推荐

  1. 跳过IE10安装VS2013

    @ECHO OFF :IE10HACK REG ADD "HKLM\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer" /v Ver ...

  2. 041. asp.net中内容页访问母版页中的控件

    母版页运行机制: 用户通过输入内容也的URL来请求某个页面, 获取该页面后, 读取@Page指令, 如果该指令引用了一个母版页, 则也读取该母版页, 如果也是第一次请求这两个页面, 则母版页和被请求的 ...

  3. 支持无限精度无限大数的类BigNumber实现

    介绍 本篇是MathAssist的第二篇,在前言中粗略地展示了MathAssist的“计算和证明”能力,本篇开始将详细介绍其实现原理. 从计算开始说起,要实现任意大数的计算器首先得有一个类支持大数运算 ...

  4. setTimeout()与setInterval()

    一.setTimeout与setInterval的用法(http://www.css88.com/archives/5804) setTimeout是超时调用,javascript是一个单线程的解析器 ...

  5. rails下react的demo

    gemfile gem 'react-rails' gen一下 react:install 创建组件 react:component MyComponent name:string age:int v ...

  6. AES--高级数据加密标准

    AES--高级数据加密标准 对称密码体制的发展趋势将以分组密码为重点.分组密码算法通常由密钥扩展算法和加密(解密)算法两部分组成.密钥扩展算法将b字节用户主密钥扩展成r个子密钥.加密算法由一个密码学上 ...

  7. RT-Thread的线程(任务)处理【RT-Thread学习笔记 2】

    RT-Thread中使用线程这个概念,而不是任务.两者相似,我在这里把他的线程当作任务来理解了 1.任务处理: 动态任务相关API 创建任务:rt_thread_create函数,创建任务之后会返回r ...

  8. MyBatis与Spring整合

    1.单独使用MyBatis 单独使用MyBatis,不结合其他框架,主要步骤是: 1.创建SqlSessionFactory对象 创建方法是通过SqlSessionFactoryBuilder这个类从 ...

  9. Python六大开源框架对比:Web2py略胜一筹

    Python是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还自带 ...

  10. jQuery选择器大全

    1. id选择器(指定id元素) 将id="one"的元素背景色设置为黑色.(id选择器返单个元素) $(document).ready(function () { $('#one ...