NAT Cisco router с един или два провайдера на Интернет – част 1

NAT Cisco router с един или два провайдера на Интернет – част 1

производител: cisco

cisco1811-2

Тъй като ми се наложи няколко пъти досега да конфигурирам nat cisco router в подобна схема оказа се, че за мен документацията на фирмата не е от най интуитивните. Обикновенно намирах решенията в разни блогове,
в които добри хора са постнали житейския си опит със Cisco IOS. По тази причина счетох за нужно да направя същото и аз.

NAT Cisco router с един доставчик на Интернет

Разполагам със Cisco 1811 и нужните два WAN с един осем портов swich. За да конфигурирам LAN в осем портовия swich ще вдигна на access един VLAN 10 с DHCP сървър. LAN мрежата ще е 192.168.10.0/24 от които динамичните адреси ще са само от 192.168.10.51 до 192.168.10.97 (останалите адреси в пула ще са статични за други цели). В DHCP сървъра съм добавил и два статични пула sami и ana на клиенти, на които се налага да получават динамично винаги един и същ адрес. Често това се налага когато клиенските устройства са смартфон, таблет или лаптоп до който другите участници в мрежата трябва да имат достъп. WAN порта в първата конфигурация ще е DHCP client с “ръчно” указан MAC адрес и hostname cisco.

cisco1811

ip dhcp excluded-address 192.168.10.2 192.168.10.50
ip dhcp excluded-address 192.168.10.100 192.168.10.254
!
ip dhcp pool pool1
   network 192.168.10.0 255.255.255.0
   default-router 192.168.10.1 
   dns-server 8.8.4.4 8.8.8.8 
!
ip dhcp pool ana
   host 192.168.10.98 255.255.255.0
   hardware-address dc85.dedc.8f33
   client-name ana
!
ip dhcp pool sami
   host 192.168.10.99 255.255.255.0
   hardware-address f82f.a8d7.4a49
   client-name sami             
!         
interface FastEthernet0
 description WAN
 mac-address dc9f.db29.78d3
 ip dhcp client client-id ascii cisco
 ip address dhcp
 ip nat outside
 ip virtual-reassembly
 duplex auto
 speed auto
!         
interface FastEthernet2
 switchport access vlan 10
!         
interface FastEthernet3
 switchport access vlan 10
!         
interface FastEthernet4
 switchport access vlan 10
!         
interface FastEthernet5
 switchport access vlan 10
!         
interface FastEthernet6
 switchport access vlan 10
!         
interface FastEthernet7
 switchport access vlan 10
!         
interface FastEthernet8
 switchport access vlan 10
!         
interface FastEthernet9
 switchport access vlan 10
!         
interface Vlan10
 description LAN
 ip address 192.168.10.1 255.255.255.0
 ip nat inside
 ip virtual-reassembly
 ip tcp adjust-mss 1452
!         
ip nat inside source list 1 interface FastEthernet0 overload
!         
access-list 1 permit 192.168.10.0 0.0.0.255
!

NAT Cisco router с два доставчика на Интернет

В реални условия по сериозни фирми, в които загубата на Интернет свързаност е критична за фирмата се ползват два провайдера. Решението да имаш два независими един от друг доставчика на Интернет винаги е било по добро от един на бизнес тарифа защото въпроса обикновенно освен до добра свързаност към глобалната мрежа опира и до отказоусточивост. В Cisco IOS е невъзможно да “мапнем” два WAN порта в една LAN access-list, поради което ще използваме route-map. В тази конфигурация и двата WAN порта са със статични ип адреси и причината за това е, че искам аз да управлявам маршрутната таблица на рутера в частност провайдер №1 GCN ще е резервен, а провайдер №2 MTEL по подрабиране (това естествено се прави с “метриките”)

cisco1811-2wan

ip dhcp excluded-address 192.168.10.2 192.168.10.50
ip dhcp excluded-address 192.168.10.100 192.168.10.254
!
ip dhcp pool ana
   host 192.168.10.98 255.255.255.0
   hardware-address dc85.dedc.8f33
   client-name ana
!         
ip dhcp pool sami
   host 192.168.10.99 255.255.255.0
   hardware-address f82f.a8d7.4a49
   client-name sami
!         
ip dhcp pool pool1
   network 192.168.10.0 255.255.255.0
   default-router 192.168.10.1 
   dns-server 8.8.4.4 8.8.8.8      
!         
ip name-server 8.8.4.4
ip name-server 8.8.8.8
!
interface FastEthernet0
 description GCN
 mac-address dc9f.db29.78d3
 ip address 10.125.3.2 255.255.255.0
 ip nat outside
 ip virtual-reassembly
 duplex auto
 speed auto
!         
interface FastEthernet1
 description MTEL
 mac-address dc9f.db29.78d2
 ip address 85.118.95.35 255.255.255.224
 ip nat outside
 ip virtual-reassembly
 duplex auto
 speed auto
!         
interface FastEthernet2
 switchport access vlan 10
!         
interface FastEthernet3
 switchport access vlan 10
!         
interface FastEthernet4
 switchport access vlan 10
!         
interface FastEthernet5
 switchport access vlan 10
!         
interface FastEthernet6
 switchport access vlan 10 
!         
interface FastEthernet7
 switchport access vlan 10
!         
interface FastEthernet8
 switchport access vlan 10
!         
interface FastEthernet9
 switchport access vlan 10
!               
interface Vlan10
 description LAN
 ip address 192.168.10.1 255.255.255.0
 ip nat inside
 ip virtual-reassembly
 ip tcp adjust-mss 1452
!         
ip route 0.0.0.0 0.0.0.0 85.118.95.33
ip route 0.0.0.0 0.0.0.0 10.125.3.1 2
!         
ip nat inside source route-map GCN interface FastEthernet0 overload
ip nat inside source route-map MTEL interface FastEthernet1 overload
!         
access-list 1 permit 192.168.10.0 0.0.0.255
!         
route-map MTEL permit 10
 match ip address 1
 match interface FastEthernet1
!         
route-map GCN permit 10
 match ip address 1
 match interface FastEthernet0
!

port forwardind

port forwardind-га или DMZ са неизменна част от съвремения nat cisco router. Винаги има нужда от достъп до офиса или във фирмата зад рутера, а имено видеонаблюдение, локален сървър или някакъв друг ресурс.

!
ip nat inside source static tcp 192.168.10.254 80 interface FastEthernet1 80
ip nat inside source static tcp 192.168.10.99 22 interface FastEthernet1 22
ip nat inside source static tcp 192.168.10.98 3389 interface FastEthernet1 3389
!

DMZ WAN global address

!
ip nat inside source static 192.168.10.254 85.118.95.35 route-map MTEL
!

DMZ WAN global interface

!
ip nat inside source static 192.168.10.254 interface FastEthernet1
!

failover в command line стъпка по стъпка

На практика ние имаме механизъм, в който сме осигурили срива на основния доставчик автоматично да се вдигне резервния, (failover) но той е доста примитивен, защото ще сработи само ако угасне WAN порта на основния доставчик. Ясно е, че номера с метриките тук няма да сработи ако имаме свързаност с основния доставчик а той има проблем с Интернет. В Cisco IOS има механизъм, който може да следи произволен обект в Интернет и да е играе отправна точка за нас осигурявайки ни информация, имаме ли Интернет свързаност и ако нямаме да активира резервния доставчик. За да е по ясно, ще дам пример какво трябва да изпълним стъпка по стъпка в командния интерфейс, за да стартираме механизма failover.

cisco#configure 
Configuring from terminal, memory, or network [terminal]? 
Enter configuration commands, one per line.  End with CNTL/Z.
cisco(config)#ip sla 100
cisco(config-ip-sla)#icmp-echo 8.8.4.4 source-interface fastEthernet 1
cisco(config-ip-sla-echo)#timeout 500
cisco(config-ip-sla-echo)#frequency 10
cisco(config-ip-sla-echo)#exit  
cisco(config)#ip sla schedule 100 life forever start-time now 
cisco(config)#track 100 rtr 100 reachability 
cisco(config-track)#delay down 10 up 20
cisco(config-track)#exit
cisco(config)#no ip route 0.0.0.0 0.0.0.0 85.118.95.33
cisco(config)#ip route 0.0.0.0 0.0.0.0 85.118.95.33 track 100
cisco(config)#ip route 8.8.4.4 255.255.255.255 85.118.95.33
cisco(config)#end
cisco#wr
Building configuration...
[OK]

