代码改变世界

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

2014-08-23 15:39  youxin  阅读(3079)  评论(0编辑  收藏  举报

首先要清楚virtual box如何设置端口转发:

一篇文章:

如何使用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,这样就可以从外部连接上了。

--------------------------------------

windows下使用远程工具登录虚拟机上的Linux、访问虚拟机上的服务 

一、VirtualBox,NAT网络(仅仅是个初学实验,推荐用后面的bridged桥接方式)

打算学点php,但是电脑是mac,不想装三系统了,于是想通过访问虚拟机内的linux完成环境搭建和运行。反正也是用命令行学习,到时候再通过putty、SSH secure shell、Secure shell(chrome插件,推荐一下)等远程工具访问一下就行了,下面开始。

系统是win7,虚拟机是VirtualBox(免费开源,挺好用)。
(1)首先查看一下自己的IP,windows下的ip(我的是169.254.116.47),看虚拟机的外网ip:169.254.132.135(来自连接VirtualBox Host-Only Network),虚拟机上,linux eth0网卡的ip:10.0.2.15。

(2)设置VirtualBox的参数:设置->网络->连接方式:设置为网络地址转换(NAT),接着设置端口转发,具体参数如下图:(主机端口是一个随意设置的参数,虚拟机有点像内网)
(3)互相ping一下,如果能ping通,则设置正常。
(4)用工具访问,这里直接在chrome插件Secure shell下进行了,其他工具基本类似,登录名设置好,访问ip为windows下查看的VirtualBox连接的IP,端口号是设置的2222,这里看来,确实有点类似外网内网的结构。

到这里就结束了,还有很多要继续学习啊。。。
 
 
==================================================分割线
在centOS的虚拟机上安装了phpMyAdmin,想在win7下访问,很简单,按前面的方法,添加转发规则,这里添加了Rule2:
8000是外部分配的一个端口,子系统的端口80是apache服务的端口,于是win7中访问链接为:http://169.254.132.135:8000/phpMyAdmin/,实际上就是访问了Linux下:http://10.0.2.15:80/phpMyAdmin/。 
要访问其他服务,方法雷同,就这么简单:)
我自己的配置:
参考:
--------------------------------------------------
win7 telnet登陆虚拟机,首先看一篇文章:

Ubuntu Telnet 配置(openbsd-inetd)

配置下端口转发:(telnet默认端口是23)

然后cmd下telnet 192.168.56.1显示:

显示如上登陆成功。