foreverlin

VMware Workstation提供了两种虚拟机上网方式,一种bridge,一种NAT,bridge可以获得公网地址,而NAT只能是内网地址了。

NAT相当于把主机当成了一个NAT转换器,我们可以添加端口映射,使得外网可以访问利用NAT上网的虚拟机。

下面举两个例子

使用的主机环境为

主机:win7 + vmware workstation 8  公网IP: 118.229.240.94

虚拟机:: Fedora 8  内网IP: 192.168.126.141

例1:在虚拟机内搭建http服务器,使用公网地址访问

1.配置httpd

虚拟机内部安装httpd,没安的话yum install httpd

启动 service httpd start(查看httpd服务状态  service httpd status  启动服务  service httpd start)

*********************************************************************************************************

关掉防火墙 (此处参考https://blog.csdn.net/qq_15030351/article/details/79733806)

CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

1、直接关闭防火墙

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

2、设置 iptables service

yum -y install iptables-services


如果要修改防火墙配置,如增加防火墙端口3306

vi /etc/sysconfig/iptables 


增加规则

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT


保存退出后

systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动


最后重启系统使设置生效即可。

*********************************************************************************************************

在虚拟机内部用127.0.0.1测试,在主机用192.168.126.141测试,均能正常访问

2.添加端口映射规则

在主机浏览器内输入http://118.229.240.94 ,不可访问,因为主机没安http服务器。(这里要注意的是要在主机里输入主机的ip地址或者localhost+在主机使用的端口号才能访问到虚拟机的网页)

打开VMware Network Editor,找到这个虚拟机使用的网卡,我的是VMnet8

打开NAT setting

 

添加一个端口映射,我们将主机10000端口映射成虚拟机80端口

OK,在主机内访问 http://118.229.240.94:10000,可以成功。

但是在一台远程主机上不能成功,为什么呢?因为虚拟机关了防火墙,主机开了防火墙,手动打开主机的10000端口即可,方法参考如下链接:

http://windows.microsoft.com/zh-CN/windows7/Open-a-port-in-Windows-Firewall

例2: ssh端口映射

按上述方法将主机的10001端口映射成虚拟机的22端口(ssh使用22端口),就可以通过putty指定端口号10001访问虚拟机

 

 

转载自http://blog.51cto.com/nxlhero/742140

分类:

技术点:

相关文章: