宿主機(jī)訪問虛擬機(jī)問題:
虛擬機(jī)可以 ping 通宿主 ip,也可以訪問外網(wǎng),但是 宿主機(jī)通過 虛擬機(jī) ip + 端口號訪問不了虛擬機(jī)上提供的服務(wù):
針對 linux 系統(tǒng)不允許訪問 80端口 解決方法:
虛擬機(jī)終端執(zhí)行如下命令:
iptables -F
# 設(shè)置默認(rèn)允許規(guī)則
iptables -P INPUT ACCEPT
linux 系統(tǒng)防火墻不允許訪問 80 端口的解決辦法:
在 /etc/sysconfig/iptables 添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
局域網(wǎng)其他主機(jī)訪問虛擬機(jī)問題:
虛擬機(jī) 為了訪問外網(wǎng), 使用 NAT 模式 和 虛擬機(jī) 占用局域網(wǎng)內(nèi)的同一個IP 地址(至于如何配置網(wǎng)上教程遍地都是),NAT 模式只是僅僅只是讓你的虛擬機(jī)在你的機(jī)器上,通過你的網(wǎng)卡轉(zhuǎn)發(fā),才能訪問網(wǎng)絡(luò)。也就是說,你的網(wǎng)卡知道它,但是局域網(wǎng)內(nèi)其他機(jī)子卻不能直接看到它。對局域網(wǎng)機(jī)器來說,他們看到的只是你這臺宿主機(jī)的ip、以及端口 。
為了讓局域網(wǎng)內(nèi)的其他機(jī)器訪問你的 使用 NAT 方式聯(lián)網(wǎng)的 虛擬機(jī)??梢酝ㄟ^宿主機(jī) ip + 端口來訪問; 我們只要在虛擬機(jī)里配置端口轉(zhuǎn)發(fā)就可以;
如:
宿主機(jī) ip : 10.10.133.236
虛擬機(jī) ip :192.168.79.128,
虛擬機(jī)上的web服務(wù)占用端口 8070
那么對于局域網(wǎng)內(nèi)的其他主機(jī)來說,192.168.79.128 這個ip 毫無意義,局域網(wǎng)只能識別宿主機(jī)的 ip ;故通過端口轉(zhuǎn)發(fā)配置,讓局域網(wǎng)其他機(jī)器可以訪問虛擬機(jī)上的 web 服務(wù);
配置步驟如下: 虛擬機(jī)[編輯] => [虛擬網(wǎng)絡(luò)編輯器] => 選中 [VMnet8 NAT 模式] => [NAT 設(shè)置] => 端口轉(zhuǎn)發(fā)下 點(diǎn)擊 [添加] 配置用主機(jī)上的哪個端口映射虛擬機(jī)上的服務(wù) 的端口 =>一路點(diǎn)擊[確定]配置就生效了=>此時我們就可以通過局域網(wǎng)的其他主機(jī)訪問宿主機(jī)上虛擬機(jī)提供的服務(wù)了;
端口轉(zhuǎn)發(fā)配置圖片如: