1. 程式人生 > >28-思科防火墻:狀態化AA

28-思科防火墻:狀態化AA

1.3 mod host lena pro 思科防火墻 link ip地址 let

一、實驗拓撲:
技術分享圖片
二、實驗要求:
1、2個ASA都為多模式、路由模式;
2、ASA1、ASA2打開5個接口:no shutdown;因為都要做子防火墻;
3、2個ASA的子防火墻的配置其實是一摸一樣的;
4、ASA1的配置:admin-context admin;delete flash:admin.cfg;
context c1:allocate-interface g0;allocate-interface g1;config-url flash:c1.cfg
context c2:allocate-interface g2;allocate-interface g3;config-url flash:c2.cfg
查看:show run context

changeto context c1: int g0, no shutdown,nameif outside;security-level 0; ip add 202.100.1.10 standby 202.100.1.20
int g1 no shutdown,nameif inside;security-level 100; ip add 10.1.1.10 standby 10.1.1.20
查看:show int ip bri

changeto context c2: int g2, no shutdown,nameif outside;security-level 0; ip add 202.100.2.10 standby 202.100.2.20

int g3 no shutdown,nameif inside;security-level 100; ip add 10.1.2.10 standby 10.1.2.20
查看:show int ip bri

changeto context sys
ASA1創建FO group:(ASA2相反:組1為Seconday、組2為primary)
failover group 1
primary
Preempt 默認搶占就是開啟的
failover group 2
secondary
preempt
查看show run failover
ASA2創建FO group:
failover group 1
secondary Preempt 默認搶占就是開啟的

failover group 2
primary
preempt
查看show run failover

然後組合虛擬防火墻關聯在一起
context c1
join‐failover‐group 1
context c2
join‐failover‐group 2

接下來:
查看:show run context,然後復制粘貼到ASA2,再繼續show run context驗證下是否一樣

最後在做FO的配置:
ASA1:
failover lan unit primary
failover lan interface FO G4
failover link FO G4
failover key cisco
failover interface ip FO192.168.1.10 255.255.255.0 standby
192.168.1.20
ASA2:
failover lan unit secondary
failover lan interface FO G4
failover link FO G4
failover key cisco
failover interface ip FO192.168.1.10 255.255.255.0 standby
192.168.1.20

做完以後保證ASA2所有接口保持打開狀態就可以
ASA1:failover
ASA2:failover

查看狀態:show failover
ASA2:failover active group 2 //搶過來

ASA1:changeto context c1:ping 202.100.1.1/ping 10.1.1.3
ASA2:changeto context c2:ping 202.100.2.2/ping 10.1.2.3

R3要訪問R1或者R2有相應的路由就可以搞定:
R3:ip route 0.0.0.0 0.0.0.0 10.1.1.10 //R1開啟 line vty 0 4 password aa login

在ASA1的C1子防火墻做一個端口NAT:
object network inside
subnet 10.1.1.0 255.255.255.0
nat (inside,outside) dynamic interface

R3遠程登錄R1,因為R3有默認路由到ASA,R1不需要默認路由,只需要包能到達ASA的G0口就可以了。
R3 telnet 202.100.1.1 show users 源地址為:202.100.1.10

同理:R3去訪問R2
R3 :ip route 202.100.2.0 255.255.255.0 10.1.2.10
R2:line vty 0 6 password aa login
ASA2:Changeto context c2
object network inside2
subnet 10.1.2.0
nat (inside,outside) dynamic interface
R3:telnet 202.100.2.2 show users 202.100.2.10

異步路由問題:
3.3.3.3訪問1.1.1.1的一步路由問題:經過ASA的c1,到達R1的1.1.1.1,然後經過R2、ASA2再回到R3,這樣其實也通不了:就是因為有異步路由。其實做Bypass可以,但是這樣ASA就沒意義了。
解決方法:R2到ASA2的C2後,通過內部操作到達ASA2的c1,其實c1是standby的方式。c1通過ASA2的G0口發回來,然後從ASA1的c1進來。ASA2的c1是standby沒關系,只要能把流量發給ASA1的主用c1就可以。
ASA1:route outside 1.1.1.0 255.255.255.0 202.100.1.1
R1:ip route 3.3.3.3.0 255.255.255.0 12.1.1.2
R2:ip route 3.3.3.0 255.255.255.0 202.100.2.10
ASA2 c2:route inside 3.3.3.0 255.255.255.0 10.1.2.3
ASA2 C2: access-list out extended permit ip any any
access-group out in interface outside
流量放行了,路由也有了:
R3:telnet 1.1.1.1 /source interface loopback 0
會發現這個流量通不了的:原因就是因為序列號的原因,ASA1出去的序列號和ASA2回來的序列號是一樣的
ASA2 C2:show access-list 可以看到有匹配項

