CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪

一.文章概述
本文主要就CISCO ASA 防火牆的高可用和擴張性進行闡述和部署。再cisco 防火牆系列中主要有3種技術來實現高可用和擴張性。分別是Failover ,multiple security context 和cluster 。
第一個Failover應該是你們最爲熟悉的一項技術也是最經常使用的,它就是Cisco ASA的 HA 技術,有Active/Standby 和 Active/Active 2種模式。這個技術Cisco ASA 絕大部分系列都支持,並且license 也都是base license 即不須要額外去採購許可,實現這一HA技術的門檻也是最低的。AS模式下一臺工做另外一臺備份隨時等待接管,AA模式下2臺都工做都進行數據轉發。
第二個即 multiple security context ,就是翻譯過來就是多安全上下文環境,和飛塔 checkpoint 的 domain是一個概念,就是根據須要將一臺物理防火牆虛擬成若干臺虛擬牆,牆之間相互獨立,但他們公用物理牆的硬件配置資源。在某些時候用戶業務的多樣性和複雜性,一臺或者兩臺物理牆很難知足需求,新採購又會代理額外的成本,這時候使用multiple security context就會帶來不錯的性價比收益,這一技術license要求也不是很高,ASA的硬件設備也大都支持,不過ASAv 虛擬平臺不支持。這個技術一般和上面的Failover一塊兒組合使用纔會相輔相成相得益彰,failover保證物理層面的HA,multiple security context 又知足了物理設備的擴展性,堪稱完美組合。
第三個就是cluster,就是咱們所說的集羣,這個技術是把2臺以上的設備組成一個集羣提供高可用,跟咱們的服務器集羣差很少是一個概念,這個技術相對接觸的比較少,應用場景也不是不少,只有在SLA很是很是很是高的場景下才會投入不菲的成本去組建物理層面集羣。正常大多數狀況下Failover+multiple context 就已經能夠保障業務的良性運轉了。
因此這裏只說failover和multiple context 2種技術的結合使用。
二.部署實驗
由於ASAv虛擬平臺不支持多上下文模式部署,因此在EVE-NG種選用ASA8.42的物理機版本,platform是 ASA5512。
本文目的爲說明2種技術從零配置開機的部署過程。
部署拓撲圖以下:
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
本文主要相關的爲拓撲中的2臺ASA和其上/下聯交換機。
1.部署前選取的2臺ASA因此配置必須一致,包括cpu/內存/版本/接口數等一系列配置,最好就是2臺徹底同樣的設備,避免一些兼容問題。
2.空配置開機進行配置,這裏咱們要考慮一下配置哪個在先,按照技術來說均可以,2種技術的配置都沒有多複雜,最終均可以實現。可是從經驗來講,建議先配置Failover再開啓多上下文環境,由於在先配置了failover後再去配置多上下文環境的時候,防火牆模式發生變化會重啓,這時候2臺牆就不會再從新組成failover的狀態,須要從新手動刷新下failover的進程才行(no failover &failover)這個也沒什麼複雜的,單後面的多上下文環境配置只須要配置再主牆,備份牆會自動同步,我的經驗只談,全憑我的喜愛。
3.在2臺ASA開啓multiple context
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
在通過2次的回車確認後設備將會重啓,
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
上面提示內容中有很重要的信息顯示,即原來設備種的舊運行配置文件被保存在本機的flash,還有默認生產的 admin context 配置文件也保存在flash中,最後新的運行配置文件也是保存在了flash中。
啓動完成後和以前是沒什麼區別的,
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
經過相應命令能夠查看,
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
在剛開啓context的時候咱們能用的就是 context admin ,而後system 和null 這2個都是系統自帶並且不能修改,因此咱們暫時先忽略它們。
4.配置Failover(AS模式)
ASA1配置:
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪ios

failover lan unit primary
//設置當前設備爲主牆
failover lan interface folink Ethernet5
//指定接口5爲lan failover 鏈路接口 命名爲folink這個名字能夠隨意,好識別就行
failover interface ip folink 169.254.1.1 255.255.255.252 standby 169.254.1.2
//配置folink的本地和對端IP地址,這個通常使用不可通訊的地址,咱們使用Windows保留的地址
failover link stlink Ethernet6
//可選,單獨指定狀態鏈路接口爲6口,命名stlink名字一樣隨意,這個咱們也能夠不用單獨指定,默認適合failover 接口共享
failover interface ip stlink 169.254.2.1 255.255.255.252 standby 169.254.2.2
//對於指定了單獨指定了狀態鏈路的接口配置IP,取決於上面是否指定,不指定的話就不須要配置這個。
failover key xxx
//配置雙方通訊的密鑰
failover
//開啓failover功能。
PS:記的開啓配置了failover接口,默認狀況下接口時關閉的。
ASA2配置:
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
配置除了
failover lan unit primary 這一條不一樣外,其餘配置徹底一致。
在配置完failover後咱們檢查2臺設備的failover狀態
ASA1:
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
ASA2
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
能夠看出ASA1當前爲active,對端爲standby ,配置同步已經完成。ASA2當前狀態爲Standby,配置也已經同步完成,這就說明failover創建成功。
這裏能夠看到當failover創建之後ASA2會自動同步ASA1的因此配置,因此此時ASA2內部的hostname也顯示ASA1,爲了便於識別咱們能夠在ASA2中修改hostname。可是在備機中修改的配置不會同步到ASA1,而主機中後續的配置仍是會同步給備機,說明這種同步應該時增量更新同步,而非全同步。
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
failover 的配置就結束了,對於failover參數的調優不在這裏進行說明,官方文檔有詳細解釋,後續會對failover官方指導文檔進行翻譯筆記。下面進行多上下文環境的具體配置。
5.multiple context 具體配置
這裏模擬的場景爲,將物理牆虛擬出2個牆,一個用戶正經常使用戶訪問咱們命名爲USERS,另外一個用於DMZ管理。
ASA1配置:web

在開啓了multiple context後接下來要作的時定義物理管理資源分配class,這就就是對物理管理資源使用的一個分配限制,不一樣的context(虛擬牆)根據業務須要將其管理資源使用限制在一個class中。這裏一樣不進行自定義咱們先使用default class ,在開啓multiple context後system configuration 中會自動生成,詳細定義後續會對官方文檔作翻譯筆記。
限制的資源類型有如下類型,
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
默認的default class 配置爲:
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
接下來就進入正題了,開機配置security context,也就是新建虛擬牆了。
對於security context ,admin context 時必需要有的,這個admin context 和其餘通常context沒有什麼區別也一樣能夠做爲一個虛擬牆來使用,在開啓多上下文環境的時候,系統就自動生產了,在咱們不對其修改的前提下咱們是不須要進行調整或者新建的。可是這個admin context 擁有除system以外的最高權限。
在定義一個虛擬牆的過程當中有一下幾個步驟:
1/命名
2/分配這個虛擬牆須要使用的物理接口,能夠和其餘虛擬牆共享物理接口。
3/指定該虛擬牆的配置文件存放路徑,能夠指定本地也能夠網絡存儲
4/可選,自定義分配class,默認會選擇default class
5/可選,分配虛擬IPS傳感器
6/可選,若是failover是AA模式,則須要將該context 加入到failover group中
7/可選,選擇是否須要開啓cisco cloud web 安全功能。sql

