NAT Cisco router с един или два провайдера на Интернет – част 1
NAT Cisco router с един или два провайдера на Интернет – част 1
производител: cisco
Тъй като ми се наложи няколко пъти досега да конфигурирам 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.
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 по подрабиране (това естествено се прави с „метриките“)
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