解決方法:
ASR‐Group配置
C1 Active:
ASA1/c1(config)# interface G0
ASA1/c1(config‐if)# asr‐group 1
C2 Active:
ASA2/c2(config)# interface G2
ASA2/c2(config‐if)# asr‐group 1
補一條:ASA/c1 route inside 3.3.3.0 255.255.255.0 10.1.1.3
R3:telnet 1.1.1.1 show users 3.3.3.3
這時候可以刪掉ASA2/c2 的組:interface G2;no asr-group 1,再去telnet 1.1.1.1,這時候就不行了

總結:跨越虛擬防火墻、跨越物理防火墻,思科防火墻可能覺得有這個問題,所以有這種技術;華為的防火墻不可以這麽做,它的防火墻兩個虛擬防火墻完全物理隔絕的,當然思科也是物理隔絕的,只不過思科有組這個例外,華為防火墻就沒有這個例外了。
三、命令部署:
1、路由基本配置IP地址、環回口:
R1(config)#int lo0
R1(config-if)#ip add
R1(config-if)#ip add 1.1.1.1 255.255.255.0
R1(config)#int f0/0
R1(config-if)#no shutdown
R1(config-if)#ip add 202.100.1.1 255.255.255.0
R1(config)#int f1/0
R1(config-if)#no shutdown
R1(config-if)#ip add 12.1.1.1 255.255.255.0

R2(config-if)#int f0/0
R2(config-if)#no shutdown
R2(config-if)#ip add 12.1.1.2 255.255.255.0
R2(config)#int f1/0
R2(config-if)#no shutdown
R2(config-if)#ip add 202.100.2.2 255.255.255.0

R3(config)#int f0/0
R3(config-if)#no shutdown
R3(config-if)#ip add 10.1.1.3 255.255.255.0
R3(config)#int f1/0
R3(config-if)#no shutdown
R3(config-if)#ip add 10.1.2.3 255.255.255.0
R3(config)#int lo0
R3(config-if)#ip add 3.3.3.3 255.255.255.0

2、ASA基本配置:多模式、路由器等:
ASA1# show mode
Security context mode: multiple
ASA1# show firewall
Firewall mode: Router

ASA2# show mode
Security context mode: multiple
ASA2# show firewall
Firewall mode: Router

3、ASA1、ASA2打開所有接口,為接下來做子防火墻做準備:
ASA1(config)# int g0
ASA1(config-if)# no shutdown
ASA1(config-if)# int g1
ASA1(config-if)# no shutdown
ASA1(config-if)# int g2
ASA1(config-if)# no shutdown
ASA1(config-if)# int g3
ASA1(config-if)# no shutdown
ASA1(config-if)# int g4
ASA1(config-if)# no shutdown

ASA2(config)# int g0
ASA2(config-if)# no shutdown
ASA2(config-if)# int g1
ASA2(config-if)# no shutdown
ASA2(config-if)# int g2
ASA2(config-if)# no shutdown
ASA2(config-if)# int g3
ASA2(config-if)# no shutdown
ASA2(config-if)# int g4
ASA2(config-if)# no shutdown

4、2個ASA的子防火墻的配置其實是一模一樣的:
ASA1配置:
ASA1(config)# delete flash:admin.cfg
Delete filename [admin.cfg]?
Delete disk0:/admin.cfg? [confirm] //刪除之前的管理子防火墻文件admin.cfg

ASA1(config)# admin-context admin //配置管理子防火墻admin
ASA1(config)# context c1 //配置子防火墻c1
ASA1(config-ctx)# allocate-interface g0
ASA1(config-ctx)# allocate-interface g1
ASA1(config-ctx)# config-url flash:c1.cfg
ASA1(config)# context c2
ASA1(config-ctx)# allocate-interface g2
ASA1(config-ctx)# allocate-interface g3
ASA1(config-ctx)# config-url flash:c2.cfg
配置完成後查看驗證:
ASA1(config)# show run context
admin-context admin
context admin
config-url disk0:/admin.cfg
context c1
allocate-interface GigabitEthernet0
allocate-interface GigabitEthernet1
config-url disk0:/c1.cfg
context c2
allocate-interface GigabitEthernet2
allocate-interface GigabitEthernet3
config-url disk0:/c2.cfg

