вторник, 3 декабря 2013 г.

Выбор оптического кабеля

Для того чтобы выбрать тип оптического кабеля для прокладки следует получить ответы на следующие вопросы:
  • Какова длина линка между активными устройствами?
  • Какие приложения (на каких скоростях) будут использоваться при запуске и в дальнейшем?
Основываясь на предоставленной информации можно свести выбор к 3 типам кабеля:
  • Если длина линка больше 1000 метров, а скорость передачи  Gigabit Ethernet, 10 Gigabit Ethernet или выше, рекомендуется использовать сингл-мод, соответствующий ITU-T G.652D, он же OS2.
  • Если длина линка в пределах 300 метров, а скорость передачи  Gigabit Ethernet, 10 Gigabit Ethernet или выше рекомендуется использовать 850nm мультимод  50/125 микрон (также известный как OM3)
  • Если длина линка меньше 1000 метров, а скорость передачи не превосходит  Gigabit Ethernet, также рекомендуется 850nm мультимод  50/125 микрон (OM3)
Также следует отметить, что кабель  62.5 микрон в связи с распространением Gigabit Ethernet использутся все реже.


Источник: Cabling: The Complete Guide to Copper and Fiber-Optic Networking
by Andrew Oliviero and Bill Woodward

четверг, 14 ноября 2013 г.

Анонсирование BGP маршрутов в JunOS

Основные правила таковы:

1. IBGP-пиры анонсируют маршруты полученные от EBGP-пиров другим IBGP-пирам.
2. EBGP-пиры аносируют маршруты полученные от IBGP или EBGP -пиров другим EBGP-пирам.
3. IBGP-пиры не аносриуют маршруты, полученные от IBGP-пиров другим IBGP пирам.



По умолчанию EBGP пирам анонсируются только активные маршруты, то есть если видим такое:

понедельник, 11 ноября 2013 г.

Коротко об IS-IS



ISIS (Intermediate System to Intermediate System) – протокол динамической маршрутизации. Относится наряду с OSPF  к так называемым link-state протоколам, то есть хранит топологию сети полностью.
Одно из главных отличий ISIS от других протоколов маршрутизации состоит в том, что он работает на втором (data link) уровне модели OSI, следовательно не требует действительного адреса интерфейса для передачи сообщений.
Использует инкапсуляцию 802.3.
Для уменьшения нагрузки на маршрутизаторы, в ISIS реализовано деление автономной системы на области (area), однако роутеры на границах областей принадлежат только одной области, а не обеим, как в OSPF. Для того, чтобы маршрутизаторы, принадлежащие к разным областям могли устанавливать соседство (adjacency) в ISIS  реализована концепция уровней (Levels):

вторник, 5 ноября 2013 г.

Expect



Expect - очень удобное средство для автоматизации управления, в моем случае маршрутизаторами по telnet.

Запускаем под Windows
  1. Загружаем Active Tcl с http://www.activestate.com/activetcl/downloads/
  2. Устанавливаем (Обычно c:/Tcl/ directory)
  3. Переходим в папку Bin в командной строке (Start > Run > commad > cd c:\Tcl\bin)
  4. При работе через прокси нужна будет команда teacup proxy (например teacup proxy myproxy.com 8080). Если не работает можно установить переменные среды:
     set http_proxy=http://proxyhost:80/
     set http_proxy_user=NTDOMAIN\username
     set http_proxy_pass=yourpassword
  5. Вводим команду для установки Expect:  teacup install Expect (если не удается установить может помочь команда teacup update)
Для того чтобы файлы Expect запускались под Windows в файл следует добавить следующий заголовок:

#!/bin/sh
# \
exec tclsh "$0" ${1+"$@"}
package require Expect

Для того чтобы запустить скрипт вводим следующую команду:

c:\tcl\bin\> tclsh85 myscirpt.tcl

Можно запускать внешние команды, используя команду spawn:
spawn ssh myserver.com 
send -- "someting\r"  -  Отправить команду и нажать "Enter"
expect -- ">"  - Ждать появления символа  ">"
  

Еще примеры можно найти на http://en.wikipedia.org/wiki/Expect

Примеры:


Telnet login:

#!/bin/sh
# \
exec tclsh "$0" ${1+"$@"}
package require Expect
spawn telnet 172.20.0.125
expect "Password: "
send  "cisco\r"
expect ">"
send "en\r"
expect "Password: "
send  "cisco\r"
expect "#"
send "show clock\r"
expect "#"
send "exit\r"
expect eof   #всегда добавляем в конце скрипта          

Цикл (телнет на маршрутизаторы по списку:
#!/bin/sh
# \
exec tclsh "$0" ${1+"$@"}
package require Expect
foreach address {
172.19.0.31
172.19.0.32
} {
Sleep 5                       #ждем 5 секунд. Без этой команды может не подцепиться к следующему устройству
send "telnet $address /source-interface l0\r"
expect "Password: "
send  "cisco\r"
expect ">"
send  "exit\r"
}
expect eof

Массив:


set password(0) "sample"
set password(1) "test"
set password(2) "pswd"
set password(3) "getsome"
set password(4) "yeah"
set num_passwd [array size password] #объявляем переменную со
                                     #значением, равным числу
                                     #элементов массива
....
set count 0
....
        while {$count<$num_passwd} {
             expect "*assword:" {
                        send $password($count)\r}
                incr count
        }
    ....
}

Материалы взяты из следующих источников: 
http://news.hping.org/comp.lang.tcl.archive/0062.html
Donn Libes "Exploring Expect"  (O'Reilly, 1994)

понедельник, 21 октября 2013 г.

Отладка cscript + javascript

Если вдруг появилась необходимость написать скрипт для сервера сценариев Windows (cscript.exe либо wscript.exe), то скоро вы поймете что отлаживать его в браузере до крайности неудобно.

Отладчик который предлагает Microsoft (microsoft script debugger) - по сути бесполезен, т.к. не позволяет даже отслеживать значение переменных.

Мне удалось выполнить отладку только с помощью Visual Studio.

Для того чтобы запустить отладку даем команду в консоли типа:

 F:\JavaScript\>"c:\Windows\system32\cscript.exe" //D //X myscript.js

В результате появится окно запроса, с предложением выбрать отладчик.

У меня на одном из компьютеров по причине, которую я не смог обнаружить, окно запроса отладчика не появлялось. Для такого случая удалось найти интересный выход в книге Inside Windows Debugging

Суть его в том что в начало скрипта добавляется функция типа:

function WaitForDebugger()
{
    g_bAttached = true;
    while (!g_bAttached);
   



Т.к. условие выхода из цикла не выполняется, скрипт "зависает" и можно подцепить Visual Studio к процессу (Отладка - Присоединиться к процессу, выбрать cscript.exe, нажать Ctrl+Alt+Break), после чего вручную изменить значение переменной на "true"  и продолжить отладку. Оговорюсь, что этот способ для Visual Studio Express 2010 у меня не заработал, только в  2013 Professional.

вторник, 15 октября 2013 г.

Лицензирование Windows

Существует 3 вида лицензий:

-Retail - т.е. те лицензии, которые приобретаются в магазине вместе с коробкой; по сути - уникальный ключ для активации одной копии программы.
-OEM (original equipment manufacturer) - лицензия, которая поставляются вместе с компьютером и привязана к имеющемуся на нем образу системы .
-Volume licenses - приобретаются при подписании корпоративного лицензионного соглащения (volume license agreement). Существует 3 способа активации таких лицензий:
-KMS (Key Management Service) сервер. Для использования необходимо соединение с интернетом и сеть состоящая из 25 или более компьютеров под управлением клиентских операционных систем Windows (как вариант 5 или более компьютеров под управлением серверных ОС Windows) имеющих соединение с KMS сервером.
-MAK (Multiple Activation Key) - ключ, с помощью которого можно произвести активацию нескольких ОС, при этом его нужно будет вводить вручную.
-MAK proxy activation - за вас ключ вводит VAMT (Volume Activation Management Tool), являющийся частю WAIK (Microsoft Windows Automated Installation Kit), т.е. с помощью указанной программы можно создать образ ОС, в котором уже будет "вшит" нужный ключ. Может быть полезен в случаях, когда нужно активировать большое количество копий Windows, но отстутствует соединение с интернетом.

Настройка KMS

В сети KMS сервер обнаруживается посредством DNS запроса. Если в сети используется динамический DNS, KMS сервер автоматически управляет соответсвующими SRV записями, в противном случае, нужные SRV записи можно создать вручную.
Настройка KMS сервера производится двумя командами. Выполнять их следует из директории C:\Windows\System32:

cscript slmgr.vbs /ipkxxxxx-xxxxx-xxxxx-xxxxx-xxxxx 


*эта команда устанавливает KMS host key, который предоставляется партнером Miscrosoft при покупке лицензии

cscript slmgr.vbs /ato

*эта команда активирует ключи в Microsoft Clearinghouse

Следует обратить внимание на следующие моменты:
-KMS использует порт 1688 TCP. Используемый порт можно изменить. Доступ к настройкам осуществляется с помощью команды cscript slmgr.vbs c дополнительными ключами.
-Если KMS сервер установлен на виртуальную машиную, перенос этой машины на другое "железо" потребует повторной активации KMS, количество повторных активаций ограничено девятью, после чего, для активации потребуются дополнительные телодвижения (звонки в MS).
-Следует иметь ввиду что у продуктов MS существует так называемый grace period, т.е. срок в течение которго программа будет работать без активации. Для Windows 7 и Windows Server R2 этот срок составляет 30 дней и его можно трижды возобновить. Таким образом, если компьютеры используются для тестов и операционная система часто переустанавливается, не обязательно каждый раз ее активировать.


Материал из Technet Magazine, март 2012

Касательно ip default-network

The ip default-network command is used mostly with routing protocols. The ip route command is used with static routing. Both are achieving the same goals but can be used in different scenarios. If you have a routing protocol for a domain, and you would like to advertise to the rest of the routers that a default route, you would implement the ip default-network command. This would cause the routing protocol to carry the candidate for default network in its routing updates to all routers in the domain.

The ip route 0.0.0.0 0.0.0.0 xx is a command that is statically assigned. This is called a default network because the all-zeros syntax means to catch all routes. The ip route command is not automatically carried in routing updates like the ip default-network command is in some routing protocols. You must redistribute the static command into a routing protocol for it to be carried.

In a network where, there are multiple default gateways, you must understand that certain parts of the network will be routed out one direction, and other parts might be routed out another direction. Understand that each router makes it's own forwarding decision even when the network is converged with consistent routing information. This can cause an un-even balance of routing out of default routes.


learningnetwork.cisco.com/thread/23249

Утилиты для анализа трафика

Средства для создания схемы сети

To develop a network drawing, you should invest in a good network-diagramming tool. You can use Cisco Works to map a network and collect other types of network
audit information, including hardware and software versions, configurations, and so on. Other tools include HP OpenView, IBM's Tivoli products, Whatsup Gold from
Ipswitch, and LANSurveyor from Neon Software. The Microsoft Visio product line is highly recommended for network diagramming. The product line includes Visio
Standard, Visio Professional, and Visio Enterprise Network Tools.Many network engineers recommend the netViz products from netViz Corporation.
netViz is an information-management tool that allows you to visualize and work with complex data systems such as internetworks. Designed to deal with large amounts of information, netViz integrates graphics and data to create a visual database, making it easy to see system components, their unique characteristics, and their relationships to each other.
For large campus networks and service providers, Visionael Corporation offers client/server network documentation products that have network inventory,
troubleshooting, and change-management features. Visionael products support network planning, design, deployment, provisioning, validation, and daily operations.
Visionael products provide detailed data about the physical topology as well as the logical topology.

Отсюда:
Top-Down Network Design Second Edition
By Priscilla Oppenheimer
Publisher: Cisco Press
Pub Date: May 27, 2004
ISBN: 1-58705-152-4

Средства для траблшутинга

Хорошо о трассировке

http://www.nanog.org/meetings/nanog47/presentations/Sunday/RAS_Traceroute_N47_Sun.pdf

RIP supernet

Провести суммаризацию мо меньшей маске реализация RIP в циско не даст:

R1(config)# interface serial 0/0/0
R1(config-if)# ip summary-address rip 192.168.48.0 255.255.252.0
Summary mask must be greater or equal to major net

Чтобы обойти эту проблему делаем статический маршрут:
R1(config)# ip route 192.168.48.0 255.255.252.0 null0

И редистрибутим его в RIP:
R1(config)# router rip
R1(config-router)# redistribute static

В итоге получим:
R1# show ip route

172.16.0.0/24 is subnetted, 4 subnets
C 192.168.51.0/24 is directly connected, Loopback51
C 192.168.50.0/24 is directly connected, Loopback50
C 192.168.49.0/24 is directly connected, Loopback49
C 192.168.70.0/24 is directly connected, Loopback70
C 192.168.48.0/24 is directly connected, Loopback48
S 192.168.48.0/22 is directly connected, Null0

R2# show ip route


Gateway of last resort is not set

172.16.0.0/24 is subnetted, 4 subnets
C 172.16.23.0 is directly connected, Serial0/0/1
C 172.16.12.0 is directly connected, Serial0/0/0
R 172.16.1.0 [120/1] via 172.16.12.1, 00:00:05, Serial0/0/0
C 172.16.2.0 is directly connected, Loopback0
R 192.168.51.0/24 [120/1] via 172.16.12.1, 00:00:05, Serial0/0/0
R 192.168.50.0/24 [120/1] via 172.16.12.1, 00:00:05, Serial0/0/0
R 192.168.49.0/24 [120/1] via 172.16.12.1, 00:00:05, Serial0/0/0
R 192.168.70.0/24 [120/1] via 172.16.12.1, 00:00:07, Serial0/0/0
R 192.168.48.0/24 [120/1] via 172.16.12.1, 00:00:07, Serial0/0/0
R 192.168.48.0/22 [120/1] via 172.16.12.1, 00:00:07, Serial0/0/0

Т.е. R1 будет показыать другим маршрутизаторам более общий маршрут, а на нем самом пакеты будут падать в битовую корзину, если один из суммаризованых маршрутов отвалится.

понедельник, 14 октября 2013 г.

Создаем и сохраняем проект в Eclipse

www.online-etraining.com/creating-a-java-applic...
help.eclipse.org/juno/index.jsp?topic=%2Forg.ec...

The Java language supports three kinds of comments:

/* text */
The compiler ignores everything from /* to */.
/** documentation */
This indicates a documentation comment (doc comment, for short). The compiler ignores this kind of comment, just like it ignores comments that use /* and */. The JDK javadoc tool uses doc comments when preparing automatically generated documentation. For more information on javadoc, see the Java tool documentation.
// text
The compiler ignores everything from // to the end of the line.

Полезная функция "сцепить" в экселе

Если есть несколько строк из которых нужно слепить одну - вещь незаменимая. Например я делал скрипт для SQL сервера. Есть исходная таблица:

Код студента Фамилия Вуз Курс
100 Клюев УЛТА 1
101 Антипова УРГУ 4
103 Венских УГТУ 3
102 Гомель УЛТА 2
104 Шекин УЛТА 3
105 Орефьева УРГУ 2

Нужно получить код типа: Insert Студенты values (101 , 'Антипова' , 'УРГУ' , 4)

Для этого в формуле пишем: =СЦЕПИТЬ("Insert Студенты values ("& R[1]C[-4] & " , " & "'" & R[1]C[-3]& "'"& " , " & "'" & R[1]C[-2]& "'"& " , " & R[1]C[-1] & ")")

где
R[1]C[-4], R[1]C[-3], R[1]C[-2], R[1]C[-1] - номера ячеек,
амперсанд (&) - показывает что с чем мы слепляем, вроде плюса
в кавычки заключен текст, например апострофы, запятые, скобки.

Отдельно стоит остановиться на моменте, кода в формулу добавляются ячейки типа "Дата". Чтобы все отображалось корректно пользуемся такой записью:
=СЦЕПИТЬ("Insert Абонементы values (" & RC[-5] & " , " & RC[-4] & " , " & "'" & ТЕКСТ(RC[-3]; "ДД.ММ.ГГ") & "'" & " , " &RC[-2] & " , " & RC[-1] & ")")

Источники:
office.microsoft.com/ru-ru/excel-help/HP0103422...
www.programmersforum.ru/showthread.php?t=142910
sirexcel.ru/priemi-excel/kak-scepit-v-excel-yac...

Немного о TransactSQL

Чтобы не было проблем при выведении кириллических символов по запросу:
INSERT INTO tableName VALUES (N'Значение') (дописываем N перед значением, обозначает что значение в юникоде)

Ошибка
The ALTER TABLE statement conflicted with the FOREIGN KEY constraint....
может вылезать если применять ограничения к таблице, в которой уже заведены данные

Операторы сравнения и логические операторы:
msdn.microsoft.com/en-us/library/ms188074.aspx
msdn.microsoft.com/ru-ru/library/ms189773.aspx

Упражнения по построению запросов:
www.sql-ex.ru/?Lang=0

Пример вложенного запроса:
SELECT r.lib_id, r.data_type, r.record, r.data_type, r.article_pages, r.article_name, codes.title, r.home_code, cache.record AS crecord
FROM records r
LEFT JOIN cache ON r.lib_id=cache.lib_id AND r.home_code=cache.home_code
LEFT JOIN codes ON codes.lib_id=cache.lib_id AND codes.home_code_base=cache.home_code_base
WHERE r.irb_added=0 AND codes.priority=
(


SELECT MAX(codes.priority)
FROM records
LEFT JOIN cache ON records.lib_id=cache.lib_id AND records.home_code=cache.home_code
LEFT JOIN codes ON codes.lib_id=cache.lib_id AND codes.home_code_base=cache.home_code_base
WHERE records.irb_added=0 AND records.home_code=r.home_code
GROUP BY cache.home_code


)

GROUP BY r.data_type,r.home_code,r.article_pages
forum.dklab.ru/viewtopic.php?t=30797

основы межсетевого экранирования в Cisco IOS

Не претендуя на полноту изложения, попробую описать технологии, которыми можно воспользоваться для защиты периметра.

Рассматривать будем IOS с firewall feature set. Этот набор возможностей, как правило, есть во всех IOSах (в которых есть шифрование), кроме самого базового.

Итак, пусть на границе нашей сети стоит машрутизатор cisco, который и призван обеспечивать безопасность наших внутренних ресурсов.

Защищаем трафик.

Первым делом имеет смысл порезать ненужный трафик самым простым и грубым способом — списками доступа.

Списки доступа (ACL, Access Control List) для протокола IP — на маршрутизаторах cisco бывают стандартные (проверяют только ip адрес источника и разрешают или запрещают прохождение трафика по этому параметру) и расширенные (проверяют адреса источника и назначения, протокол передачи, порты источника и назначения, а также другие поля заголовков IP, TCP, UDP и других протоколов).

Порядок строк в списке доступа очень важен, т.к. проверяются эти строки по порядку и как только будет найдено совпадение, пакет или будет пропущен или будет уничтожен

В конце любого ACL непременно стоит невидимое «запретить все», поэтому мимо ACL пакет не проскользнёт.

Списки доступа бывают нумерованные и поименованные. Рекомендую использовать поименованные со смысловыми названиями.

Примеры:
access-list 1 permit 192.168.1.0 0.0.0.255

access-list 101 permit ip any 192.168.1.0 0.0.0.255

ip access-list standard TEST
permit host 1.2.3.4

ip access-list extended TEST2
permit tcp any 10.1.1.0 0.0.0.255 eq http
permit tcp any 10.1.1.0 0.0.0.255 eq https
permit udp any 10.1.1.0 0.0.0.255 eq 53
permit ip any 10.1.1.0 0.0.0.255 dscp cs5

Списки доступа — это шаблоны, которые можно использовать как для фильтрации трафика, так и как критерий отбора для других технологий. Например, списками доступа определяется «интересный» трафик для шифрования, для NAT, для QoS и т.д.

Сам по себе список доступа ничего не делает, пока не будет применен для какой либо технологии. Например, для фильтрации трафика на интерфейсе на вход или на выход ACL применяется командой

ip access-group <название ACL> {in|out}

Традиционно рекомендуется на внешний интерфейс вешать так называемый антиспуфинговый ACL, т.е. предотвращающий атаки с подделанных адресов.

Пример:
ip access-list ex ANTISPOOFING
deny ip host 0.0.0.0 any
deny ip 10.0.0.0 0.255.255.255 any
deny ip 172.16.0.0 0.15.255.255 any
deny ip 192.168.0.0 0.0.255.255 any
deny ip host 255.255.255.255 any
deny ip 224.0.0.0 15.255.255.255 any
permit ip any any

Важно: с таким ACL надо быть очень осторожным в случае, если вы работаете с шифрованными туннелями IPSec. Дело в том, что ACL, висящий на вход интерфейса, проверяет сначала заголовок зашифрованного пакета, а потом — заголовок расшифрованного.

Поэтому запрет трафика от частных сетей (10, 172, 192) может нарушить работу туннеля.

Итак, порезали ненужный трафик. Пришло время заняться межсетевым экранированием. Надо обеспечить внутренних пользователей Интернетом, но при этом не пропустить снаружи внутрь несанкционированные подключения. Маршруизаторы cisco умеют быть межсетевыми экранами с сохранением сессий (stateful firewall).

Если у вас задачи простые, нет выделенных зон безопасности, нет анонса сервисов наружу, то проще всего воспользоваться базовым межсетевым экраном.

Для этого надо создать правило ip inspect, описать те протоколы, которые вы хотите обрабатывать и запоминать сессии, привесить это правило на интерфейс и… всё :) Маршрутизатор будет запоминать те сессии, которые были инициированы изнутри, и пропускать снаружи только те пакеты, которые «заказаны». Если же пришедший пакет не соответствует никакой сессии, то дальше маршрутизатор проверяет ACL, висящий на интерфейсе, на предмет наличия разрешающего правила для этого пакета.

Пример конфига:

Ro(config)# ip inspect name FW tcp
Ro(config)# ip inspect name FW udp
Ro(config)# ip inspect name FW icmp
Ro(config)# ip inspect name FW ftp
Ro(config)# ip inspect name FW sip

TCP — слушает ТСР сессии.
UDP — слушает UDР сессии.
остальные строки включают прослушку и обработку соответствующего протокола, т.к. его работа сложнее, чем просто пропуск

ответного пакета TCP/UDP сессии. Например, протокол FTP имеет один служебный канал, по которому идёт согласование и аутентификация, а данные передаются совсем по другому каналу, причём сессия пытается инициироваться снаружи и маршрутизатор её не пропустит. А если включить инспектирование, маршрутизатор подслушает служебную сессию, узнает, на каких портах сервер и клиент договорились слать данные и эту сессию тоже поместит в список разрешенных.

Пусть f0/0 — внешний, а f0/1 — внутренний интерфейс

Ro(config)# int f0/1
Ro(config-if)# ip inspect FW in


Правило вешается на вход внутреннего или выход внешнего интерфейса, т.е. в направлении на ВЫХОД трафика наружу.

На внешнем интерфейсе висит строгий ACL, который почти ничего не пропускает снаружи, например

Ro(config)# ip access-l ex STRICT
Ro(config-ex-nacl)# deny ip any any

Ro(config)# int f0/0
Ro(config-if)# ip access-g STRICT in

В приведенном варианта снаружи пройдут только те пакеты, которые были запрошены изнутри.

Есть тонкость: ACL STRICT попутно запретит весь трафик на сам роутер, т.к. по умолчанию трафик роутера не попадает в инспектируемый. Чтобы инспектировать трафик маршрутизатора надо добавить

Ro(config)# ip inspect name FW router

Если же задачи сложные, надо создавать различные зоны безопасности (демилитаризованные зоны, DMZ), гибко настраивать работу протоколов между этих зон, то лучше воспользоваться так называемым, зональным межсетевым экраном (zone-based firewall). Описывать его здесь не буду, ибо это уже не для молодого бойца :)

Чем ещё можно защитить трафик, проходящий через маршрутизатор?

системой предотвращения вторжений (IPS), промежуточной аутентификацией (cut-through proxy), оценкой протоколов (технология ip nbar), созданием очередей (QoS).

Расскажу о них подробнее. Позже :)

Сергей Фёдоров


Отсюда: habrahabr.ru/post/60492/

Настройка VPN-сервера для Cico IOS (easy vpn)

aaa new-model

aaa authentication login VPN local
aaa authorization network VPN local

// здесь слово VPN задает имя шаблона, который используется для авторизации/аутентификации, за ним должен идти список методов, которые для этого используются. Можно, например, подцепить Radius-сервер и проинтегрировать сервис с AD. В данном случае я выбираю local - проверка будет происходить с использованием базы логинов/паролей на самом успройстве.


username vpnuser@VPN-USERS privilege 15 password 7 070C285F4D06
//эта команда создает пользователя vpnuser, члена группы VPN-USERS и задает ему пароль. При задании настроек впн-соединения следует указывать имя пользователя в виде vpnuser@VPN-USERS.


crypto isakmp policy 10
encr 3des
hash md5
authentication pre-share
group 2
!
crypto isakmp client configuration group VPN-USERS
key cisco
pool VPN_POOL
acl ACL_SPLIT_VPN
//здесь создается группа VPN-USERS, ей назначается пароль cisco, определяется пул адресов, который будет выдаваться подключившимся пользователям. Команда acl определяет какой трафик будет заворачиваться в туннель. Когда я тестил впн на убунте, оригинальный маршрут по умолчанию сохранялся, и добавлялся маршрут в сети, на которые указыает ACL_SPLIT_VPN. Без этой команды весь трафик идет по дефолту через туннель.


crypto ipsec transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac
!
crypto dynamic-map CRMAPDYN_EZVPN 10
set transform-set ESP-3DES-MD5
reverse-route
!
!
crypto map CRMAP_VPN client authentication list VPN
crypto map CRMAP_VPN isakmp authorization list VPN
crypto map CRMAP_VPN client configuration address respond
crypto map CRMAP_VPN 10 ipsec-isakmp dynamic CRMAPDYN_EZVPN
!
!

!
interface FastEthernet0/1
ip address 88.85.195.156 255.255.255.0
crypto map CRMAP_VPN
!
ip local pool VPN_POOL 192.168.0.13 192.168.0.15
ip forward-protocol nd
!
!
ip nat inside source route-map NAT interface FastEthernet0/1 overload
//настраиваем нат для хостов, работающих за нашим маршрутизатором. В качестве сорса использует роут-мап, который матчит аксесс-лист. Адреса которые попадают в deny не транслируются. В нашем случае это адреса, которые выдаются впн-пользователям, чтобы трафик корректно уходил обратно в туннель.


ip access-list extended ACL_SPLIT_VPN
permit ip 192.168.0.0 0.0.0.255 192.168.0.12 0.0.0.3

ip access-list extended FIREWALL
permit esp any any
permit ahp any any
permit udp any any eq isakmp
permit udp any any eq non500-isakmp

