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訪問虛擬機




