Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Сравнить с текущим
просмотр истории страницы
Версия 1
Следующий »
В разделе рассматривается решение задачи организации доступа к сети Интернет. Предполагается, что каждый ISP будет анонсировать про протоколу BGP маршрут по умолчанию. Также предполагается, что каждый провайдер выдает пул публичных адресов для организации NAT-трансляций на пограничных маршрутизаторах. Для мониторинга доступности ресурсов Интернет будет задействован механизм IP SLA. Решение текущей задачи разделено на следующие этапы:

Настройка доступа к локальной сети
Для увеличения доступности маршрутизаторов в сети воспользуемся протоколом VRRP. Объединим группы маршрутизаторов в один виртуальный маршрутизатор и назначим им общий IP-адрес, который и будет использоваться как шлюз по умолчанию для клиентских сетей. В процессе настройки сделаем маршрутизатор ESR1 VRRP-мастером. Далее настроим терминацию клиентского трафика, которая будет производиться на соответствующем саб-интерфейсе агрегированного канала.
security zone Customer
security zone-pair Customer self
rule 10
action permit
match protocol vrrp
enable
exit
rule 20
action permit
match protocol icmp
enable
exit
exit
interface port-channel 1.100
vrrp id 1
vrrp ip 10.100.0.1/24
vrrp priority 101
vrrp group 1
vrrp preempt disable
vrrp
exit
security zone Customer
security zone-pair Customer self
rule 10
action permit
match protocol vrrp
enable
exit
rule 20
action permit
match protocol icmp
enable
exit
exit
interface port-channel 1.100
vrrp id 1
vrrp ip 10.100.0.1/24
vrrp group 1
vrrp preempt disable
vrrp
exit
Настройка BGP
Рассмотрим распространенный вариант организации стыка с интернет-провайдером — использование протокола BGP. При организации пиринга отфильтруем получаемую маршрутную информацию по протоколу BGP: разрешим только маршрут по умолчанию. Для сокращения времени определения недоступности BGP-пира рекомендуется использовать протокол BFD.
security zone-pair Untrusted self
rule 10
action permit
match protocol tcp
match destination-port port-range 179
enable
exit
rule 20
action permit
match protocol udp
match destination-port port-range 3784
enable
exit
exit
route-map BGP_IN
rule 10
match ip address 0.0.0.0/0
exit
rule 20
action deny
exit
exit
router bgp 64515
neighbor 203.0.113.1
remote-as 65500
update-source gigabitethernet 1/0/1
fall-over bfd
address-family ipv4 unicast
route-map BGP_IN in
enable
exit
enable
exit
enable
exit
security zone-pair Untrusted self
rule 10
action permit
match protocol tcp
match destination-port port-range 179
enable
exit
rule 20
action permit
match protocol udp
match destination-port port-range 3784
enable
exit
exit
route-map BGP_IN
rule 10
match ip address 0.0.0.0/0
exit
rule 20
action deny
exit
exit
router bgp 64515
neighbor 203.0.113.129
remote-as 65400
update-source gigabitethernet 1/0/1
fall-over bfd
address-family ipv4 unicast
route-map BGP_IN in
enable
exit
enable
exit
enable
exit
Проверим, что BGP-соседство установлено, и маршрут по умолчанию присутствует на обоих маршрутизаторах:
ESR1# sh bgp neighbors
BGP neighbor is 203.0.113.1
BGP state: Established
Type: Static neighbor
Neighbor address: 203.0.113.1
Neighbor AS: 65500
Neighbor ID: 8.8.8.8
Neighbor caps: refresh enhanced-refresh restart-aware AS4
Session: external AS4
Source address: 203.0.113.2
Weight: 0
Hold timer: 108/180
Keepalive timer: 27/60
RR client: No
Address family ipv4 unicast:
Send-label: No
Default originate: No
Default information originate: No
Incoming route-map: BGP_IN
Preference: 170
Remove private AS: No
Next-hop self: No
Next-hop unchanged: No
Uptime (d,h:m:s): 01,16:16:19
BFD address: 203.0.113.1
BFD state: Up
BFD interval: 0.300 s
BFD timeout: 1.500 s
ESR1# sh bgp ipv4 unicast neighbor 203.0.113.1 routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 0.0.0.0/0 203.0.113.1 -- 100 0 65500 ?
ESR2# sh bgp neighbors
BGP neighbor is 203.0.113.129
BGP state: Established
Type: Static neighbor
Neighbor address: 203.0.113.129
Neighbor AS: 65400
Neighbor ID: 203.0.113.129
Neighbor caps: refresh enhanced-refresh restart-aware AS4
Session: external AS4
Source address: 203.0.113.130
Weight: 0
Hold timer: 137/180
Keepalive timer: 31/60
RR client: No
Address family ipv4 unicast:
Send-label: No
Default originate: No
Default information originate: No
Incoming route-map: BGP_IN
Preference: 170
Remove private AS: No
Next-hop self: No
Next-hop unchanged: No
Uptime (d,h:m:s): 00,18:07:05
BFD address: 203.0.113.129
BFD state: Up
BFD interval: 0.300 s
BFD timeout: 1.500 s
ESR2# sh bgp ipv4 unicast neighbor 203.0.113.129 routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 0.0.0.0/0 203.0.113.129 -- 100 0 65400 ?
Настройка проверки работоспособности канала
Одним из вариантов проверки работоспособности канала связи является проверка доступности ресурсов в сети Интернет. В рамках задачи настроим несколько IP SLA-тестов, по результатам которых будем определять, подходит ли данный узел для работы в сети Интернет.
Ниже приведена настройка IP SLA-тестов на основном маршрутизаторе ESR1:
ip sla
ip sla logging status
ip sla test 1
icmp-echo 8.8.4.4 source-ip 203.0.113.2 num-packets 5
enable
exit
ip sla test 2
icmp-echo 77.88.44.242 source-ip 203.0.113.2 num-packets 5
enable
exit
ip sla schedule all life forever start-time now
С помощью track-менеджера настроим реакцию на IP-SLA тесты: если оба теста завершились ошибочно, переключаемся на резервный канал, меняя VRRP-мастера.
track 1
description "Check Internet"
track sla test 1 mode state fail
track sla test 2 mode state fail
enable
exit
interface port-channel 1.100
vrrp priority track 1 decrement 10
exit
interface port-channel 1.300
vrrp priority track 1 decrement 10
exit
Проверить статус IP SLA тестов и состояние track-менеджера можно следующим образом:
ESR1# sh ip sla test status
Test Type Source Destination Status Last Run Description
------- ------------ ------------------------------------ ------------------------------------ ------------ ------------------- --------------------
1 icmp-echo 203.0.113.2 8.8.4.4 Fail 2024-02-16 14:02:12 --
2 icmp-echo 203.0.113.2 77.88.44.242 Successful 2024-02-16 14:02:09 --
ESR1# sh track 1
Track 1:
State: Down
Changes count: 3 (last 12081,10:48:29)
Mode: And
Delay up: 0s
Delay down: 0s
Description: Check Internet
Conditions:
Type ID State Mode Last change (d,h:m:s) VRF
--------- -------------------- ----- -------------- ------------------------- --------------------------------
SLA 2 False State fail 00,10:48:29 --
SLA 1 True State fail 00,10:48:29 --
Actions:
VRRPs:
ID 1 priority of the interface port-channel 1.100 : 101
Настройка Source NAT
Функция Source NAT (SNAT) используется для подмены адреса источника у пакетов, проходящих через сетевой шлюз. При прохождении пакетов из локальной сети в публичную сеть адрес источника заменяется на один из публичных адресов шлюза. Дополнительно к адресу источника может применяться замена порта источника. При прохождении пакетов из публичной сети в локальную происходит обратная подмена адреса и порта.
В текущей схеме SNAT используется для предоставления доступа в Интернет хостам, находящимся в локальной сети. Приведем пример настройки SNAT для клиентов Customer. Соответствующая подсеть будет натироваться в свой публичный адрес, предоставленный интернет-провайдером.
Создадим профиль адресов локальный сети, для которых будет выполняться SNAT:
object-group network Customers_POOL
ip prefix 10.100.0.0/24
exit
object-group network Customers_POOL
ip prefix 10.100.0.0/24
exit
Опишем профиль публичных адресов, предоставленных интернет-провайдерами:
object-group network Public_POOL
ip address-range 203.0.113.2-203.0.113.126
exit
object-group network Public_POOL
ip address-range 203.0.113.130-203.0.113.254
exit
Настроим прохождение клиентского трафика между соответствующими зонами безопасности:
security zone-pair Customer Untrusted
rule 10
action permit
match source-address object-group Customers_POOL
enable
exit
exit
security zone-pair Customer Untrusted
rule 10
action permit
match source-address object-group Customers_POOL
enable
exit
exit
Сконфигурируем непосредственно SNAT:
nat source
pool Customer_Public_IP
ip address-range 203.0.113.3
exit
ruleset SNAT
to zone Untrusted
rule 10
match source-address object-group Customers_POOL
action source-nat pool Customer_Public_IP
enable
exit
exit
exit
nat source
pool Customer_Public_IP
ip address-range 203.0.113.130
exit
ruleset SNAT
to zone Untrusted
rule 10
match source-address object-group Customers_POOL
action source-nat pool Customer_Public_IP
enable
exit
exit
exit
Для просмотра cконфигурированного функционала и текущих NAT-трансляций можно воспользоваться следующими командами:
ESR1# sh ip nat source rulesets SNAT
Description: --
VRF: --
To: zone 'Untrusted'
Rules:
------
Order: 10
Description: --
Matching pattern:
Protocol: any
Source address: 10.100.0.0/24
Destination address: any
Action: pool Customer_Public_IP
Status: Enabled
--------------------------------------------------------------------------------
ESR1# sh ip nat translations
Prot Inside source Inside destination Outside source Outside destination Pkts Bytes
---- --------------------- --------------------- --------------------- --------------------- ---------- ----------
icmp 10.100.0.100 8.8.8.8 203.0.113.3 8.8.8.8 -- --
Настройка коммутаторов уровня ядра
vlan database
vlan 100
exit
!
interface vlan 100
name Internet
exit
!
interface range Port-Channel1-5
switchport general allowed vlan add 100
exit
!
vlan database
vlan 100
exit
!
interface vlan 100
name Internet
exit
!
interface range Port-Channel1-5
switchport general allowed vlan add 100
exit
!
Создание пользовательской VLAN для сервиса Интернет
Добавление VLAN в Port-Channel
Настройка коммутаторов уровня агрегации
vlan database
vlan 100
exit
!
interface vlan 100
name Internet
exit
!
interface range Port-Channel1-4
switchport general allowed vlan add 100
exit
!
Создание пользовательской VLAN для сервиса Интернет
Добавление VLAN в Port-Channel
Настройка коммутаторов уровня доступа
vlan database
vlan 100
exit
!
interface vlan 100
name Internet
exit
!
interface Port-Channel1
switchport general allowed vlan add 100
exit
!
interface range GigabitEthernet1/0/1-24
switchport general allowed vlan add 100 untagged
switchport general pvid 100
exit
!
Создание пользовательской VLAN для сервиса Интернет
Добавление VLAN в Port-Channel
Добавление VLAN для сервиса Интернет на клиентский порт со снятием метки на выходе
Помещение нетегированного трафика на порту во VLAN 100