天翼云云主機上搭建FTP服務最佳實踐
天翼雲使用者在雲主機上架設FTP伺服器後,在VPC 安全組裡配置開放了21埠卻發現仍然從外網連線不上FTP服務。
這是由於FTP協議有它的特殊之處,本文將介紹在天翼云云主機上配置FTP伺服器的難點。
FTP協議的資料連線分為主動模式和被動模式兩種方式,FTP預設使用主動模式。
在主動模式下客戶端隨機開啟一個大於1024的埠N,這裡我們假定是12345埠吧,向伺服器的21埠發起連線,然後客戶端將開放N+1號埠進行監聽,在我們這個例子裡則是12346埠了。伺服器將使用資料埠20來主動連線客戶端的12346埠進行資料傳輸。
如果客戶端處在一個區域網內透過防火牆或路由器連線到公網,那伺服器很可能將連線不上客戶端的12346埠,除非客戶的網管給客戶端做了1對1的公網地址對映。因此主動模式有很大的侷限性,大部分場景下都不適用。
既然主動模式連線不上,那就改為使用被動模式吧。被動模式下,FTP客戶端隨機開啟一個大於1024的埠N,我們仍然假定是12345埠吧,向伺服器的21埠發起連線,然後客戶端會開啟N+1號埠,在我們這個例子裡則是12346埠,並且告訴伺服器我倆使用被動模式來進行通訊。伺服器收到命令後,會開放一個大於1024的隨機埠進行監聽,我們假定也是12345吧,然後伺服器再告訴客戶端,你來連線我的12345埠吧,我是雲主機我有公網IP,你可以連得上。這樣客戶端的12346埠去連線伺服器的12345埠進行資料通訊,就這樣愉快地開始進行資料傳輸。
可是請注意,天翼雲上有安全組在保護著我們的雲主機,哪能隨便讓客戶端去連12345埠。好吧,那就去配置安全組,允許訪問12345埠吧。可是請注意,預設情況下伺服器端開放的資料連線埠是個隨機埠,每一次FTP連線都是一個隨機埠。這次是12345埠,下一次可能就是54321埠了。
那怎麼辦呢?
這時候你可能想到,在安全組上配置把1024-65535這段埠全部放開嘛。很好,我很佩服你的思路。
這種方案並不是不可以,而是太不安全了,相當於雲主機完全暴露在公網上。這好像在向告訴駭客,來呀來呀,來攻擊我呀。
其實隨機埠的問題最佳的解決方法是把被動模式的隨機埠改為使用一個固定的埠範圍,再把這個固定埠範圍配置到安全組的允許埠列表裡就行了。
至於埠範圍使用哪個埠範圍,就取於使用者自己的業務需求了。大於1024的埠都可以使用,前提是不與其它業務衝突。埠的範圍大於取決於FTP的併發數,如果有100個併發使用者,那埠的範圍大小至少要100個埠了。
本文就以被動模式埠範圍設為30010-30020為例介紹Windows和Linux作業系統下FTP伺服器的設定。
以Windows IIS FTP伺服器中,找到【FTP防火牆支援】,配置資料通道埠範圍為30010-30020。
Linux下常用的VSFTPD則是配置vsftpd.conf,加入以下配置,並且重啟VSFTPD使配置生效。
pasv_enable=yes
pasv_min_port=30010
pasv_max_port=30020
當然雲平臺安全組的配置中,還需要開放TCP 21及TCP 30010-30020的訪問。
最後,如果Windows雲主機上配置了Windows防火牆或者Linux上配置了iptables防火牆,還需要在雲主機防火牆上開放TCP 21埠及TCP 30010-30020埠。
終於FTP客戶端又能從服務端愉快地上傳下載資料了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014251/viewspace-2884991/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 實戰天翼云云主機系統盤擴容
- 天翼雲CDN最佳實踐
- 物理裸機配置如何轉換為天翼云云主機配置
- 天翼云云主機快照、雲硬碟備份、雲主機備份之間的區別硬碟
- 如何選擇天翼云云硬碟硬碟
- FTP服務搭建FTP
- DevOps雲翼日誌服務實踐dev
- 華為雲彈性雲伺服器ECS搭建FTP服務實踐伺服器FTP
- 透過IPv6隧道實現天翼云云主機IPv4和IPv6雙棧接入
- linux ftp服務搭建LinuxFTP
- 天翼云云硬碟的磁碟模式及共享盤硬碟模式
- ubuntu下搭建ftp服務端UbuntuFTP服務端
- 在虛擬機器上搭建主機可訪問的web服務虛擬機Web
- linux ftp服務的搭建配置LinuxFTP
- <Linux下FTP服務的搭建>LinuxFTP
- 網路拓撲—FTP服務搭建FTP
- 如何在 Linux 中搭建 FTP 服務LinuxFTP
- Go單體服務開發最佳實踐Go
- Go 單體服務開發最佳實踐Go
- 阿里云云原生微服務可觀測實踐阿里微服務
- 巧用天翼雲盤備份雲主機資料
- 天翼雲高可用虛擬IP(HAVIP)實踐
- 基於ECS搭建FTP服務(阿里雲)FTP阿里
- FTP檔案服務搭建與同步傳輸FTP
- 客戶服務知識庫最佳實踐指南
- Kubernetes 服務部署最佳實踐(二) ——如何提高服務可用性
- 配置ftp服務FTP
- 騰訊雲容器服務日誌採集最佳實踐
- prometheus + consul 服務註冊+報警 最佳實踐Prometheus
- 在基於CentOS的雲主機上用vsftpd搭建FTP伺服器CentOSFTP伺服器
- ClickHouse主鍵索引最佳實踐索引
- MySql雙主一從服務搭建MySql
- iOS7 最佳實踐:一個天氣應用案例(上)iOS
- vsftpd搭建ftp服務,並實現虛擬使用者訪問FTP
- 在nginx上搭建php服務NginxPHP
- 服務發現與配置管理高可用最佳實踐
- Node.js 服務連線 MongoDB 處理最佳實踐Node.jsMongoDB
- VPC內網服務可用性監控最佳實踐內網