具體配置:
建立context 名稱爲USERS
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
對USERS的虛擬牆分配物理接口:
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
指定該虛擬牆配置文件存放位置:
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
到這裏USERS 虛擬牆就配置完成了。
但對於這個牆中映射的接口只有在配置nameif 的時候,接口mac地址纔會離開生成,下面的命令可讓映射的接口自動生成mac地址:
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
當前咱們配置完畢之後所處在界面仍是物理牆界面,想要切換到咱們新建了的USERS 虛擬牆,可使用以下命令:
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
這樣就進入到了咱們新建的虛擬牆USERS中了,能夠看到當前位置爲ASA1/USERS,到這裏之後咱們就能夠USERS這個虛擬牆看做是一個普通的牆來操做。
一樣對ASA1的context USERS新建操做也會經過failover同步到ASA2中,
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
虛擬牆USERS到這裏就創建完畢了,能夠開始表演了。
接下來咱們再用一樣的方式新建另外一個牆DMZ,
再切回到system模式中,
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
新建DMZ虛擬牆
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
DMZ牆也創建完成了。
查看當前物理牆創建虛擬牆的基本分配狀況:
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
擋牆物理牆有3個虛擬牆,admin咱們沒有分配接口,因此可用的虛擬牆有2個class都爲default ,分配的物理接口狀況也能夠看出來。
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
虛擬牆DMZ中的初始running-config配置,這裏能夠看出惟一的區別就是接口名稱是咱們在新建的時候和實際的物理接口映射的名稱。
咱們怎麼知道擋牆虛擬機中映射的接口對應的是那個實際的物理接口呢,能夠經過查看接口得知,
CISCO ASA防火牆Failover+multiple context詳細部署--By 年糕泰迪
PS:在新建完虛擬牆或者新建前要把映射的物理接口開啓了,不然在即便在虛擬牆對應的接口下no shutdown ,也是不會生效的。
到這裏咱們在failover模式下2個虛擬牆的創建就所有完成了。
三.配置驗證
1.對USERS虛擬牆進行配置演示
配置
ASA1/USERS(config)# show running-config
: Saved
:
ASA Version 8.4(2) <context>
!
hostname USERS
enable password 8Ry2YjIyt7RRXU24 encrypted
passwd 2KFQnbNIdI.2KYOU encrypted
names
!
interface int1
nameif outside1
security-level 0
ip address 100.100.100.1 255.255.255.252
!
interface int2
nameif outside2
security-level 0
ip address 200.200.200.1 255.255.255.252
!
interface int3
nameif inside1
security-level 100
ip address 10.10.10.1 255.255.255.0
!
interface int4
nameif inside2
security-level 100
ip address 10.10.20.1 255.255.255.0
!
interface mgmt0
nameif Mgmt
security-level 100
ip address 192.168.70.200 255.255.255.0
!
object network USERS
subnet 10.0.0.0 255.0.0.0
access-list inside1_in extended permit icmp any any
access-list inside1_in extended permit ip object USERS any
access-list outside1_in extended permit icmp any any
pager lines 24
mtu outside1 1500
mtu outside2 1500
mtu inside1 1500
mtu inside2 1500
mtu Mgmt 1500
icmp unreachable rate-limit 1 burst-size 1
no asdm history enable
arp timeout 14400
nat (inside1,outside1) source dynamic USERS interface
route outside1 0.0.0.0 0.0.0.0 100.100.100.2 1
route outside2 0.0.0.0 0.0.0.0 200.200.200.2 10
route inside1 10.0.0.0 255.0.0.0 10.10.10.2 1
route inside2 10.0.0.0 255.0.0.0 10.10.20.2 10
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
timeout floating-conn 0:00:00
user-identity default-domain LOCAL
http server enable
http 192.168.70.0 255.255.255.0 Mgmt
no snmp-server location
no snmp-server contact
telnet timeout 5
ssh timeout 5
no threat-detection statistics tcp-intercept
!
class-map inspection_default
match default-inspection-traffic
!
!
policy-map type inspect dns migrated_dns_map_1
parameters
message-length maximum client auto
message-length maximum 512
policy-map global_policy
class inspection_default
inspect dns migrated_dns_map_1
inspect ftp
inspect h323 h225
inspect h323 ras
inspect ip-options
inspect netbios
inspect rsh
inspect rtsp
inspect skinny
inspect esmtp
inspect sqlnet
inspect sunrpc
inspect tftp
inspect sip
inspect xdmcp
!
service-policy global_policy global
Cryptochecksum:49e80afb8d52b8a3602b055e84a72730
: end
ASA1/USERS(config)#
上述配置補充說明,原本計劃根據拓撲的結構對於USERS虛擬牆要實現雙出口切換,下聯口自動切換的模擬演練,但在操做過程當中無奈發現這個8.4版本具體沒有track和sla指令(官網文檔卻有...),因此就只是把基礎配置先放在這裏,一樣也能夠看出來,除了接口名稱外,其餘和實際的物理牆配置沒有區別。安全

相關文章
相關標籤/搜索