虛擬機使用docker 外部機器無法訪問端口問題

使用虛擬機啓動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轉發功能就永久開啓了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章