看板 Linux 關於我們 聯絡資訊
大家好,不好意思又來發問, 想請問若想在 docker container 中架設 NIS Server, 該如何讓其他台主機連上(ypbind)呢? 我先描述目前環境、嘗試過的方法、卡住的地方: ---目前設備--- 總共2台實體主機,其中1台為 Docker host(開個container架 NIS Server), 各有 public IP [Docker Host] IP:140.5.5.5 Hostname:host CentOS 7.6.1810 [NIS Server] 創建 container 額外下的參數:--privileged,以及與實體機 port 的映射 -p 49311:111 -p 49311:111/udp -p 49211:1011 -p 49211:1011/udp -p 49212:1012 -p 49212:1012/udp (111:rpcbind 1011:ypserv 1012:yppasswd) IP:172.17.0.6 Hostname:nis-master CentOS 6.10 [NIS Client] IP:140.4.4.4 Hostname:client CentOS 7.4.1708 過程與教學是看鳥哥, ypserv.conf 直接設定為 * : * : * : none, 此外為避免問題出在指令或參數,後來有在 host 那台以同樣過程 直接架設 NIS Server,原本 Client 使用 yptest 測試,但卡在 ypbind, 後來暫時關掉 firewalld 後,可成功連線。 (還不太會 iptables,所以才暫時用關掉防火牆的下下策做測試 ) 後來換回該 host 的 container,跑了同樣流程卻不行, (兩者rpcinfo的輸出結果均正確一致) 是卡在 ypbind 的階段:https://i.imgur.com/KtGyQAo.png
---問題點--- 比較有問題的是 /etc/hosts 部分: 140.5.5.5對應host 140.4.4.4對應client 因為 client 端在填 NIS domain 的 Server IP時,填的是140.5.5.5, 但請問這樣 Client 在連線 (ypbind) 時,會不會一直想連到Docker host,而不是有 設定對應的 port 的 container,最後因為host上沒有架設 NIS,導致一直無法連線呢? 目前感覺最有可能的問題應該是出在這, 不知道該怎麼該怎麼讓 client 去連指定 port… 後來我有直接設定111:111、1011:1011、1012:1012, 可是 111 port 已經被 systemd 占用了,所以此方法也失敗… 請問有沒有大大有處理過類似問題的呢? 最後感謝各位的閱讀 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.207.98 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1548763581.A.E2A.html
kenwufederer: 用Try Error 方式學習實在不是一個好方法 01/31 01:24
kenwufederer: 你描述寫下後自己有看過一次嗎? 01/31 01:25
kenwufederer: 你直接把log貼過來可能比較有用 01/31 01:27
kenwufederer: Client 連線的 port 是預設的,當然會錯誤 01/31 10:13
kenwufederer: 不過 NIS server 用 container 執行不是很麻煩嗎… 01/31 10:16
感謝你的回覆!想請問「看過一次」是指重新客觀檢視此篇,思考自己的盲點嗎? (架設過程中很多觀念都半瓶水Orz) 此外因為目前伺服器關機中,所以還無法登入取得log,不好意思QQ 所以才想請問有沒有方法Client可以指定要連入的port,這方面不知是哪個環節決定的 用container執行是因為我們老師很喜歡很多東西都要docker化,故…… ※ 編輯: ShenJing (36.232.253.88), 02/03/2019 22:46:34