//аксесс-лист, который навешивается на интерфейс, смотрящий в интернет. Здесь я оставил только правила, необходимые для установки впн-соединения.

access-list 100 deny ip any 192.168.0.12 0.0.0.3
access-list 100 permit ip any any
!
route-map NAT permit 10
match ip address 100
!


Чтобы пользователя можно было добавить только в одну группу, можно использовать команду group-lock.

По материалам статьи: www.anticisco.ru/blogs/?p=1500

Unnumbered interfaces

dot1x authentication

packetlife.net/blog/2008/aug/6/simple-wired-802... - Очень полезная статья по 802.1X (dot1x authentication). Технология позволяет аутентифицировать через радиус-сервер клиентскую машину, цепляющуюся к порту свича. Так же с ее помощью можно назначать виланы.

воскресенье, 13 октября 2013 г.

Cisco и STP

RSTP он же Rapid Spanning Tree Protocol он же IEEE 802.1W-2001
- стандрат разработанный и опубликованный IEEE. Для всех виланов используется одно дерево.

PVST+ это проприетарный протокол, разработанный Cisco, по сути представляет собой вышеупоянуты RSTP но позволяющий строить отдельное дерево для каждого вилана.

Циско утвеждает что PVST+ совместим с RSTP и всеми расширениями оригинального STP (802.1D).

