在AWS上通過pfSense搭建***

Netgate pfSense是亞馬遜認證的的EC2防火牆和***設備之一。 一些人會遵循互聯網上的幾個流行指南來配置硬件pfSense設備,以便直接與AWS VPC(虛擬私有云)建立***連接。 

本指南將介紹如何啓動,管理和使用設備實例。對於只希望使用默認配置的Open***或IPsec ***的用戶,在初始設置之後,對實例的修改和管理工作量會很少。


  • 啓動一個實例

  • 實例配置

  • 使用遠程訪問IPsec ***

  • 使用遠程訪問Open*** ***

  • 常用平臺/Open***客戶端上配置說明

  • 高級用法

  • 保護VPC中的專用網絡

  • IPv6

  • 將本地pfSense設備連接至Netgate pfSense認證的防火牆和***設備


啓動實例

在Amazon EC2管理控制檯中,啓動Netgate pfSense認證防火牆和***設備。

  1. 使用頁面右上角的選項卡選擇希望實例運行的區域。

    aws-***-appliance-1.jpg

  2. 通過單擊EC2儀表板Create Instance 部分下的Launch Instance 按鈕啓動一個新實例。

    aws-***-appliance-2.jpg

  3. 在創建新實例菜單上選擇 AWS Marketplace 。在搜索框中鍵入 Netgate pfSense certified,然後按回車鍵。

    aws-***-appliance-3.jpg

  4. 在搜索結果中的Netgate pfSense列表旁邊單擊 Select按鈕。

    aws-***-appliance-4.jpg

  5. 通過單擊所需類型旁邊的複選框來選擇要運行的實例類型。 單擊Next: Configure Instance Details

    aws-***-appliance-10.jpg

  6. 進入Configure Instance Details 頁面,選擇網絡和子網。 你可以選擇展開 Advanced Details 部分,並在 User Data 字段中將參數設置爲文本。可用的選項是:

  • 密碼 - 通過像password = abcdefg這樣的指令設置一個值,將管理帳戶的密碼設置爲您在本例中指定的值 - abcdefg。 如果此處未設置任何值,則會分配一個隨機密碼,以使管理訪問權限以避免使默認密碼暴露於互聯網。

  • mgmtnet - 通過像mgmtnet = 10.0.1.0 / 24這樣的指令設置一個值,限制管理訪問(http,https,ssh)。 這將導致實例上的防火牆規則(不是在亞馬遜訪問列表上,而是在Netgate設備自己的防火牆上)將實例的管理流量限制到指定的源網絡。 默認行爲是允許來自任何主機的管理。

這些指令可以通過將它們放在用戶數據字段中的一行中並使用冒號分開來設置。 如果你想指定兩個參數,你可以通過鍵入一個類似於下面的語句來做到這一點:

password=abcdefg:mgmtnet=10.0.1.0/24

在設置完這些參數後,單擊 Next: Add Storage 。


注意

如果使用上面列出的密碼參數設置密碼,則當系統第一次引導時配置系統時,密碼將通過未加密的HTTP請求由實例檢索。 請求由本地局域網上的亞馬遜網絡服務運行的服務器完成,該服務器存儲有關每個正在運行的實例的元數據。 實例的數據僅供該實例使用,但可用於從實例查詢而不提供任何身份驗證憑證。 建議您在實例出現後通過pfSense Web GUI更改管理員密碼,如果您認爲這是不可接受的安全風險。 或者您可以選擇不設置密碼,並設置隨機密碼。

