[Windows Azure] 在 Virtual Machines (Windows 2008 R2) 建立 FTP Server

[Windows Azure] 在 Virtual Machines (Windows 2008 R2) 建立 FTP Server

在 Windows Azure 的服務裡有 Virtual Machines 的服務,可以用它來建立FTP Server

image

我們可以利用RDP進入VM,基於安全性考量,請將 RDP 的 EndPoint 改成 5000以上的 Port Number,總之就是不要用3389

image

Administrator的帳號密碼複雜度弄強一點,防火牆不要亂關,因為我的VM被駭,被改了密碼,當時我用的密碼是 pass@w0rd1


從Server Manager

建立 FTP Server

image

image

image

image

image

安裝中

image

完成

image


安裝好FTP後就可以來開始設定了

Step1.建立一個新的 FTP Site

image

image

輸入Server site name 以及實體路徑

image

image

若要安全性高一點可以禁止匿名訪問,允許存取的人員可以用特別的 UserGroup,在這裡為了方便說明,我選擇了All User

image

加入虛擬目錄

image

設定實體路徑

image

設定資料夾權限

image

設定可寫入資料夾權限

image

設定瀏覽方式

image

打開命令提示字元輸入 ftp 127.0.0.1

測試能否登入

image

Step2.設定防火牆

image

image

Step3.設定外部IP

image

image

外部 IP 就是你的 Public virtual IP address (VIP)

image

更詳細的FTP設定,請參考

http://www.iis.net/learn/publish/using-the-ftp-service/configuring-ftp-firewall-settings-in-iis-7

如何設定被動模式 FTP 伺服器的 Windows 防火牆

http://technet.microsoft.com/zh-tw/library/dd421710%28WS.10%29.aspx


以上的設定都是屬於原本TFP Service的設定,接下來才是Windows Azure VM 所要關心的。

Step4.設定 EndPoint

在這裡我是用Windows Azure PowerShell來處理,不會使用的捧油,請參考以下兩篇:
http://www.dotblogs.com.tw/yc421206/archive/2013/01/30/89360.aspx
http://www.dotblogs.com.tw/yc421206/archive/2013/01/30/89397.aspx


Get-AzureVM -ServiceName "tako-alm2012" -Name "tako-alm2012" | Add-AzureEndpoint -LocalPort 21 -PublicPort 55621 -Name FTPint -Protocol TCP | Update-AzureVM

完成畫面如下

image

Step5.重啟 ftp service

在這裡我是利用cmd bat script 處理,將以下內容另存成*.bat


cd %windir%\system32\inetsrv
netsh advfirewall set global StatefulFtp enable
net stop ftpsvc
net start ftpsvc
pause
exit

接著就可以來測試一下了,我在自己的電腦連線至ftp alm2012.cloudapp.net,登入是登入了但卡在 Passive Mode

SNAGHTML299eb77b

Step6.開啟 Passive EndPoint Port

我需要開啟100個Passive Endpoint port,所以仍是使用Windows Azure PowerShell,詳細做法請參考:

 http://www.dotblogs.com.tw/yc421206/archive/2013/01/30/89397.aspx

將以下內容存成*.ps1,別忘了要替換成正確的服務名稱


do 
{ Get-AzureVM -ServiceName "tako-alm2012" -Name "tako-alm2012" | Add-AzureEndpoint -LocalPort $i -PublicPort $i -Name FTPPassive$i -Protocol TCP | Update-AzureVM; $i++} 
until ($i -gt 7100 )

執行*.ps1後就可以在入口網站上看到 EndPoint 慢慢的加進來了

image

然後再重啟一下ftp service,套用剛剛的*.bat檔

然後再測試一下,這次就能順利的登入 FTP Server 並且上傳資料囉!

SNAGHTML29b9e36a

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo