大家好;
我們在linux系統中搭建FTP服務,當前網路環境是內網
服務器的IP是 192.168.0.4 掩碼:255.255.255.0
我們在同網段服務器192.168.0.0/24 訪問ftp服務器 192.168.0.4 都是正常的
后來FTP同時需要對公服務
192.168.0.4--nat-->公網ip:218.108.255.x
這個時候在FTP配置里面 添加了連個引數
pasv_addr_resolve=YES
pasv_address=218.108.255.x
設定上述兩個引數 后
公網訪問正常的
但是 內網服務器(192.168.0.0/24)無法訪問,因為內網服務器 無法通過 公網IP去訪問
內網服務器連接上 192.168.0.4 FTP服務的時候,打開資料傳輸通道的時候,FTP回傳的 是公網ip+資料埠
所以這里就有問題 設定pasv_address 后
要么只能公網訪問,pasv_address 設定NAT后的IP
要么只能內網訪問,pasv_address 設定本機內網IP
無法做到內外網同時能訪問
uj5u.com熱心網友回復:
內網客戶端不要用被動模式(PASV),改用主動模式。但是,要先關掉客戶防火墻試試是否可行, 確認可行再打開防火墻。
如果客戶端開防火墻有問題,那就是另外一個問題了, 視乎不同系統,或不同內核采取不同解決辦法。
uj5u.com熱心網友回復:
雙行程就行,一個監聽公網,一個監聽內網:cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
1>/etc/vsftpd/vsftpd.conf
listen_port=21
pasv_min_port=10021
pasv_max_port=10021
ftpd_banner=Welcome to FTP1 service
pasv_address=218.108.255.x
#..........................
2>/etc/vsftpd/vsftpd2.conf
listen_port=1022
pasv_min_port=20022
pasv_max_port=20022
ftpd_banner=Welcome to FTP2 service
pasv_address=192.168.0.4
#..........................
第二個需要手動啟動:
/usr/sbin/vsftpd /etc/vsftpd/vsftpd2.conf
也可以添加啟動項.
最后做個局域網轉發:
192.168.0.0/24:21 nat轉 192.168.0.4:1022
效果:
外網telnet 218.108.255.x 21 得到:Welcome to FTP1 service
內網telnet 192.168.0.4 21 得到:Welcome to FTP2 service
uj5u.com熱心網友回復:
---謝謝了,這個確實可以解決,主要我們所處是乙方的角色,甲方使用FTP需要加-A引數,對他們來說比較麻煩
---這個可以,厲害 膜拜下
uj5u.com熱心網友回復:
這個比較牛B~
唯一的問題是運維的人要求高啊!
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/27853.html
標籤:系統維護與使用區
上一篇:glance服務上傳鏡像的時候,報錯HTTPInternalServerError (HTTP 500) 小白求助
下一篇:求一個安裝配置好了intellij idea可以用使用Intellij Idea撰寫Spark應用程式(Scamaven打包運行的ubuntu系統虛擬機的壓縮包
