iT邦幫忙

0

如何設定區網與NAS的docker內部網段互通?

環境:
一台forti防火牆設為192.168.1.1以及192.168.2.1
電腦使用IP 192.168.1.x/24
NAS IP:192.168.2.10 gateway連到防火牆192.168.2.1
內部docker預設網段 172.17.0.0/16

目前測試內部docker的OS可以ping到.1網段的電腦 連外網也正常
但是電腦ping不到docker的ip 172.17.0.2

因為docker的容器開的port都是上萬以上
雖然能用NAS IP:docker's port連線 但是還是覺得很麻煩
希望能直接讓內部容器自己使用一個內網IP 這樣就可以直接使用他的80port當web連線

hsiang11 iT邦研究生 4 級 ‧ 2017-03-29 12:57:15 檢舉
補充 nas synology DSM6

1 個回答

0
wonton
iT邦高手 6 級 ‧ 2017-03-29 15:53:33
最佳解答

172.17.0.2 要連 192.168.1.x
封包會先經過 NAS ,然後轉到 192.168.2.1 Gateway,經由路由設定可通過;

192.168.1.x 要連到 192.168.2.x,
封包也會丟到 192.168.1.1 Gateway,經由路由設定可通過;

可是 192.168.1.x 要連到 172.17.0.2,
封包丟到 192.168.1.1 Gateway 時,由於這不是 2.x 網段,就會往 WAN 丟了。

因此,你要做的是修改路由器 (Forti防火牆) 的路由規則,將 172.17.0.0/16 往 192.168.2.10 丟過去。

hsiang11 iT邦研究生 4 級 ‧ 2017-03-29 16:12:49 檢舉

我測試過的確電腦要到172.17的時候的確過192.168.1.1的時候就往 WAN 丟了
目前也在Forti防火牆加了一條靜態路由
172.17.0.0/255.255.0.0 internal to nas ip
可是還是不通 測試還是往外網丟
然後看群暉NAS的路由表 只有主路由表有資料 主要兩筆
172.17.0.0 閘道0.0.0.0 遮罩16 介面docker
192.168.2.0 閘道0.0.0.0 遮罩24 介面區域網路1

不知道是不是介面不同的關係
可是已經是bridge了

wonton iT邦高手 6 級 ‧ 2017-03-30 09:10:28 檢舉

牆加了靜態路由後,如果還是往外網丟,會不會是設定有問題啊...??

hsiang11 iT邦研究生 4 級 ‧ 2017-03-31 10:52:43 檢舉

解決問題了 原來是政策路由優先權影響到
看來政策路由還比靜態路由更優先
有一條編號5 internal 192.168.1.0/24 to 0.0.0.0 Wan
比我後面建的172.17.0.0 更加優先
所以封包亂跑 不過很奇怪的是政策路由在刪除的旁邊要有調整順序功能
我的版本介面卻沒有看到 不知道是不會原廠韌體搞鬼
也沒有support處理問題
不過先停用編號5 就通了,至少先解了這問題

我要發表回答

立即登入回答