Недавно возникла необходимость в виртуальном маршрутизаторе с 3мя интерфейсами, глядящими в три разные подсети. Первоначально решение вопроса казалось легким и непринужденным - прописать статические маршруты, но в процессе работы стало очевидно, что интерфесы пытаются отдать трафик через тот же интерфейс, с которого они его получили. То есть маршрутизатор не маршрутизировал.
Были сделаны такие сетевые настройки:
/etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.221.17
netmask 255.255.255.0
network 192.168.221.0
broadcast 192.168.221.255
gateway 192.168.221.253
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.221.105
#dns-search citrix.demo
auto eth1
iface eth1 inet static
address 192.168.223.1
netmask 255.255.255.128
network 192.168.221.0
broadcast 192.168.221.127
up route add -net 192.168.222.0/24 gw 192.168.223.10 dev eth1
auto eth2
iface eth2 inet static
address 192.168.223.129
netmask 255.255.255.128
network 192.168.221.128
broadcast 192.168.221.255
дополнительно же было необходимо раскоментировать строчку в
/etc/sysctl.conf
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
После этого виртуальный роутер заработал.
вторник, 8 июня 2010 г.
пятница, 15 января 2010 г.
Базовые настройки Linksys SPA 3102/2102 с аналогового телефона (кусок мануала).
Иногда приходится сталкиваться с ситуациями, когда неизвестно, какой адрес назначен голосовому шлюзу, или его нужно оперативно сбросить к заводским настройкам, а диска с мануалом под рукой нет.
Итак - выдержки из мануала для сервисного меню:
**** - вход в режим голосового интерфейса (эти 4 "звездочки", астериска набираются в тональном режиме, поэтому для телефонов, имеющих по умолчанию настройку импульсного набора нужно будет набрать еще одну - первая переведет в тональник, остальные 4 в меню).
Женским голосом на нагицком наречии будут даваться краткие инструкции, типа, после ввода кода подтвердите "решеткой" - шарпом, также сохранение настроек - 1, иногда за основным кодом, предоставляющим выбор настройки будет следовать субкод (одноциферный).
100 - Узнать тип WAN подключения (скажут DHCP / Static / PPPoE), вообще 1хх для WAN'а
110 - проговаривается WAN IP адрес
120 - маска
130 - шлюз по умолчанию
140 - узнать mac адрес
150 - версия прошивки
160 - адрес первичного DNS
170 - номер порта для веб-морды
101 - выставить тип подключения (0 - DHCP, 1 - Static IP, 2 - PPPoE)
111 - выставить статический адрес (точки в адресе - астериском *)
121 - выставить маску
131 - выставить шлюз
161 - выставить DNS
210 - прослушать локальный адрес (2хх - для LAN сегмента)
201 - установить режим работы (0 - c NAT'ом, как маршрутизатор, 1 - мостовое соединение bridge)
7932 - доступ к настройкам извне (0 - разрешить, 1 - запретить)
732668 - ручная перезагрузка
73738 - сброс к заводским настройкам (1 - подтверждение, * - отмена)
877778 - User Factory Reset (его половой функции так и не понял - вроде бы сделать текущие настройки заводскими он не позволяет)
При выборе внешненго подключения по PPPoE - нужно быть готовым к сексу с набором имени пользователя и пароля с телефонной клавиатуры...
В качестве примера быстрая настройка шлюза для доступа на него с телефона с импульсным набором (выставляем статический адрес и даем доступ на веб интерфейс с WAN):
*****101#1#1 111#192*168*0*11#1 121#255*255*255*0#1 7932#1#1
Итак - выдержки из мануала для сервисного меню:
**** - вход в режим голосового интерфейса (эти 4 "звездочки", астериска набираются в тональном режиме, поэтому для телефонов, имеющих по умолчанию настройку импульсного набора нужно будет набрать еще одну - первая переведет в тональник, остальные 4 в меню).
Женским голосом на нагицком наречии будут даваться краткие инструкции, типа, после ввода кода подтвердите "решеткой" - шарпом, также сохранение настроек - 1, иногда за основным кодом, предоставляющим выбор настройки будет следовать субкод (одноциферный).
100 - Узнать тип WAN подключения (скажут DHCP / Static / PPPoE), вообще 1хх для WAN'а
110 - проговаривается WAN IP адрес
120 - маска
130 - шлюз по умолчанию
140 - узнать mac адрес
150 - версия прошивки
160 - адрес первичного DNS
170 - номер порта для веб-морды
101 - выставить тип подключения (0 - DHCP, 1 - Static IP, 2 - PPPoE)
111 - выставить статический адрес (точки в адресе - астериском *)
121 - выставить маску
131 - выставить шлюз
161 - выставить DNS
210 - прослушать локальный адрес (2хх - для LAN сегмента)
201 - установить режим работы (0 - c NAT'ом, как маршрутизатор, 1 - мостовое соединение bridge)
7932 - доступ к настройкам извне (0 - разрешить, 1 - запретить)
732668 - ручная перезагрузка
73738 - сброс к заводским настройкам (1 - подтверждение, * - отмена)
877778 - User Factory Reset (его половой функции так и не понял - вроде бы сделать текущие настройки заводскими он не позволяет)
При выборе внешненго подключения по PPPoE - нужно быть готовым к сексу с набором имени пользователя и пароля с телефонной клавиатуры...
В качестве примера быстрая настройка шлюза для доступа на него с телефона с импульсным набором (выставляем статический адрес и даем доступ на веб интерфейс с WAN):
*****101#1#1 111#192*168*0*11#1 121#255*255*255*0#1 7932#1#1
четверг, 14 января 2010 г.
Удаление Cisco VPN Client из Windows XP после неудачной установки.
В очередной раз убедился, что программисты в Циске не слишком внимательно относятся к разного рода апдейтам в Винде, что недавно привело к сбою в процессе установки VPN клиента на ХРюшу. Результатом был покоцанный IP стек, что решалось отключением Deterministic Network Enhancer'а. Собственно сам клиент и не думал работать - просто забивал блок памяти, а выкуривался завершением процесса. Штатным образом из Установки/Удаления программ также снести клиента не выходило - ведь установка не завершилась до конца, так этот надоедливый гад и висел в системе, через некоторое время даже сделавшись привычным. Однако, когда потребовалась переустановка Cisco Communicator'а, встала срочная необходимость прибить все Цисковкие компоненты, так как новые просто не могли установиться. Поэтому вычищаем VPN клиента из системы:
Для начала удаляем ключи реестра:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Cisco Systems \ VPN Client
HKEY_LOCAL_MACHINE \ SOFTWARE \ Deterministic Networks
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ {5624c000-b109-11d4-9db4-00e0290fcac5}
также проверяем другие ключи на предмет упоминания о VPN Client
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ RunOnce \ CISCOREBOOTFLAG
Теперь удаляем некоторые каталоги и файлы (часть может оказаться заблокированной - для их удаления можно воспользоваться FAR'ом или удалить все незаблокированные, а потом прибить остальных после перезагрузки) .
?С\Program Files\Cisco Systems\VPN Client
?С\Program Files\Common Files\Deterministic Networks
?Windows\system32\drivers\dne2000.sys
?Windows\inf\dne2000m.inf и dne2000m.pnf
?Windows\system32\dneinobj.dll
?Windows\system32\drivers\cvpndrv.sys или cvpndrva.sys
переименуем файл ?Windows\system32\CSGina.dll в CSGina.old
теперь можно перезагрузиться и убедиться, что в системе больше нет Cisco VPN интерфейса.
Для начала удаляем ключи реестра:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Cisco Systems \ VPN Client
HKEY_LOCAL_MACHINE \ SOFTWARE \ Deterministic Networks
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ {5624c000-b109-11d4-9db4-00e0290fcac5}
также проверяем другие ключи на предмет упоминания о VPN Client
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ RunOnce \ CISCOREBOOTFLAG
Теперь удаляем некоторые каталоги и файлы (часть может оказаться заблокированной - для их удаления можно воспользоваться FAR'ом или удалить все незаблокированные, а потом прибить остальных после перезагрузки) .
?С\Program Files\Cisco Systems\VPN Client
?С\Program Files\Common Files\Deterministic Networks
?Windows\system32\drivers\dne2000.sys
?Windows\inf\dne2000m.inf и dne2000m.pnf
?Windows\system32\dneinobj.dll
?Windows\system32\drivers\cvpndrv.sys или cvpndrva.sys
переименуем файл ?Windows\system32\CSGina.dll в CSGina.old
теперь можно перезагрузиться и убедиться, что в системе больше нет Cisco VPN интерфейса.
среда, 13 января 2010 г.
Жонглирование LACP транками и Vlan на HP ProCurve.
Две модульные железки 5348XL и 5304XL, первая уже давно нагружена под завязку, а вторая до недавнего времени прохлаждалась почем зря. Итак, вводные: на 5348 несколько vlan'ов (нас интересуют vlan 6 и vlan 2 с адресами 192.168.215.110 и 192.168.221.253 соответственно), включена маршрутизация, от портов C15, C16 два шланга уходят на 5304 в порты A15, A16, есть vlan 1 с адресом 192.168.215.201 (это выянилось по CDP). Задача - составить транк для подсети 192.168.221.0/24 и присвоить 5304 адрес 192.168.221.203.
Основная проблема - сами железки далеко, а отрубить себя от второго девайса - дело одной ошибки (а тогда коммандировка неизбежна). Очевидно, что нам надо перетащить второй девайс в vlan 2.
Пока у нас нет доступа на 5304 - он виден только как CDP neighbour, перетянем порты на 5348 в 6 влан:
vlan 6
untagged C15-C16
ip address 192.168.215.110 255.255.255.0
теперь можем коннектиться на 5304 для настройки,
добавляем на дефолтный влан второй адрес:
vlan 1
name "DEFAULT_VLAN"
untagged A15-A16
ip address 192.168.215.201 255.255.255.0
ip address 192.168.221.203 255.255.255.0
убираем ненужный адрес (приведет к дисконнекту):
no ip address 192.168.215.201 255.255.255.0
перекидываем на 5348 порты в vlan 2
vlan 2
untagged С15-С16
ip address 192.168.221.253 255.255.255.0
проверяем доступность 5304, заходим для настройки транков, основная проблема в том, что транк будет привязываться к vlan'у не как порты, а как trk# интерфейс, то есть нам сначала надо объединить порты в транк, а потом вязать с vlan. Но выянилась небольшая деталь - такую явную привязку нужно делать только для портов в активном режиме (используется LACP), а пассивные порты явным образом в trk# не вяжутся, поэтому сначала настраиваем доступный 5348:
trunk C15-C16 Trk2 LACP
vlan 2
untagged Trk2
проверяем доступность второго девайса и заходим для настройки:
trunk А15-А16 Trk2 LACP
vlan 1
untagged Trk2
должны (и будут) выдаваться ошибки о том, что порты уже находятся в динмической группе, но это нам и надо - это подтверждение правильности действий. Дополнительно просматриваем состояние каналов show lacp:
на 5348
C15 Active Trk2 Up Yes Success
C16 Active Trk2 Up Yes Success
на 5304
A15 Passive Dyn1 Up Yes Success
A16 Passive Dyn1 Up Yes Success
Основная проблема - сами железки далеко, а отрубить себя от второго девайса - дело одной ошибки (а тогда коммандировка неизбежна). Очевидно, что нам надо перетащить второй девайс в vlan 2.
Пока у нас нет доступа на 5304 - он виден только как CDP neighbour, перетянем порты на 5348 в 6 влан:
vlan 6
untagged C15-C16
ip address 192.168.215.110 255.255.255.0
теперь можем коннектиться на 5304 для настройки,
добавляем на дефолтный влан второй адрес:
vlan 1
name "DEFAULT_VLAN"
untagged A15-A16
ip address 192.168.215.201 255.255.255.0
ip address 192.168.221.203 255.255.255.0
убираем ненужный адрес (приведет к дисконнекту):
no ip address 192.168.215.201 255.255.255.0
перекидываем на 5348 порты в vlan 2
vlan 2
untagged С15-С16
ip address 192.168.221.253 255.255.255.0
проверяем доступность 5304, заходим для настройки транков, основная проблема в том, что транк будет привязываться к vlan'у не как порты, а как trk# интерфейс, то есть нам сначала надо объединить порты в транк, а потом вязать с vlan. Но выянилась небольшая деталь - такую явную привязку нужно делать только для портов в активном режиме (используется LACP), а пассивные порты явным образом в trk# не вяжутся, поэтому сначала настраиваем доступный 5348:
trunk C15-C16 Trk2 LACP
vlan 2
untagged Trk2
проверяем доступность второго девайса и заходим для настройки:
trunk А15-А16 Trk2 LACP
vlan 1
untagged Trk2
должны (и будут) выдаваться ошибки о том, что порты уже находятся в динмической группе, но это нам и надо - это подтверждение правильности действий. Дополнительно просматриваем состояние каналов show lacp:
на 5348
C15 Active Trk2 Up Yes Success
C16 Active Trk2 Up Yes Success
на 5304
A15 Passive Dyn1 Up Yes Success
A16 Passive Dyn1 Up Yes Success
понедельник, 28 декабря 2009 г.
Cisco, 2 ISP (Провайдера) мои 5 копеек и парочка граблей
В сети много раз описывались варианты настройки маршрутизаторов Cisco для работы с двумя каналами (2 Провайдера - один основной + запасной), встречались даже реализации с использование VRF'ов! Здесь я постараюсь описать оптимальный, на мой взгляд, конфиг и встреченные в процессе настройки грабли (с решениями). Итак базовая настройка рутера 2851 со свичевым модулем.
Так как модуль - L2, то интерфейсы к провайдерам реализуются через SVI.
interface GigabitEthernet0/0
description Внутренняя Сеть
ip address 172.20.1.1 255.255.0.0 secondary
ip address 172.20.1.2 255.255.0.0
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat inside
ip virtual-reassembly
duplex auto
speed auto
no mop enabled
interface Vlan12
description To_ISP1
ip address ***1
no ip redirects
no ip unreachables
no ip proxy-arp
ip dns view-group ISP1
ip nat outside
ip virtual-reassembly
interface Vlan13
description To_ISP2
ip address ***2
no ip redirects
no ip unreachables
no ip proxy-arp
ip dns view-group ISP2
ip nat outside
ip virtual-reassembly
# Вяжем SVI с физикой
interface FastEthernet0/0/0
switchport access vlan 11
spanning-tree portfast
interface FastEthernet0/0/1
switchport access vlan 12
spanning-tree portfast
# добавляем список доступа для NAT
ip access-list extended NAT
permit ip 172.20.0.0 0.0.255.255 any
# теперь нужно "занатить" внутреннюю сеть на двух провов, это сделаем через route-map'ы
route-map DMZ-ISP2 permit 10
match ip address DMZ-ISP2
set ip next-hop verify-availability *** 1 track 2
route-map DMZ-ISP2 permit 20
match ip address DMZ-ISP1
set ip next-hop verify-availability *** 1 track 1
ip nat inside source route-map ISP1 interface Vlan12 overload
ip nat inside source route-map ISP2 interface Vlan13 overload
# отдельно нужно описать треки (отслеживание состояния какого либо параметра - в нашем случае трек опирается на доступность определенных сетевых сервисов через механизм sla)
ip sla 20
icmp-echo 93.158.134.8 source-interface Vlan12
timeout 2000
frequency 3
ip sla schedule 20 life forever start-time now
ip sla 30
icmp-echo 217.69.128.42 source-interface Vlan12
timeout 2000
frequency 3
ip sla schedule 30 life forever start-time now
ip sla 40
icmp-echo 194.87.0.50 source-interface Vlan12
timeout 2000
frequency 3
ip sla schedule 40 life forever start-time now
ip sla 120
icmp-echo 93.158.134.8 source-interface Vlan13
timeout 2000
frequency 3
ip sla schedule 20 life forever start-time now
ip sla 130
icmp-echo 217.69.128.42 source-interface Vlan13
timeout 2000
frequency 3
ip sla schedule 30 life forever start-time now
ip sla 140
icmp-echo 194.87.0.50 source-interface Vlan13
timeout 2000
frequency 3
ip sla schedule 40 life forever start-time now
# в качестве критерия доступности выступают ответы на пинги от крупных сетевых сервисов (Яндекс, Мейл.ру и пр.)
track 20 ip sla 20
track 30 ip sla 30
track 40 ip sla 40
track 120 ip sla 120
track 130 ip sla 130
track 140 ip sla 140
track 2 list boolean or
object 120
object 130
object 140
track 1 list boolean or
object 20
object 30
object 40
# Группируем треки для карт маршрутизации, так что они считаются доступными, если хоть один из пингуемых сервисов "жив" (логическое "или").
ip route 0.0.0.0 0.0.0.0 *** track 1
ip route 0.0.0.0 0.0.0.0 *** 2 track 2
# также вешаем треки на дефолтные маршруты (маршрут ко второму провайдеру имеет AD 2)
Полученная в результате конфигурация может считаться работоспособной, но есть два вопроса:
1. при переключении каналов уже установленные сессии находятся в таблице NAT трансляций, их нужно оперативно убрать.
2. на втором канале могут возникнуть сложности с разрешением имен.
Для решения первого вопроса добавляем механизм реакции на события (event manager):
event manager applet CHANGE_ISP
event track 1 state any
action 1.0 cli command "enable"
action 2.0 cli command "clear ip nat trans forced"
# при переходе трека 1 из состояния Up -> Down или обратно принудительно выполняется очистка таблицы трансляций.
Для второй проблемы настраиваем DNS фичу - DNS View:
ip dns view ISP1-OBIT
domain name-server ***
domain name-server ***
ip dns view ISP2-PTRST
domain name-server ***
domain name-server ***
ip dns view-list ISP2
view ISP2-PTRST 1
ip dns view-list ISP1
view ISP1-OBIT 1
ip dns server
# Далее эти вьюсы навешиваются на SVI внешних каналов (см. настройки Vlan 12 / 13).
Звездочками *** обозначены различные внешние адреса (выданные провами, гейтвеи и ДНСы).
UPD: В последних версиях IOS были внесены некоторые изменения в синтаксисе команд трекинга и убраны некоторые шаблоны отслеживания track'ов. В новой интерпретации получится примерно такое:
изменения в ip sla
ip sla monitor 20
type echo protocol ipIcmpEcho 8.8.8.8 source-interface FastEthernet0/0
frequency 5
ip sla monitor schedule 20 life forever start-time now
ip sla monitor 30
type echo protocol ipIcmpEcho 4.2.2.2 source-interface FastEthernet0/0
frequency 5
ip sla monitor schedule 30 life forever start-time now
ip sla monitor 40
type echo protocol ipIcmpEcho 62.76.76.62 source-interface FastEthernet0/0
frequency 5
ip sla monitor schedule 40 life forever start-time now
ip sla monitor 120
type echo protocol ipIcmpEcho 8.8.8.8 source-interface FastEthernet0/1
frequency 5
ip sla monitor schedule 120 life forever start-time now
ip sla monitor 130
type echo protocol ipIcmpEcho 4.2.2.2 source-interface FastEthernet0/1
frequency 5
ip sla monitor schedule 130 life forever start-time now
ip sla monitor 140
type echo protocol ipIcmpEcho 62.76.76.62 source-interface FastEthernet0/1
frequency 5
ip sla monitor schedule 140 life forever start-time now
!
track 1 list boolean or
object 20
object 30
object 40
!
track 2 list boolean or
object 120
object 130
object 140
!
track 20 rtr 20 reachability
!
track 30 rtr 30 reachability
!
track 40 rtr 40 reachability
!
track 120 rtr 120 reachability
!
track 130 rtr 130 reachability
!
track 140 rtr 140 reachability
Реакция при наступлении события будет на основании записи в логе:
event manager applet CLEAR_NAT
event syslog pattern "%TRACKING-5-STATE: 1 list boolean or"
action 1.0 cli command "enable"
action 2.0 cli command "clear ip nat trans forced"
Так как модуль - L2, то интерфейсы к провайдерам реализуются через SVI.
interface GigabitEthernet0/0
description Внутренняя Сеть
ip address 172.20.1.1 255.255.0.0 secondary
ip address 172.20.1.2 255.255.0.0
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat inside
ip virtual-reassembly
duplex auto
speed auto
no mop enabled
interface Vlan12
description To_ISP1
ip address ***1
no ip redirects
no ip unreachables
no ip proxy-arp
ip dns view-group ISP1
ip nat outside
ip virtual-reassembly
interface Vlan13
description To_ISP2
ip address ***2
no ip redirects
no ip unreachables
no ip proxy-arp
ip dns view-group ISP2
ip nat outside
ip virtual-reassembly
# Вяжем SVI с физикой
interface FastEthernet0/0/0
switchport access vlan 11
spanning-tree portfast
interface FastEthernet0/0/1
switchport access vlan 12
spanning-tree portfast
# добавляем список доступа для NAT
ip access-list extended NAT
permit ip 172.20.0.0 0.0.255.255 any
# теперь нужно "занатить" внутреннюю сеть на двух провов, это сделаем через route-map'ы
route-map DMZ-ISP2 permit 10
match ip address DMZ-ISP2
set ip next-hop verify-availability *** 1 track 2
route-map DMZ-ISP2 permit 20
match ip address DMZ-ISP1
set ip next-hop verify-availability *** 1 track 1
ip nat inside source route-map ISP1 interface Vlan12 overload
ip nat inside source route-map ISP2 interface Vlan13 overload
# отдельно нужно описать треки (отслеживание состояния какого либо параметра - в нашем случае трек опирается на доступность определенных сетевых сервисов через механизм sla)
ip sla 20
icmp-echo 93.158.134.8 source-interface Vlan12
timeout 2000
frequency 3
ip sla schedule 20 life forever start-time now
ip sla 30
icmp-echo 217.69.128.42 source-interface Vlan12
timeout 2000
frequency 3
ip sla schedule 30 life forever start-time now
ip sla 40
icmp-echo 194.87.0.50 source-interface Vlan12
timeout 2000
frequency 3
ip sla schedule 40 life forever start-time now
ip sla 120
icmp-echo 93.158.134.8 source-interface Vlan13
timeout 2000
frequency 3
ip sla schedule 20 life forever start-time now
ip sla 130
icmp-echo 217.69.128.42 source-interface Vlan13
timeout 2000
frequency 3
ip sla schedule 30 life forever start-time now
ip sla 140
icmp-echo 194.87.0.50 source-interface Vlan13
timeout 2000
frequency 3
ip sla schedule 40 life forever start-time now
# в качестве критерия доступности выступают ответы на пинги от крупных сетевых сервисов (Яндекс, Мейл.ру и пр.)
track 20 ip sla 20
track 30 ip sla 30
track 40 ip sla 40
track 120 ip sla 120
track 130 ip sla 130
track 140 ip sla 140
track 2 list boolean or
object 120
object 130
object 140
track 1 list boolean or
object 20
object 30
object 40
# Группируем треки для карт маршрутизации, так что они считаются доступными, если хоть один из пингуемых сервисов "жив" (логическое "или").
ip route 0.0.0.0 0.0.0.0 *** track 1
ip route 0.0.0.0 0.0.0.0 *** 2 track 2
# также вешаем треки на дефолтные маршруты (маршрут ко второму провайдеру имеет AD 2)
Полученная в результате конфигурация может считаться работоспособной, но есть два вопроса:
1. при переключении каналов уже установленные сессии находятся в таблице NAT трансляций, их нужно оперативно убрать.
2. на втором канале могут возникнуть сложности с разрешением имен.
Для решения первого вопроса добавляем механизм реакции на события (event manager):
event manager applet CHANGE_ISP
event track 1 state any
action 1.0 cli command "enable"
action 2.0 cli command "clear ip nat trans forced"
# при переходе трека 1 из состояния Up -> Down или обратно принудительно выполняется очистка таблицы трансляций.
Для второй проблемы настраиваем DNS фичу - DNS View:
ip dns view ISP1-OBIT
domain name-server ***
domain name-server ***
ip dns view ISP2-PTRST
domain name-server ***
domain name-server ***
ip dns view-list ISP2
view ISP2-PTRST 1
ip dns view-list ISP1
view ISP1-OBIT 1
ip dns server
# Далее эти вьюсы навешиваются на SVI внешних каналов (см. настройки Vlan 12 / 13).
Звездочками *** обозначены различные внешние адреса (выданные провами, гейтвеи и ДНСы).
UPD: В последних версиях IOS были внесены некоторые изменения в синтаксисе команд трекинга и убраны некоторые шаблоны отслеживания track'ов. В новой интерпретации получится примерно такое:
изменения в ip sla
ip sla monitor 20
type echo protocol ipIcmpEcho 8.8.8.8 source-interface FastEthernet0/0
frequency 5
ip sla monitor schedule 20 life forever start-time now
ip sla monitor 30
type echo protocol ipIcmpEcho 4.2.2.2 source-interface FastEthernet0/0
frequency 5
ip sla monitor schedule 30 life forever start-time now
ip sla monitor 40
type echo protocol ipIcmpEcho 62.76.76.62 source-interface FastEthernet0/0
frequency 5
ip sla monitor schedule 40 life forever start-time now
ip sla monitor 120
type echo protocol ipIcmpEcho 8.8.8.8 source-interface FastEthernet0/1
frequency 5
ip sla monitor schedule 120 life forever start-time now
ip sla monitor 130
type echo protocol ipIcmpEcho 4.2.2.2 source-interface FastEthernet0/1
frequency 5
ip sla monitor schedule 130 life forever start-time now
ip sla monitor 140
type echo protocol ipIcmpEcho 62.76.76.62 source-interface FastEthernet0/1
frequency 5
ip sla monitor schedule 140 life forever start-time now
!
track 1 list boolean or
object 20
object 30
object 40
!
track 2 list boolean or
object 120
object 130
object 140
!
track 20 rtr 20 reachability
!
track 30 rtr 30 reachability
!
track 40 rtr 40 reachability
!
track 120 rtr 120 reachability
!
track 130 rtr 130 reachability
!
track 140 rtr 140 reachability
Реакция при наступлении события будет на основании записи в логе:
event manager applet CLEAR_NAT
event syslog pattern "%TRACKING-5-STATE: 1 list boolean or"
action 1.0 cli command "enable"
action 2.0 cli command "clear ip nat trans forced"
четверг, 24 декабря 2009 г.
Аутентификация пользователей Cisco VPN client через MS IAS в AD.
На cisco.com достаточно много материалов для связки VPN client - ACS - AD, но дорогостоящий ACS частично может быть заменен MS IAS. Основная сложность заключается в расширенном методе аутентификации (x-auth), когда сначала аутентифицируется группа, потом она же авторизуется и только после этого проверяются расширенные параметры (логин / пароль из группы). Для наших целей подойдет схема с использованием динамической криптокарты.
Базовую настройку не рассматриваем.
Настройка isakmp / ipsec:
crypto isakmp policy 10
encr 3des
hash md5
authentication pre-share
group 2
crypto isakmp client configuration address-pool local VPNpool
# пул адресов можно и не определять (они будут выдаваться из профиля пользователя AD после аутентификации)
crypto isakmp client configuration group VPNclients
key ***
dns 192.168.221.212 192.168.221.105
domain fax.test
firewall are-u-there
include-local-lan
netmask 255.255.255.0
crypto isakmp profile Remote-VPN
match identity group VPNclients
# определяем группу - она авторизуется локально
crypto ipsec transform-set For_VPNclients esp-3des esp-md5-hmac
crypto dynamic-map DYN-KARTA 10
set transform-set For_VPNclients
set isakmp-profile Remote-VPN
reverse-route
# настраиваем параметры ipsec и динамическую карту
Теперь определим, как будет аутентифицироваться каждое подключение:
aaa authentication login IAS-AUTH group radius
aaa authorization network LOCAL-AUTHOR local
Свяжем эти параметры с криптокартой:
crypto map VPN client authentication list IAS-AUTH
crypto map VPN isakmp authorization list LOCAL-AUTHOR
crypto map VPN client configuration address respond
crypto map VPN 10 ipsec-isakmp dynamic DYN-KARTA
Для маршрутизации настроим интерфейс и пул адресов:
interface Loopback0
ip address 172.30.1.254 255.255.255.0
ip local pool VPNpool 172.30.1.2 172.30.1.253
ip route 172.30.1.0 255.255.255.0 Loopback0
# пул и маршрут по-идее не обязательны, но с ними точно работает...
Настроим соединение к IAS'у:
radius-server configure-nas
radius-server host 192.168.221.212 auth-port 1645 acct-port 1646 timeout 20 key 7 ***
Исключим ответы внутренней сети подключившимся клиентам из NAT:
ip access-list extended NAT
deny ip 192.168.221.0 0.0.0.255 172.30.1.0 0.0.0.255
permit ip 192.168.221.0 0.0.0.255 any
Осталось прикрутить карту к интерфейсу:
interface FastEthernet0/1
crypto map VPN
Циска теперь готова к подключению клиентов, а нам нужно настроить IAS и доменые записи.
Для теста был настроен MS Windows Server 2003 Std SP2, несущий функции PDC + DNS + IAS с адресом 192.168.221.212.
Для целей назначения адресов из профиля пользователя повышаем режим работы домена до native 2003, тогда у нас появляются активные поля во вкладке Dial-in профилей доменных пользователей. Создаем группу, которой будет разрешен доступ (например, VPN-clients), включаем нужных пользователей в эту группу, задаем им адреса и указываем, что доступ контролируется политикой.
В IAS настраиваем такую политику:
атрибут Windows Group = VPN-clients
политика "Grant" (Разрешить удаленный доступ)
в профиле изменяем следующие вкладки:
Authentication (оставляем только PAP, SPAP)
Advanced убираем значения по-умолчанию, добавляем свои: Service-Type (6) = Login
Vendor Specific (26) = Cisco (Confirms) = attribute number = 1 (String = shell:priv-lvl=0)
Применяем все изменения.
Подключаем нашу Циску к IAS'у в качестве клиента (Client-Vendor = RADIUS Standart с ключем)
Теперь подключаемся VPN клиентом извне - заранее в поле группы вводим VPNclients / *** (пароль на группу), должно появиться приглашение на вводи имени пользователя и пароля. Далее успешная аутентификация.
P.S. Благодарю ребят с blindhog.net и Аллу Булавину (Cisco TAC) за помощь.
Базовую настройку не рассматриваем.
Настройка isakmp / ipsec:
crypto isakmp policy 10
encr 3des
hash md5
authentication pre-share
group 2
crypto isakmp client configuration address-pool local VPNpool
# пул адресов можно и не определять (они будут выдаваться из профиля пользователя AD после аутентификации)
crypto isakmp client configuration group VPNclients
key ***
dns 192.168.221.212 192.168.221.105
domain fax.test
firewall are-u-there
include-local-lan
netmask 255.255.255.0
crypto isakmp profile Remote-VPN
match identity group VPNclients
# определяем группу - она авторизуется локально
crypto ipsec transform-set For_VPNclients esp-3des esp-md5-hmac
crypto dynamic-map DYN-KARTA 10
set transform-set For_VPNclients
set isakmp-profile Remote-VPN
reverse-route
# настраиваем параметры ipsec и динамическую карту
Теперь определим, как будет аутентифицироваться каждое подключение:
aaa authentication login IAS-AUTH group radius
aaa authorization network LOCAL-AUTHOR local
Свяжем эти параметры с криптокартой:
crypto map VPN client authentication list IAS-AUTH
crypto map VPN isakmp authorization list LOCAL-AUTHOR
crypto map VPN client configuration address respond
crypto map VPN 10 ipsec-isakmp dynamic DYN-KARTA
Для маршрутизации настроим интерфейс и пул адресов:
interface Loopback0
ip address 172.30.1.254 255.255.255.0
ip local pool VPNpool 172.30.1.2 172.30.1.253
ip route 172.30.1.0 255.255.255.0 Loopback0
# пул и маршрут по-идее не обязательны, но с ними точно работает...
Настроим соединение к IAS'у:
radius-server configure-nas
radius-server host 192.168.221.212 auth-port 1645 acct-port 1646 timeout 20 key 7 ***
Исключим ответы внутренней сети подключившимся клиентам из NAT:
ip access-list extended NAT
deny ip 192.168.221.0 0.0.0.255 172.30.1.0 0.0.0.255
permit ip 192.168.221.0 0.0.0.255 any
Осталось прикрутить карту к интерфейсу:
interface FastEthernet0/1
crypto map VPN
Циска теперь готова к подключению клиентов, а нам нужно настроить IAS и доменые записи.
Для теста был настроен MS Windows Server 2003 Std SP2, несущий функции PDC + DNS + IAS с адресом 192.168.221.212.
Для целей назначения адресов из профиля пользователя повышаем режим работы домена до native 2003, тогда у нас появляются активные поля во вкладке Dial-in профилей доменных пользователей. Создаем группу, которой будет разрешен доступ (например, VPN-clients), включаем нужных пользователей в эту группу, задаем им адреса и указываем, что доступ контролируется политикой.
В IAS настраиваем такую политику:
атрибут Windows Group = VPN-clients
политика "Grant" (Разрешить удаленный доступ)
в профиле изменяем следующие вкладки:
Authentication (оставляем только PAP, SPAP)
Advanced убираем значения по-умолчанию, добавляем свои: Service-Type (6) = Login
Vendor Specific (26) = Cisco (Confirms) = attribute number = 1 (String = shell:priv-lvl=0)
Применяем все изменения.
Подключаем нашу Циску к IAS'у в качестве клиента (Client-Vendor = RADIUS Standart с ключем)
Теперь подключаемся VPN клиентом извне - заранее в поле группы вводим VPNclients / *** (пароль на группу), должно появиться приглашение на вводи имени пользователя и пароля. Далее успешная аутентификация.
P.S. Благодарю ребят с blindhog.net и Аллу Булавину (Cisco TAC) за помощь.
четверг, 17 декабря 2009 г.
Базовая настройка беспроводного контроллера
Контроллер на 2811 циске:
- настраиваем адрес интерфейса: interface wlan-controller 1/0
ip address ... (подсеть должна выбираться из расчета, что еще три адреса будут использоваться в процессе настройки "внутри" контроллера)
- сбрасываем конфигурацию (на всякий случай): service-module wlan-controller 1/0 reset
- завершаем возможные сессии: service-module wlan-controller 1/0 session clear
- начинаем новую: service-module wlan-controller 1/0 session
- в поле User вводим recover-config
- в мастере настроек задаем адреса (виртуальный адрес лучше оставить 1.1.1.1) из подсети интерфейса
- после отработки мастера активируем tftp сервер:
transfer upload serverip ... (здесь адрес management)
transfer upload datatype config
transfer upload filename config-running.bin
transfer upload start
Другие настройки можно делать через веб интерфейс, зайдя по менеджмент адресу.
Для точек нужно настроить способы обнаружения менеджмент интерфейса контролера (ip адрес):
- создать DNS запись ip host CISCO-LWAPP-CONTROLLER ... (management ip)
- передать по DHCP option 43 (рекомендуется комбинировать с option 60):
ip dhcp pool WLCM
option 60 "Cisco AP c1200"
option 43 hex fa04c0a87503
эти опции связаны с типом точек, так в опции 43 первые 4 символа (2 байта) - это тип точки 1242 (берется из таблицы), а остальные символы (4 байта) - адрес (в примере 192.168.117.3)
- настраиваем адрес интерфейса: interface wlan-controller 1/0
ip address ... (подсеть должна выбираться из расчета, что еще три адреса будут использоваться в процессе настройки "внутри" контроллера)
- сбрасываем конфигурацию (на всякий случай): service-module wlan-controller 1/0 reset
- завершаем возможные сессии: service-module wlan-controller 1/0 session clear
- начинаем новую: service-module wlan-controller 1/0 session
- в поле User вводим recover-config
- в мастере настроек задаем адреса (виртуальный адрес лучше оставить 1.1.1.1) из подсети интерфейса
- после отработки мастера активируем tftp сервер:
transfer upload serverip ... (здесь адрес management)
transfer upload datatype config
transfer upload filename config-running.bin
transfer upload start
Другие настройки можно делать через веб интерфейс, зайдя по менеджмент адресу.
Для точек нужно настроить способы обнаружения менеджмент интерфейса контролера (ip адрес):
- создать DNS запись ip host CISCO-LWAPP-CONTROLLER ... (management ip)
- передать по DHCP option 43 (рекомендуется комбинировать с option 60):
ip dhcp pool WLCM
option 60 "Cisco AP c1200"
option 43 hex fa04c0a87503
эти опции связаны с типом точек, так в опции 43 первые 4 символа (2 байта) - это тип точки 1242 (берется из таблицы), а остальные символы (4 байта) - адрес (в примере 192.168.117.3)
Подписаться на:
Сообщения (Atom)