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