配置子防火墻接口地址、內外、安全級別等:
ASA1(config)# changeto context c1
ASA1/c1(config)# int g0
ASA1/c1(config-if)# no shutdown
ASA1/c1(config-if)# nameif outside
ASA1/c1(config-if)# security-level 0
ASA1/c1(config-if)# ip add 202.100.1.10 255.255.255.0 standby 202.100.1.20

ASA1/c1(config)# int g1
ASA1/c1(config-if)# no shutdown
ASA1/c1(config-if)# nameif inside
ASA1/c1(config-if)# security-level 100
ASA1/c1(config-if)# ip add 10.1.1.10 255.255.255.0 standby 10.1.1.20
查看驗證:
ASA1/c1(config)# show int ip bri
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0 202.100.1.10 YES manual up up
GigabitEthernet1 10.1.1.10 YES manual up up

ASA1/c1(config)# changeto context c2
ASA1/c2(config)# int g2
ASA1/c2(config-if)# no shutdown
ASA1/c2(config-if)# nameif outside
ASA1/c2(config-if)# security-level 0
ASA1/c2(config-if)# ip add 202.100.2.10 255.255.255.0 standby 202.100.2.20

ASA1/c2(config)# int g3
ASA1/c2(config-if)# no shutdown
ASA1/c2(config-if)# nameif inside
ASA1/c2(config-if)# security-level 100
ASA1/c2(config-if)# ip add 10.1.2.10 255.255.255.0 standby 10.1.2.20
查看驗證:
ASA1/c2(config)# show int ip bri
Interface IP-Address OK? Method Status Protocol
GigabitEthernet2 202.100.2.10 YES manual up up
GigabitEthernet3 10.1.2.10 YES manual up up

配置Failover Group
ASA1/c2(config)# changeto context sys
ASA1(config)# failover group 1
ASA1(config-fover-group)# primary
ASA1(config-fover-group)# preempt

ASA1(config)# failover group 2
ASA1(config-fover-group)# secondary
ASA1(config-fover-group)# preempt
查看驗證:
ASA1(config)# show run failover
no failover
failover group 1
preempt
failover group 2
secondary
preempt

ASA2(config)# failover group 1
ASA2(config-fover-group)# secondary
ASA2(config-fover-group)# preempt

ASA2(config)# failover group 2
ASA2(config-fover-group)# primary
ASA2(config-fover-group)# preempt

關聯虛擬防火墻和Failover Group:
ASA1(config)# context c1
ASA1(config-ctx)# join-failover-group 1

ASA1(config)# context c2
ASA1(config-ctx)# join-failover-group 2
查看context配置,並粘貼到ASA2:
ASA1(config)# show run context
admin-context admin
context admin
config-url disk0:/admin.cfg
context c1
allocate-interface GigabitEthernet0
allocate-interface GigabitEthernet1
config-url disk0:/c1.cfg
join-failover-group 1
context c2
allocate-interface GigabitEthernet2
allocate-interface GigabitEthernet3
config-url disk0:/c2.cfg
join-failover-group 2
ASA2粘貼後查看:
ASA2(config)# show run context
admin-context admin
context admin
config-url disk0:/admin.cfg
context c1
allocate-interface GigabitEthernet0
allocate-interface GigabitEthernet1
config-url disk0:/c1.cfg
join-failover-group 1
context c2
allocate-interface GigabitEthernet2
allocate-interface GigabitEthernet3
config-url disk0:/c2.cfg
join-failover-group 2

5、最後在做Failover的配置:
ASA1(config)# failover lan unit primary
ASA1(config)# failover lan interface FO g4
ASA1(config)# failover link FO g4
ASA1(config)# failover key cisco
ASA1(config)# failover interface ip FO 192.168.1.10 255.255.255.0 standby 192.168.1.20

ASA2(config)# failover lan unit secondary
ASA2(config)# failover lan interface FO g4
ASA2(config)# failover link FO g4
ASA2(config)# failover key cisco
ASA2(config)# failover interface ip FO 192.168.1.10 255.255.255.0 standby 192.168.1.20
確保ASA2的接口處於打開狀態後,開啟Failover功能:
ASA1(config)# failover
ASA2(config)# show failover
查看驗證:
ASA1(config)# show failover
ASA2(config)# show failover

自動協商有問題,手動調整:
ASA1(config)# failover active group 1
ASA2(config)# failover active group 2

測試:
ASA1(config)# changeto context c1
ASA1/c1(config)# ping 202.100.1.1 //可以Ping通
ASA1/c1(config)# ping 10.1.1.3 //可以Ping通

