VMware NAT端口映射外网访问虚拟机linux
本文目的:
一. SSH连接
二. 访问HTTP
VMware Workstation提供了两种虚拟机上网方式,一种bridge,一种NAT,bridge可以获得公网地址,而NAT只能是内网地址了。
NAT相当于把主机当成了一个NAT转换器,我们可以添加端口映射,使得外网可以访问利用NAT上网的虚拟机。
主机环境: Win7
公网IP: 128.206.82.47
虚拟机版本: VMware Workstation 10
虚拟机系统: CentOS 6.5
虚拟机IP: 192.168.111.129
当前情况: 本机安装虚拟机系统后, 通过虚拟机IP可以在本地win7使用SSH连接, 但是外网不能通过SSH连接虚拟机。
一. SSH连接
1.首先关掉防火墙
|
1
|
/etc/init.d/iptables stop |
打开VMware Network Editor,找到这个虚拟机使用的网卡。 选择Type类型为NAT方式的网卡(VMnet8)

2.点击NAT setting...

3.点击Add (你可以看到我已经添加好了的端口)
Host port: 你打算用本地win7 的哪一个端口作监听端口
Virtual machine IP address : 你的linux 的IP未多少,你就填多少
Virtual machine port: 你打算用监听端口映射到虚拟机linux哪个端口, 22未SSH端口, 80未HTTP端口

4.关闭本地Win7防火墙
由于咱们之前关闭了虚拟机linux的防火墙, 但是没有关闭本机Win7对应的监听端口防火墙,所以也得设置一下Win7的防火墙。
如果 Windows 防火墙阻止某一程序,而您希望允许该程序通过防火墙进行通信,通常可以通过在 Windows 防火墙允许的程序列表(也称为“例外列表”)中选中该程序来实现。若要了解如何进行此操作。
但是,如果没有列出该程序,则可能需要打开一个端口。例如,当您与朋友联机进行多人游戏时,可能需要为该游戏打开一个端口,这样防火墙才能允许游戏信息到达您的计算机。端口始终保持打开状态,因此请确保关闭不需要打开的端口。
通过单击「开始」按钮
,然后单击“控制面板”,打开“Windows 防火墙”。 在搜索框中,键入防火墙,然后单击“Windows 防火墙”。在左窗格中,单击“高级设置”。
如果系统提示您输入管理员密码或进行确认,请键入该密码或提供确认。在“高级安全 Windows 防火墙”对话框的左窗格中,单击“入站规则”,然后在右窗格中,单击“新建规则”。
按照新建入站规则向导中的说明进行操作。
5.连接测试
因为咱们是通过映射的方式从外网连接到虚拟机的linux,
所以host name 就是本机Win7的IP地址, Port 为 Win7 刚刚设置的监听端口 5022, User name 就是你自己的Linux 用户名。