Важно е да се обърне внимание на това, че изтривам маршрута на основния доставчик добавяйки го отново с опцията track както и че добавям още един маршрут към обекта който следим в случая 8.8.4.4 също през основния доставчик. Адреса 8.8.4.4 ще го виждаме само през MTEL и сривайки се трасето по пътя към него ще активира нашия failover.

failover – running-config

Така изглежда моят failover в конфигурационния файл на рутера. Имам създаден track с номер 100. “delay down 10 up 20” е периода в секунди, през който системата ше промени маршрутната таблица на рутера. “icmp-echo 8.8.4.4 source-interface FastEthernet1” показва, че с протокола icmp през интерфейс FastEthernet1 ще следим адреса 8.8.4.4. Системата ще се задейства ако латенсито достигне 500ms (timeout 500) и тази операция се извършва на всеки 10 секунди (frequency 10)

!         
track 100 rtr 100 reachability
 delay down 10 up 20
!         
ip route 0.0.0.0 0.0.0.0 85.118.95.33 track 100
ip route 0.0.0.0 0.0.0.0 10.125.3.1 200
ip route 8.8.4.4 255.255.255.255 85.118.95.33
!
ip sla 100
 icmp-echo 8.8.4.4 source-interface FastEthernet1
 timeout 500
 frequency 10
ip sla schedule 100 life forever start-time now
!

Общо взето системата е доста интелигентна, за да следи не само физическата свързаност с хоста 8.8.4.4 а дори и качеството и, с опцията timeout (ms) в ip sla. Failover-а ще се задейства не само при падането на обекта, който следим, но при лоша свързаност – в случая 500 милисекунди.

failover – тест на конфигурацията

Момента в който решим да проверим какво сме “счупили” идва с набор от няколко команди в enable режим:

Вдигнат ли ни е маршрута към основния доставчик ?

cisco#show ip route track-table 
 ip route 0.0.0.0 0.0.0.0 85.118.95.33 track 100 state is [up]

Стандартен поглед на маршрутната таблица !

cisco#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route
 
Gateway of last resort is 85.118.95.33 to network 0.0.0.0
 
     85.0.0.0/27 is subnetted, 1 subnets
C       85.118.95.32 is directly connected, FastEthernet1
C    192.168.10.0/24 is directly connected, Vlan10
     8.0.0.0/32 is subnetted, 1 subnets
S       8.8.4.4 [1/0] via 85.118.95.33
     10.0.0.0/24 is subnetted, 1 subnets
C       10.125.3.0 is directly connected, FastEthernet0
S*   0.0.0.0/0 [1/0] via 85.118.95.33

Състояние и история на track маршрута

cisco#show track 
Track 100
  Response Time Reporter 100 reachability
  Reachability is Up
    5 changes, last change 00:22:18
  Delay up 20 secs, down 10 secs
  Latest operation return code: OK
  Latest RTT (millisecs) 4
  Tracked by:
    STATIC-IP-ROUTING 0

Състояние и история на системата за следене

cisco#show ip sla statistics 
 
Round Trip Time (RTT) for	Index 100
	Latest RTT: 4 milliseconds
Latest operation start time: 22:16:39.912 EET Tue Dec 2 2014
Latest operation return code: OK
Number of successes: 38
Number of failures: 0
Operation time to live: Forever

failover във версия 15.1 на IOS

В по новите версии на Cisco IOS по специално след 12.4 има известни промени в ip sla. В текущата 15.1 версия failover-а ще изглежда така:

!
track 100 ip sla 100 reachability
 delay down 10 up 20
!         
track 200 ip sla 200 reachability
 delay down 10 up 20
! 
ip route 0.0.0.0 0.0.0.0 85.118.95.33 2 track 100
ip route 0.0.0.0 0.0.0.0 10.125.3.1 track 200
ip route 8.8.4.4 255.255.255.255 85.118.95.33
ip route 8.8.8.8 255.255.255.255 10.125.3.1
!
ip sla 100
 icmp-echo 8.8.4.4
 frequency 10
ip sla schedule 100 life forever start-time now
ip sla 200
 icmp-echo 8.8.8.8
 frequency 10
ip sla schedule 200 life forever start-time now
!

Cisco IOS никога не е била моята “чаша Бърбън” но безпорно има добри решения в нея …

NAT Cisco router с един или два провайдера на Интернет – част 1

nat cisco router

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.