問題描述:
啟動docker并進行端口映射后,docker會在iptables中添加DNAT規則,將收到的對應端口的包轉換ip并進行轉發,同時添加規則將所有來自docker網域的ip進行轉換。
但是在Centos7上出現docker可以正常訪問外網,但是外網發出的請求在經過eth1接收轉發后送達不到docker0,或者送到卻出現(oui Unknown)的狀況。
解決方法如下:
啟動docker后,重啟iptables
service?iptables?restart
清空docker添加的所有規則,然后添加規則
iptables?-t?nat?-A?POSTROUTING?-s?172.17.0.0/16?!?-o?docker0?-j?MASQUERADE
將所有來自docker的包172.17.0.0/16的ip替換為本機ip并發送,以達到docker訪問外網的目的。
相關教程推薦:docker教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