и вот тут начинаются вопросы.

Режимы в которых может работать STP на цисковском свиче:



DLS1(config)#spanning-tree mode ?
mst Multiple spanning tree mode
pvst Per-Vlan spanning tree mode
rapid-pvst Per-Vlan rapid spanning tree mode


При чем при вводе команды:


DLS1(config)#do sh spanning-tree

VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 24577
Address 001f.6ded.f200
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec

Bridge ID Priority 24577 (priority 24576 sys-id-ext 1)
Address 001f.6ded.f200
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300 sec



т.е. циска нам утверждает, что работает в режими ieee, однако это не значит что если мы соединим ее с устройством которое использует RSTP (открытый стандарт) все будет хорошо и гладно, потому что


Spanning tree enabled protocol ieee


означает что на нашей циске запущен PVST+ и все будет хорошо только до тех пор, пока мы используем только вилан 1.

Если использовать виланы кроме первого, то циска шлет BPDU на мультикаст адрес 0100.0cCC.CCCD, и если подключенное устройство не прослушивает этот адрес (а подавляющее большинство не-цисок его не прослушивают), возможности RSTP реализованы не будут и быстрой сходимости мы не увидим.

Вывод: циска может использовать одну стандартную версию STP: MSTP (#spanning-tree mode mst)

PVST+ и RapidPVST+ - проприетарные цисковские расширения.

Следовательно, если соединяем циску и устройство другого вендора, то либо ограничиваемся первым виланом, либо настраиваем оба на использование MSTP.


статья по сабжу от DELL

выдержка из базы данных Juniper по сабжу:



STP и MAC-адреса

My question is, when a Cisco switch participates in STP for the root switch election, and makes a BPDU with a MAC address in it, where do they get that MAC address? Do they just pick one of the MAC addresses from a random port inside themselves? Is it an unused port they pick? Otherwise, what if that port needs to use it's address for its own BPDU? Thanks for any info...

DavidH
Correct Answer by farroar on Jun 12, 2010 8:40 PM
farroar

If you were to look at the frames being sent in an STP election process you would see that the source MAC address would be of the port that the frame was exiting and the destination would be a multicast addresses used for STP.



Inside the frame the BPDU packet would list the switch's priority as well as it's base MAC address for the election. The base MAC address represents the switch where as the switchport MAC addresses represent the ports only. Each switch will use it's base MAC address for the election process. You can find out a switch's base MAC address by using the show version command.



Hope that clears it up for you!

Отсюда

Queu starvation (packet starvation)


If you have too many packet types being placed into the High queue, and even the Medium queue, traffic in the lower-priority Normal and Low queues ends up just sitting there. That's called queue starvation or packet starvation

VTP & DTP


Dynamic Trunking Protocol (DTP) sends the VTP domain name in a DTP packet. Therefore, if you have two ends of a link that belong to different VTP domains, the trunk does not come up if you use DTP. In this special case, you must configure the trunk mode as on or nonegotiate, on both sides, in order to allow the trunk to come up without DTP negotiation agreement.

www.cisco.com/en/US/tech/tk389/tk689/technologi...

пятница, 30 августа 2013 г.

Сброс пароля администратора в Kerio Mail Server

MailServer on Windows:

Stop the engine for Kerio Connect by right clicking on the engine monitor icon in the systray and selecting 'Stop Kerio Connect'.
Navigate to the directory Kerio Connect is installed in. Kerio Connect by default is installed here: C:\Program Files\Kerio\Mailserver.
Edit the file users.cfg with notepad.exe or wordpad.exe.

Isa + ssl на нестандартный порт

По умолчанию в через ISA зайти по адресу вида https://somedomain.com:port где port - любой номер порта отличный от 443 (дефолтный для ssl).
Решению вопроса способствует VBS sсript

Dim root
Dim tpRanges
Dim newRange
Set root = CreateObject("FPC.Root")
Set tpRanges = root.GetContainingArray.ArrayPolicy.WebProxy.TunnelPortRanges
set newRange = tpRanges.AddRange("SSL 10000", 10000, 10000) tpRanges.Save

Вместо 10000 подставить нужный номер порта. После выполнения никаких сообщений не последует. Это нормально. При попытке повторного выполнения появится ошибка. Это тоже нормально.

После выполнения скрипта следует перезапустить службу ISA

Источник: просторы интернета

Запустить 1с7 на Win7

Для 32-битной версии меняются файлы
%windir%\system32\sqlsrv32.dll
%windir%\system32\sqlsrv32.rll
%windir%\system32\odbcbcp.dll
Для 64-битной версии меняются файлы
%windir%\system32\sqlsrv32.dll
%windir%\system32\sqlsrv32.rll
%windir%\system32\odbcbcp.dll
%windir%\SysWOW64\sqlsrv32.dll
%windir%\SysWOW64\sqlsrv32.rll
%windir%\SysWOW64\odbcbcp.dll

Файлики берем из экспихи.
Системная локаль должна быть русской

Чтобы заменить файлики меняем владельца с TrustedInstaller на себя и добавляем нужные разрешения.

Cannot start IPSEC service error. The system cannot find the file specified.



Description:
Suddenly you cannot logon to the domain from a server. You cannot ping it, even though the network card is connected to the network and functioning normally. You can ping to self from the server. No firewall blocks the connection. When looking through event viewer, you notice 2 errors were log; Event ID 7023 and Event ID 4292 (IPSec driver has entered Block mode). Both are related to IPSEC. You check the IPSEC services and found that you cannot start it. There’s “The system cannot find the file specified” error.

Resolution:
The problem occurs when there’s corrupted file in the policy store. The file may become corrupted if an interruption occurs when the policy being written to the disk. To solve it, please go to HKEY_LOKAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\IPSec\Policy\Local. Delete this subkey (if exist). After that, rebuild the new local policies store. To do that, click Start > Run > type regsvr32 polstore.dll. Try starting the IPSEC services again. All issue should work well now.