aws-***-appliance-11.jpg

  • 存儲設備配置完成後,單擊 Next: Tag Instance 。

    aws-***-appliance-12.jpg

  • 可以在實例上設置一個標記,以便通過爲 Name 標記輸入一個值來區分此實例與您已啓動的其他VM。設置任何所需的標籤後,單擊 Next: Configure Security Group

    aws-***-appliance-13.jpg

  • 選擇一個安全組以啓動實例。推薦的安全組設置應至少允許以下流量:


    • TCP port 443 from 0.0.0.0/0 - HTTPS - 這是管理Web GUI偵聽的端口。

    • TCP port 22 from 0.0.0.0/0 - SSH - 此端口可用於通過ssh客戶端連接到命令提示符。

    • UDP port 1194 from 0.0.0.0/0 - Open*** - 默認配置的Open***服務器綁定到此端口。

    • UDP port 500 from 0.0.0.0/0 - IPSec ***的IKE

    • UDP port 4500 from 0.0.0.0/0 - 用於IPsec ***的IPsec / NAT-T。

    aws-***-appliance-14.jpg

    如果您有一個包含此訪問權限的現有安全組, 選擇Select an existing security group, 然後選擇要使用的組並單擊 Continue(繼續)。 否則,請選擇Create a new security group, 併爲此訪問添加規則,方法是填寫每個規則的表單並單擊Add Rule 按鈕。當所有規則都被添加後, 單擊Review and Launch。


  • 驗證實例的詳細信息並單擊Launch

    aws-***-appliance-15.jpg

  • 選擇一個現有的密鑰對或創建一個新的密鑰對以連接到實例。不要選擇Proceed Without a Key Pair。 點擊複選框,表示您確認您有權訪問所選私鑰文件,然後單擊Launch Instance

    aws-***-appliance-16.jpg


  • 實例配置

    實例啓動後,您可以在EC2管理控制檯的Instances頁面上監視其狀態。 EC2管理控制檯將顯示實例是否已啓動並且可以訪問,並且還將顯示其當前公共IP地址和解析爲公共IP地址的主機名。 您可以在EC2控制檯中找到主機名和公共IP地址,方法是單擊左側的Instances標題,查找實例並檢查其旁邊的複選框,然後查看頁面底部的詳細信息。

    aws-***-appliance-17.jpg


    在上面的例子中,實例的主機名是 ec2-23-20-204-54.compute-1.amazonaws.com。主機名中包含的4個號碼是公共IP地址 - 23.20.204.54。 您還可以使用流行的DNS查找工具(例如host,dig或nslookup)將主機名解析爲其IP地址來獲取IP地址。

    注意

    本指南例子和其他例子中使用的主機名和IP地址在編寫時與一個測試實例相關聯。 這個地址/主機名將不會與你用於訪問實例的值相同,並且在本指南向公衆公開時甚至不會與同一測試實例關聯。

    爲了管理實例的配置,你也可以通過https或ssh進行連接。 要通過ssh連接,可以使用你在創建實例時選擇的密鑰對來連接到管理員帳戶。 從Unix / Linux主機上的命令行,您可以使用類似的命令:ssh -i my_key_file admin@public_IP, 替換私鑰文件和公共IP或主機名就可以。 在下面的示例中,密鑰文件my_ec2_key用於連接到IP地址23.20.204.54。 請注意,當第一次登錄你的實例時,實例的ssh密鑰將不會緩存在本地計算機上,並且在詢問你是否要繼續連接時需要輸入yes, 後續連接就不會再詢問了。

    aws-***-appliance-18.jpg

    通過ssh接口可以實現一組有限的配置。 管理大部分配置或查看Netgate pfSense實例狀態數據的首選方法是通過https web GUI。 要通過https連接,您需要在Web瀏覽器中輸入https://包含您的實例的公有IP地址或主機名的URL。 例如,https://23.20.204.54。 很可能會收到瀏覽器警告,指出該網站的安全證書不可信。 這是因爲實例爲https通信使用自簽名證書,點擊該選項繼續進入該網站。 應出現帶有Netgate徽標的登錄屏幕。

    aws-***-appliance-19.jpg


    用於登錄的用戶名是admin。 要使用的密碼是在創建實例期間在用戶數據中設置的值或隨機密碼。 如果你沒有設置特定的密碼,你可以通過兩種不同的方式找出隨機密碼設置的值。 首先是使用您在創建實例時選擇的密鑰對通過ssh登錄,並檢查位於/etc/motd的文件的內容。 您可以通過從控制檯菜單中選擇選項8(Shell)來執行此操作,該選項在您登錄並從shell執行cat /etc/motd時顯示。 或者,您可以在EC2管理控制檯中查看實例的系統日誌。 在顯示引導過程狀態的消息之後,應該會顯示一條消息,指出管理密碼已更改爲什麼。

    使用上面提到的任何一種方法尋找的信息如下所示:

    ***
    ***
    *** Admin password changed to: abcdefg
    ***
    ***

    在此示例中,密碼已更改爲abcdefg。

    請注意,EC2管理控制檯中的系統日誌輸出沒有實時更新,可能需要幾分鐘才能顯示。 最好通過在用戶數據字段中傳入值來顯示設置密碼,以便事先知道密碼。 如果你想允許設置一個隨機密碼,你應該通過ssh進行連接,並在實例啓動後找出密碼更改的內容,而不會有任何延遲。

    確定密碼並將其輸入登錄表單後,就進入了pfSense Web GUI菜單。


    使用遠程訪問IPsec ***

    當實例運行時,將爲遠程用戶預先配置一個IPsec ***。 爲了使用它,你將需要在你的設備上配置IPsec ***客戶端。 手動配置Android或iOS(iPhone / iPod / iPad)移動客戶端以建立IPsec ***。

    https://doc.pfsense.org/index.php/Mobile_IPsec_on_2.0


    對於iOS客戶端,可下載並安裝一個配置文件,該配置文件將自動爲該實例配置一個IPsec ***。 可以通過訪問實例上的/iphone_ipsec_profile.php頁面來下載配置文件。 如果實例IP地址爲23.20.204.54,則訪問的正確URL將爲https://23.20.204.54/iphone_ipsec_profile.php.。 在能夠下載配置文件之前,您需要輸入用戶名(admin)和密碼,才能通過Web界面進行身份驗證。


    應在打開頁面時自動下載並保存配置文件。 如果在iOS設備上的網絡瀏覽器中訪問該頁面,設備應自動啓動設置應用程序並嘗試安裝新的配置文件。 如果配置文件被下載到另一個非iOS設備,它可以通過電子郵件作爲附件發送。 如果在iOS電子郵件客戶端中打開附件,則也會打開設置應用程序新配置文件安裝。

    aws-***-appliance-20.jpg

    將顯示正在安裝的配置文件的名稱和說明。點擊安裝按鈕。將顯示警告消息,指示配置文件未簽名。點擊立即安裝以繼續。

    aws-***-appliance-21.jpg

    輸入您的iOS設備密碼(當你將設備從睡眠中喚醒時輸入的密碼)和訪問IPsec ***密碼(您爲訪問Web GUI而輸入的密碼),並提示安裝配置文件。 當屏幕顯示配置文件已安裝時,點擊完成。

    aws-***-appliance-22.jpg

    安裝配置文件後,可以在“設置”應用程序中啓用***。 主設置頁面下會有一個名爲***的標題。 如果設備上配置了多個***,請點擊***標題,選擇新安裝的配置文件。 它旁邊會有一個複選標記。 在頁面頂部會有一個開/關開關來啓用***。 如果這是唯一配置的***,則啓用***的開關將位於主設置頁面上的***標題旁邊。 點擊開關啓用***。 應該提示您輸入用戶名和密碼。 用戶名(admin)應該已經填入。輸入密碼並點擊確定。 顯示歡迎消息。 點擊確定,你就可以使用***了。

    使用遠程訪問Open*** ***

    首次啓動實例時,將自動配置用於遠程用戶的Open*** ***。 爲了使用它,您需要在設備上安裝Open***客戶端應用程序,並且您需要導入指定如何連接到實例的配置。


    Open***配置可以通過訪問實例上的/open***_connect_profile.php頁面來下載。 如果實例IP地址爲23.30.204.54,則訪問的正確URL將爲https://23.20.204.54/iphone_ipsec_profile.php.。 在被允許下載配置之前,您需要輸入用戶名(admin)和密碼來驗證Web界面。


    應在打開頁面時自動下載並保存配置文件。它保存的文件應該被導入到你希望連接的設備上的Open***客戶端。


    在一些常用平臺/客戶端上配置Open***的提示

    iOS上的Open*** 連接 App(iPhone / iPad / iPod)

    iOS版本的Open*** 連接 App允許您通過打開電子郵件附件來導入Open***配置文件。 將該配置保存到名爲remote-access-***.o***的文件中,並將其發送到iOS設備配置爲檢索郵件的電子郵件帳戶。 打開電子郵件並觸摸附件打開它。 作爲可用選項之一,您將在Open***中獲得Open。 觸摸Open***圖標以選擇該選項。 然後,Open*** 連接應用程序應該打開並列出一個標題下的新配置文件可用....單擊帶有+號的綠色球來導入配置文件。 輸入用戶名(admin)和密碼,並將On / Off開關改爲On。

    Android上的Open*** 連接 App

    Android版本的Open*** 連接 App允許您從SD卡導入Open***配置文件。 將配置文件保存到SD卡。 啓動Open*** 連接應用程序。 從菜單中選擇導入,然後從SD卡導入配置文件。 瀏覽到配置文件的位置並選擇它。 輸入用戶名(admin)和密碼以連接到***。

    Windows 上的Open*** 連接客戶端

    Windows上的Open*** 連接客戶端允許您從本地磁盤導入Open***配置文件。 將文件保存在您的系統上。 單擊連接配置文件右側的+符號。 選擇本地文件,然後單擊導入按鈕。 在文件瀏覽器窗口中找到要導入的配置文件,然後單擊打開。 具有新配置文件名稱的框現在應該出現在“連接配置文件”下。 點擊該框並輸入用戶名(admin)和密碼以連接到***。


    高級用法

    保護VPC中的專用網絡

    Netgate設備可以用作VPC子網的防火牆。 但這需要比使用實例來託管遠程訪問***更多的手動配置。

    IPv6

    Amazon EC2不支持本地IPv6連接。 因此,如果不進行額外的手動配置,就無法通過使用Netgate pfSense認證的防火牆和***設備實例建立的***隧道從客戶端設備向IPv6 Internet發送流量。 應該可以手動在實例和IPv6隧道代理(Hurricane Electric,Sixxs等)之間配置隧道。 此配置尚未經過測試,並且沒有技術支持。 未來版本中可能提供受支持的自動IPv6隧道配置。

    注意

    關於***客戶端和IPv6的重要說明

    如果您使用***的主要原因是在無線和不可信網絡上加密流量,則在連接到支持IPv6路由的局域網時應該格外小心。這裏有一些更詳細的原因...

    • 在使用Netgate pfSense認證的防火牆和***設備測試不同的***配置期間,有人注意到,當客戶端連接到提供本機的網絡時,測試的一些***客戶端直接向***隧道外的Internet發送IPv6流量IPv6連接。每個經過測試的IPsec客戶端和某些版本的Open***客戶端都會觀察到這種情況。使用IPsec客戶端的這種行爲的原因很可能是IPsec客戶端似乎不支持通過單個隧道發送混合的IPv4和IPv6流量。因此,如果通過IPv4建立到遠程端點的IPsec隧道,則IPv4通信將通過隧道發送,而IPv6不會。如果隧道是通過IPv6建立的,則會發生相反的行爲。對於Open***隧道來說,一些客戶端支持發送混合流量,但不是全部。這是否與給定的客戶端一起工作將取決於客戶端的特定實現,平臺和版本。

    • 許多客戶端應用程序(例如Web瀏覽器)使用DNS來檢查主機名是否具有IPv4或IPv6地址(或與之相關聯)。 一旦確定存在哪些IP地址類型,應用可以決定嘗試連接到哪個地址類型。 例如,它可能會嘗試同時連接到這兩個設備,並繼續先取得任何一個成功,或者它可能會首先嚐試通過IPv4進行連接,並且只會嘗試IPv6,如果該設備失敗,或者它可能首先嚐試通過IPv6進行連接,並且僅嘗試IPv4 失敗了。 在特定應用決定在連接到***時連接到IPv6主機的情況下,IPv6流量很可能會直接進入互聯網而不是通過隧道。

    • 應用程序決定發送流量的IP版本以及***客戶端如何管理該流量的路由的行爲取決於應用程序和設備上的***客戶端的行爲。 此行爲受應用程序和***客戶端開發人員的控制。 對***端點的這一點沒有太多的控制。 對於IPsec,沒有配置可以消除此問題。 對於Open***,自動配置的Open***遠程訪問***會嘗試推送一個配置,以使IPv6流量通過Open***隧道進行路由(最終流量會被黑掉,IPv6將無法工作,但它可以確保流量不會直接未加密地發送到互聯網)。 並不是所有的Open***客戶端都能接受或正確地使用這種配置,所以它不能被認爲是每種情況下的有效保護措施。

    • 目前大多數公共局域網中不支持IPv6路由,因此這種情況所帶來的風險對大多數用戶來說可能是可以容忍的。 建議在連接到任何網絡時,特別是在支持IPv6的情況下,意識到存在問題的可能性並小心處理。 如果你想確定你當前連接的網絡是否支持IPv6路由,則可以嘗試導航到可用於測試IPv6連接的熱門站點之一,例如http://test-ipv6.com,同時連接 到***。 如果測試顯示具有IPv6連接,則意味着你的IPv6流量正在直接路由到Internet。 在確定是否是這種情況後,你就可以評估是否希望保持以IPv6方式連接到網絡。

    將本地pfSense設備連接至Netgate pfSense認證的防火牆和***設備

    除了將遠程設備連接爲客戶端,運行pfSense作爲防火牆/路由器的設備可以作爲對等連接到Netgate設備。詳見:http://doc.pfsense.org/index.php/Open***_Site-to-Site_(Shared_Key,_2.0)。

    在實施文檔中詳述的配置修改時,應將AWS上的Netgate設備實例用作連接的“服務器”端,將本地pfSense設備當作“客戶端”。 你還需要確保你使用的是獨特的端口。 默認的遠程訪問Open***服務器配置爲使用UDP端口1194。建議如果要添加站點到站點隧道,則應使用1195到2000之間的端口。無論決定使用哪個端口,都需要確保端口在Netgate設備實例的防火牆規則和EC2管理控制檯的安全組中均處於打開狀態。

    如果你希望將來自家庭/辦公網絡的所有流量通過Open***隧道路由到你的Netgate設備實例,則需要將此語句添加到家庭/辦公室pfSense設備上的Open***客戶端高級選項:

    redirect-gateway def1;

    這會更改默認路由設置,當它建立時,將通過Open***隧道發送家庭/辦公網絡上的所有本地始發流量。 如果你使用此配置通過Open***隧道從本地網絡發送所有流量,則還需要在AWS上的Netgate設備實例上建立NAT,以處理從家庭/辦公網絡到Internet的流量。 這可以通過將家庭/辦公網絡的CIDR掩碼添加到名爲Networks_to_NAT的預配置別名來完成。 別名在防火牆>別名下進行設置,然後單擊Networks_to_NAT右側的編輯圖標進行添加。 將新的網絡地址和掩碼添加到網絡列表中,然後單擊保存按鈕。 然後點擊應用更改按鈕。 你還需要使用與用於添加家庭/辦公網絡相同的過程將用於隧道端點(IPv4隧道網絡)的網絡添加到Networks_to_NAT別名中。

    將多個pfSense網關連接到Netgate設備

    多個家庭/辦公網絡可以連接到單個Netgate設備實例。 這可以用來允許不同辦公地點的客戶進行通信,而不需要在每個單獨位置之間建立隧道。 它也可以用作在一個地方對來往互聯網的流量應用策略,並使它們在多個地點生效。

    每個站點都需要具備上述說明,用於連接重複的單個設備,以在Netgate設備實例上添加Open***服務器,並在本地pfSense設備上添加Open***客戶端。 每個配置的Open***服務器都必須使用唯一的端口和唯一的IPv4隧道網絡。 建議在爲Netgate設備中的站點添加Open***服務器時,在描述字段中使用唯一標識來說明以此方式連接的每個位置的名稱。


    原文地址



    發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章