NAT (обзор и примеры) — различия между версиями
Moiseevvi (обсуждение | вклад) (→NAT != proxy) |
Moiseevvi (обсуждение | вклад) (→NAT != proxy) |
||
Строка 1: | Строка 1: | ||
== NAT != proxy == | == NAT != proxy == | ||
+ | Это абсолютно разные технологии. Не путайте их. | ||
+ | |||
+ | = Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla = | ||
+ | |||
+ | <code> | ||
+ | ! | ||
+ | username ИМЯ password 0 ПАРОЛЬ | ||
+ | enable secret 0 ПАРОЛЬКОНФИГА | ||
+ | ! | ||
+ | ! контроль входа на маршрутизатор | ||
+ | line vty 0 4 | ||
+ | login local | ||
+ | ! | ||
+ | ! ДХЦП | ||
+ | ip dhcp pool LAN | ||
+ | network ВнутрСеть Маска | ||
+ | default-router Шлюз | ||
+ | dns-server 1.1.1.1 | ||
+ | ! DNS - фиктивный придумали | ||
+ | ! | ||
+ | ! | ||
+ | ! Монитор пинга на адрес шлюза провайдера-1 | ||
+ | ! Ждать ответа 50 мс | ||
+ | ! Пинговать с частотой 1 секунда | ||
+ | ip sla monitor 1 | ||
+ | type echo protocol ipIcmpEcho ШлюзПров1 | ||
+ | timeout 50 | ||
+ | frequency 1 | ||
+ | ! | ||
+ | ! Монитор пинга на провайдера-2 | ||
+ | ip sla monitor 2 | ||
+ | type echo protocol ipIcmpEcho ШлюзПров2 | ||
+ | timeout 50 | ||
+ | frequency 1 | ||
+ | ! | ||
+ | ! Запуск пинговалок 1 и 2, сейчас и навсегда | ||
+ | ip sla monitor schedule 1 life forever start-time now | ||
+ | ip sla monitor schedule 2 life forever start-time now | ||
+ | ! | ||
+ | ! Трэки 10 и 20 - отслеживание состояния пинговалок | ||
+ | ! Реагирует на состояние Down или Up с задержкой 1 сек. | ||
+ | track 10 rtr 1 reachability | ||
+ | delay down 1 up 1 | ||
+ | ! | ||
+ | track 20 rtr 2 reachability | ||
+ | delay down 1 up 1 | ||
+ | ! | ||
+ | ! | ||
+ | ! Маршруты на все внешние сети на обоих провайдеров | ||
+ | ! Маршруты привязаны к трэкам | ||
+ | ! и будут активироваться только если трэк в состоянии Up | ||
+ | ! т.е. если шлюз на соответствующего провайдера доступен | ||
+ | ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10 | ||
+ | ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20 | ||
+ | ! | ||
+ | ! | ||
+ | ! | ||
+ | int fa 0/0 | ||
+ | no shut | ||
+ | ! | ||
+ | ! Саб-интерфейсы в сторону внешних провайдеров | ||
+ | ! помечаются как outside для NAT | ||
+ | interface FastEthernet0/0.1 | ||
+ | description ISP1 | ||
+ | encapsulation dot1Q НомерВланПров1 | ||
+ | ip address ipНаПров1 Маска | ||
+ | ip nat outside | ||
+ | ! | ||
+ | interface FastEthernet0/0.2 | ||
+ | description ISP2 | ||
+ | encapsulation dot1Q НомерВланПров2 | ||
+ | ip address ipНаПров1 Маска | ||
+ | ip nat outside | ||
+ | ! | ||
+ | ! Интерфейс на внутр сеть | ||
+ | ! помечается как inside для NAT | ||
+ | ! Привязывается политика маршрутизации PBR | ||
+ | interface FastEthernet0/1 | ||
+ | ip address ipНаВнутрСеть маска | ||
+ | ip nat inside | ||
+ | ip policy route-map PBR | ||
+ | no shut | ||
+ | ! | ||
+ | ! Аксесс-листы из внутр сети наружу | ||
+ | ! На веб-трафик и на все остальное | ||
+ | ip access-list extended LOCAL | ||
+ | permit ip внутрСеть any | ||
+ | ! | ||
+ | ip access-list extended WEB | ||
+ | permit tcp внутрСеть any eq www | ||
+ | permit tcp внутрСеть any eq 443 | ||
+ | ! | ||
+ | ip access-list extended ALL | ||
+ | permit ip any any | ||
+ | ! | ||
+ | ! | ||
+ | ! хитрый рут-мап PBR | ||
+ | ! Если трафик из локалки на Веб | ||
+ | ! то назначить ему шлюзом первого провайдера | ||
+ | ! Иначе, прочему трафику из локалки | ||
+ | ! назначить шлюзом второго провайдера. | ||
+ | ! При назначении шлюза проверяются Трэки | ||
+ | route-map PBR permit 10 | ||
+ | match ip address WEB | ||
+ | set ip next-hop verify-availability ШлюзПров1 1 track 10 | ||
+ | ! | ||
+ | route-map PBR permit 20 | ||
+ | match ip address ALL | ||
+ | set ip next-hop verify-availability ШлюзПров2 1 track 20 | ||
+ | ! | ||
+ | ! | ||
+ | ! хитрый рут-мап ISP1 | ||
+ | ! срабатывает если трафик из локалки | ||
+ | ! пытается выйти через интерфейс Fa0/0.1 | ||
+ | route-map ISP1 permit 10 | ||
+ | match ip address LOCAL | ||
+ | match interface FastEthernet0/0.1 | ||
+ | ! | ||
+ | ! хитрый рут-мап ISP2 | ||
+ | ! срабатывает если трафик из локалки | ||
+ | ! пытается выйти через интерфейс Fa0/0.2 | ||
+ | route-map ISP2 permit 10 | ||
+ | match ip address LOCAL | ||
+ | match interface FastEthernet0/0.2 | ||
+ | ! | ||
+ | ! | ||
+ | ! Наконец, NAT ;-) | ||
+ | ! | ||
+ | ! Трафик из локалки в первого провайдера Натить через первый интерфейс | ||
+ | ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload | ||
+ | ! | ||
+ | ! Трафик из локалки во второго провайдера Натить через второй интерфейс | ||
+ | ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload | ||
+ | ! | ||
+ | ! Трафик на фиктивный ДНС переНатить на Гугл-ДНС | ||
+ | ip nat outside source static 8.8.8.8 1.1.1.1 no-alias | ||
+ | ! | ||
+ | ! проброс внутреннего порта 3389 на внешний порт 1111 | ||
+ | ip nat inside source static tcp внутрХост 3389 внешip 1111 extendable | ||
+ | ip nat inside source static tcp внутрХост 3389 внешip 1111 extendable | ||
+ | ! | ||
+ | ! | ||
+ | </code> | ||
[[Категория:Сети]] | [[Категория:Сети]] | ||
[[Category:Cisco]] [[Category:NAT]] | [[Category:Cisco]] [[Category:NAT]] |
Версия 10:10, 7 ноября 2013
NAT != proxy
Это абсолютно разные технологии. Не путайте их.
Резервирование интернет-канала от двух провайдеров при помощи NAT, ip sla
!
username ИМЯ password 0 ПАРОЛЬ
enable secret 0 ПАРОЛЬКОНФИГА
!
! контроль входа на маршрутизатор
line vty 0 4
login local
!
! ДХЦП
ip dhcp pool LAN
network ВнутрСеть Маска
default-router Шлюз
dns-server 1.1.1.1
! DNS - фиктивный придумали
!
!
! Монитор пинга на адрес шлюза провайдера-1
! Ждать ответа 50 мс
! Пинговать с частотой 1 секунда
ip sla monitor 1
type echo protocol ipIcmpEcho ШлюзПров1
timeout 50
frequency 1
!
! Монитор пинга на провайдера-2
ip sla monitor 2
type echo protocol ipIcmpEcho ШлюзПров2
timeout 50
frequency 1
!
! Запуск пинговалок 1 и 2, сейчас и навсегда
ip sla monitor schedule 1 life forever start-time now
ip sla monitor schedule 2 life forever start-time now
!
! Трэки 10 и 20 - отслеживание состояния пинговалок
! Реагирует на состояние Down или Up с задержкой 1 сек.
track 10 rtr 1 reachability
delay down 1 up 1
!
track 20 rtr 2 reachability
delay down 1 up 1
!
!
! Маршруты на все внешние сети на обоих провайдеров
! Маршруты привязаны к трэкам
! и будут активироваться только если трэк в состоянии Up
! т.е. если шлюз на соответствующего провайдера доступен
ip route 0.0.0.0 0.0.0.0 ШлюзПров1 track 10
ip route 0.0.0.0 0.0.0.0 ШлюзПров2 track 20
!
!
!
int fa 0/0
no shut
!
! Саб-интерфейсы в сторону внешних провайдеров
! помечаются как outside для NAT
interface FastEthernet0/0.1
description ISP1
encapsulation dot1Q НомерВланПров1
ip address ipНаПров1 Маска
ip nat outside
!
interface FastEthernet0/0.2
description ISP2
encapsulation dot1Q НомерВланПров2
ip address ipНаПров1 Маска
ip nat outside
!
! Интерфейс на внутр сеть
! помечается как inside для NAT
! Привязывается политика маршрутизации PBR
interface FastEthernet0/1
ip address ipНаВнутрСеть маска
ip nat inside
ip policy route-map PBR
no shut
!
! Аксесс-листы из внутр сети наружу
! На веб-трафик и на все остальное
ip access-list extended LOCAL
permit ip внутрСеть any
!
ip access-list extended WEB
permit tcp внутрСеть any eq www
permit tcp внутрСеть any eq 443
!
ip access-list extended ALL
permit ip any any
!
!
! хитрый рут-мап PBR
! Если трафик из локалки на Веб
! то назначить ему шлюзом первого провайдера
! Иначе, прочему трафику из локалки
! назначить шлюзом второго провайдера.
! При назначении шлюза проверяются Трэки
route-map PBR permit 10
match ip address WEB
set ip next-hop verify-availability ШлюзПров1 1 track 10
!
route-map PBR permit 20
match ip address ALL
set ip next-hop verify-availability ШлюзПров2 1 track 20
!
!
! хитрый рут-мап ISP1
! срабатывает если трафик из локалки
! пытается выйти через интерфейс Fa0/0.1
route-map ISP1 permit 10
match ip address LOCAL
match interface FastEthernet0/0.1
!
! хитрый рут-мап ISP2
! срабатывает если трафик из локалки
! пытается выйти через интерфейс Fa0/0.2
route-map ISP2 permit 10
match ip address LOCAL
match interface FastEthernet0/0.2
!
!
! Наконец, NAT ;-)
!
! Трафик из локалки в первого провайдера Натить через первый интерфейс
ip nat inside source route-map ISP1 interface FastEthernet0/0.1 overload
!
! Трафик из локалки во второго провайдера Натить через второй интерфейс
ip nat inside source route-map ISP2 interface FastEthernet0/0.2 overload
!
! Трафик на фиктивный ДНС переНатить на Гугл-ДНС
ip nat outside source static 8.8.8.8 1.1.1.1 no-alias
!
! проброс внутреннего порта 3389 на внешний порт 1111
ip nat inside source static tcp внутрХост 3389 внешip 1111 extendable
ip nat inside source static tcp внутрХост 3389 внешip 1111 extendable
!
!