使用虛擬機啓動docker鏡像之後,外部宿主機無法訪問指定端口服務
宿主機是a ,虛擬機是b 。虛擬機沒有可視化界面,在b上啓動docker服務後發現A不能訪問
1,排查防火牆firewall-cmd --state
如果輸出的是“not running”則FirewallD沒有在運行,且所有的防護策略都沒有啓動,那麼可以排除防火牆阻斷連接的情況了。
如果輸出的是“running”,表示當前FirewallD正在運行,則關閉防火牆
二、ip轉發沒有打開
執行 sysctl net.ipv4.ip_forward
顯示net.ipv4.ip_forward=0則表示未打開。
cat /proc/sys/net/ipv4/ip_forward0
如果上述文件中的值爲0,說明禁止進行IP轉發;如果是1,則說明IP轉發功能已經打開,
要想打開IP轉發功能,可以直接修改上述文件:echo 1 > /proc/sys/net/ipv4/ip_forward
把文件的內容由0修改爲1。禁用IP轉發則把1改爲0。
上面的命令並沒有保存對IP轉發配置的更改,下次系統啓動時仍會使用原來的值,要想永久修改IP轉發,需要修改
/etc/sysctl.conf文件,修改下面一行的值:
net.ipv4.ip_forward = 1
修改後可以重啓系統來使修改生效,也可以執行下面的命令來使修改生效:
sysctl -p /etc/sysctl.conf
進行了上面的配置後,IP轉發功能就永久開啓了。