ASA2(config)# changeto context c2
ASA2/c2(config)# ping 202.100.2.2 //不能Ping通,和剛剛的Failover失敗有關系
ASA2/c2(config)# ping 10.1.2.3 //不能Ping通,和剛剛的Failover失敗有關系

測試1:
R3要訪問R1或者R2有相應的路由就可以搞定:
R3(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.10 //默認路由到ASA1的c1接口地址
R1(config)#line vty 0 4
R1(config-line)#password aa
R1(config-line)#login

在ASA1的C1子防火墻做一個端口NAT:
ASA1/c1(config)# object network inside
ASA1/c1(config-network-object)# subnet 10.1.1.0 255.255.255.0
ASA1/c1(config-network-object)# nat (inside,outside) dynamic interface

R3遠程登錄R1,因為R3有默認路由到ASA,R1不需要默認路由,只需要包能到達ASA的G0口就可以:
R3#telnet 202.100.1.1
Trying 202.100.1.1 ... Open
User Access Verification
Password:
R1>show users
Line User Host(s) Idle Location
0 con 0 idle 00:01:53
*130 vty 0 idle 00:00:00 202.100.1.10

同理:R3去訪問R2
R3(config)#ip route 202.100.2.0 255.255.255.0 10.1.2.10 //靜態路由到ASA2的c2子防火墻地址
R2(config)#line vty 0 6
R2(config-line)#password aa
R2(config-line)#login

ASA2/c2(config)# object network inside2
ASA2/c2(config-network-object)# subnet 10.1.2.0 255.255.255.0
ASA2/c2(config-network-object)# nat (inside,outside) dynamic interface
R3#telnet 202.100.2.10 //???
R2> show users //202.100.2.10 ???

異步路由問題:
3.3.3.3訪問1.1.1.1的一步路由問題:經過ASA的c1,到達R1的1.1.1.1,然後經過R2、ASA2再回到R3。
這樣其實也通不了:就是因為有異步路由。其實做Bypass可以,但是這樣ASA就沒意義了。
命令部署:
ASA1/c1(config)# route outside 1.1.1.0 255.255.255.0 202.100.1.1 //ASA1中的c1子防火墻去往1.1.1.1的路由
R1(config)#ip route 3.3.3.0 255.255.255.0 12.1.1.2 //R1去往3.3.3.3的路由,下一跳為R2連接的接口地址
R2(config)#ip route 3.3.3.0 255.255.255.0 202.100.2.10 //R2去往3.3.3.3的路由,下一跳為ASA2中的c2子防火墻地址;
ASA2/c2(config)# route inside 3.3.3.0 255.255.255.0 10.1.2.3 //ASA2中的c2去往3.3.3.3的路由,下一跳為R3連接的接口地址

ASA2/c2(config)# access-list out extended permit ip any any
ASA2/c2(config)# access-group out in interface outside

流量放行了,路由也有了:
R3#telnet 1.1.1.1 /source-interface loopback 0
Trying 1.1.1.1 ...
% Connection timed out; remote host not responding

結果:這個流量通不了的:原因就是因為序列號的原因,ASA1出去的序列號和ASA2回來的序列號是一樣的
ASA2/c2(config)# show access-list // 可以看到有匹配項,但是就是不通的。

解決方法:
R2到ASA2的C2後,通過內部操作到達ASA2的c1,其實c1是standby的方式。c1通過ASA2的G0口發回來,然後從ASA1的c1進來。ASA2的c1是standby沒關系,只要能把流量發給ASA1的主用c1就可以。

ASR‐Group配置
C1 Active:
ASA1/c1(config)# interface g0
ASA1/c1(config-if)# asr-group 1
C2 Active:
ASA2/c2(config)# interface g2
ASA2/c2(config-if)# asr-group 1

補一條:ASA1/c1(config)# route inside 3.3.3.0 255.255.255.0 10.1.1.3
R3#telnet 1.1.1.1 show users 3.3.3.3
這時候可以刪掉ASA2/c2 的組:interface G2;no asr-group 1,再去telnet 1.1.1.1,這時候就不行了

總結:跨越虛擬防火墻、跨越物理防火墻,思科防火墻可能覺得有這個問題,所以有這種技術;華為的防火墻不可以這麽做,它的防火墻兩個虛擬防火墻完全物理隔絕的,當然思科也是物理隔絕的,只不過思科有組這個例外,華為防火墻就沒有這個例外了。

28-思科防火墻:狀態化AA