然后就大功告成了。
二.连接HTTP
1. 安装HTTP
|
1
|
yum install httpd |
启动HTTP服务
|
1
|
/etc/init.d/httpd start |
做完这步在虚拟机Linux上打开浏览器 输入127.0.0.1 或者 本地Win7 输入 虚拟机Linux IP地址 192.168.111.129
就可以看到HTTP的效果, 但是外网不可以访问网页,因为要设置端口映射。
2. 设置端口映射
不多说了, 看上面SSH连接的1、2、3、4 步方法来设置端口映射就好, 只要报映射端口改为80就行, 注意别把监听端口搞冲突了。
3.访问测试
远程机器上使用本地Win7 IP地址访问, 再加上监听端口, 格式为 http://Win7 IP:Port
Win7 IP: 128.206.82.47
Port: 5080
所以我的测试时是 http://128.206.82.47:5080/
我所遇到的问题:
1. 设置监听端口是不知道为什么我设置成10022或10080虚拟机Linux就马上不能上网。
2. 之前没有关闭本地Win7的防火墙, 所以一直连接不上SSH
一些建议:
1. 在设置外网连接虚拟机Linux之前, 请确定外网能ping同本地Win7的IP。(可以当废话)
2. 不确定下次重启后虚拟机Linux IP会不会动态变化, 为虚拟机Linux设置个静态IP就好。
VMware NAT端口映射外网访问虚拟机linux的更多相关文章
- VMware NAT端口映射外网访问虚拟机linux可能会出现的错误总结
博主因为做实验报告的缘故,尝试以NAT的方式从外网远程连接到虚拟机的linux操作系统:https://www.cnblogs.com/jluzhsai/p/3656760.html,本文主要举出在此 ...
- VMware NAT端口映射 外网可以访问内网虚拟机
我想尝试的是利用本机的ip+port来访问虚拟机上的web服务器,因为这样的话,我就能够将我的web服务器部署成为一个能让外网访问的服务器了,首先说下我的环境: 主机:系统win7,ip地址172.1 ...
- WinServer 之 内网发布网站后端口映射外网访问
内网IP只能在内网局域网访问连接,在外网是不能认识内网IP不能访问的.如有路由权限,且路由有固定公网IP,可以通过路由的端口映射,实现外网访问内网.如无路由,或路由无公网IP,需要用到第三方开放的花生 ...
- 虚拟机kali端口映射外网vps
前言:我们常用的kali系统一般都是在虚拟机里面运行,这样在真实环境中外网是访问不到你的kali攻击机的,这时候我们就需要给kali映射一个外网vps. 一.在vps启动frp 服务端 安装frp并解 ...
- 外网访问虚拟机搭建的web服务
凌晨了,就简单写个一定可行的思路吧,有时间了再补上. 设置虚拟机为桥接模式,当然NAT也行,只是我嫌NAT麻烦 设置路由器,将虚拟机端口映射到外网
- 通过mysql-proxy映射外网访问内网数据库
配置教程: 转自:http://www.centoscn.com/mysql/2015/0107/4437.html centos安装mysql-proxy mysql-proxy的用处就不再说了 m ...
- Centos7 安装Nginx 防火墙开放80端口给外网访问
Centos7的防火墙改成了firewall,不再叫iptables,开放端口的方法如下: firewall-cmd --zone=public --add-port=80/tcp --permane ...
- VMware下Linux配置局域网和外网访问
我想尝试的是利用本机的ip+port来访问虚拟机上的web服务器,因为这样的话,我就能够将我的web服务器部署成为一个能让外网访问的服务器了,首先说下我的环境: 主机:系统win7,ip地址172.1 ...
- 免费内网映射外网绑定,tcp端口转发(windows)
在tcp socket开发过程中,想要外网客户端映射到本地启动的tcp服务端,总结本地tcp端口映射外网方法: 1.打开ngrok后注册用户,网址 ngrok:https://www.ngrok.cc ...
随机推荐
- HttpWatch工具简介及使用技巧(转载)
一 概述: HttpWatch强大的网页数据分析工具.集成在Internet Explorer工具栏.包括网页摘要.Cookies管理.缓存管理.消息头发送/接受.字符查询.POST 数据和目录管理功 ...
- C#中Bitmap类 对图像の操作 可检测图片完整性
try { Bitmap bm = new Bitmap(pics[ip]); BitmapToBytes(bm).Reverse().Take(2); } catch (Exception ex) ...
- hdu_1429_胜利大逃亡(续)(BFS状压)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 题意:迷宫的加强版,迷宫里有钥匙和门,问在指定的时间下能否逃出 题解:用二进制位来记录是否有该门 ...
- SharePoint 2010 应用url参数过滤列表视图数据(应用get办法过滤列表数据)
名人名言:读活书,活读书,读书活.——郭沫若 题目其实不知道如何称呼才干合适大师的搜刮习惯.以便有类似题目经由过程百度或google可以搜刮到,其实就是在url后面添加参数过滤显示我们想要的成果,有人 ...
- ORACLE里锁有以下几种模式,v$locked_object,locked_mode【转】
ORACLE里锁有以下几种模式:0:none1:null 空2:Row-S 行共享(RS):共享表锁,sub share 3:Row-X 行独占(RX):用于行的修改,sub exclusive 4: ...
- eclipse添加桌面快捷方式
linuxmint系统 输入sudogedit /usr/share/applications/eclipse.desktop,在打开的文件中输入以下参数: [Desktop Entry] Encod ...
- ASP.NET中使用Server.Transfer()方法在页间传值 实例
以下代码在VS2008中测试通过 <%@ Page Language="C#" AutoEventWireup="true" CodeFile=" ...
- php UNIX时间戳转换为指定日期格式
用函数: date() 一般形式:date('Y-m-d H:i:s', unix时间) $date_unix=time();//获取当前时间,unix时间戳 echo 'Unix时间:'.$date ...
- 【经典dp】 poj 3671
开一个dp[30010][3]的数组 其中dp[i][j]表示把第i个数改成j最少要花多少次 那么状态转移方程就列出来了: 令a=1 j!=a[i] 0 j==a[i] 那么dp[i][1]=dp[i ...
- log4j打印出线程号和方法名
先参考实现配置,如果想要更加详细的配置,可加上更多参数: log4j.rootLogger = INFO,FILE,CONSOLE log4j.appender.FILE.Threshold=INFO ...