接著處理如何在異地連接NFS,一樣是面對路由(Route)問題,起初友驊有三個想法
- 開VPN Server遠端登入私人區域網路?做法有點繁複...
- 把NFS服務相關Port(:892 :2049 :111)都透過分享器Virtual Server轉發?這些Port都暴露在外好像有點危險,而且區網內的其他設備也不能用到這些PORT了
- 既然ssh是必要開放的Port,可不可以透過ssh port完成這一切?好像是最簡潔安全的做法,試試看
動作如下:
伺服器端設定:
- NFS的種種設定
- #vim /etc/exports
- 分享點要寫成 /home/share localhost(rw,sync,no_root_squash,insecure)
- 寫::1不知為何不行??
- #exportfs -r -v
- 使exports生效
- #vim /etc/sysconfig/nfs
- 致能MOUNTD_PORT=892(將mount port固定)
- #service nfs restart
- 重啟nfs服務
- #showmount -e
- 確認一下設定有沒進去
- #netstat -tnlp | grep rpc
- 確認:892是否開啟
- :892是rpc.mountd 用的埠口
- 用來讓rpc.mountd管制檔案權限,見鳥哥
- #rpcinfo -p | grep nfs
- 確認:2049是否開啟
- :2049是NFS Service Port
客戶端連線:
- #ssh -f -N -c arcfour -o ServerAliveInterval=60 -L 2222:localhost:2049 myaccount@my.nfs.server
- 這行很有意思,此ssh tunnel建立後, local:2222的通信最終會轉發到remote:2049,但!仍是通過remote:22達成,也就是remote:22變成類似Gateway的角色
- #ssh -f -N -c arcfour -o ServerAliveInterval=60 -L 3333:localhost:892 myaccount@my.nfs.server
- 同樣是forwarding ports
- #mount -t nfs -o port=2222,mountport=3333,tcp localhost:/shared/path /mnt
- 通過:2222及:3333加上ssh port forwarding,事實上server仍是以:2049及:892處理NFS相關服務,只是通通從:22流出流入
- 為何:111(rpcbind)不用forwarding...不懂??
- localhost填遠端主機名
參考1:man ssh
參考2: man nfs
沒有留言:
張貼留言