понедельник, 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"


четверг, 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) за помощь.

четверг, 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)

среда, 16 декабря 2009 г.

Включить ssh на VMWare ESXi

После локального входа на интерфейс управления:
нажать Alt + F1
перейти в режим техсаппорта: unsupported (печатать вслепую)
ввести пароль root (его заранее установить штатными средствами)
отредактировать /etc/initd.cong (снять комментарий с раздела #ssh - убрать шарп)
редактировать придется в vi
после сохранения - перезапустить сервис: /sbin/services.sh restart

Update: актуально для версии ESXi 3.0-3.5, в 4.0> (Sphere) убрано.

Минимальная настройка и апгрейды Cisco NAC Guest.

Собственно, сама установка полностью автоматизирована и говорить об этом процессе излишне. По умолчанию устанавливается пароль для root - cisco. После входа настоятельно ректмендуется его сменить: passwd root
Настройки сети выставляются через скрипт: system-config-network
После изменения сетевых параметров потребуется перезагрузиться, после чего заходим на веб интерфейс: https://ip_server/admin (ip_server - адрес, установленный в syste-config-network).
При первом входе потребуется загрузить лицензию (при покупке аплайнса лицензия привязывается к мас адресу сетевого интерфейса, для тестов можно запросить месячную лицензию - ссылка на форму запроса есть на странице ввода).
Доступ на веб интерфейс (логин / пароль) admin / admin

Апгрейд с версии 1.0  до 1.1.3 - последней в первой ветке (аналогичен апгрейд до промежуточных версий):
после скачивания апгрейдного пакета (tar.gz архив), по SFTP копируем его в каталог /guest/upgrade/ (под Виндой можно использовать бесплатный WinSCP)
распаковываем архив: tar zxvf ....tar.gz
в созданном каталоге запускаем ./upgrade.sh
после отработки скриптов - перегружаемся.
Аналогично можно проапгрейдиться с версии 1.1.3 до 2.0.0
Для апгрейда с 2.0.0 пакет представляет собой уже не архив, а сразу sh файл, который также копируется по SFTP !в режиме bin! в каталог /guest/upgrade/, где запускается:
sh ./....sh
Вроде бы перезагружать сервер не требуется, но все таки рекомендуется это сделать.

понедельник, 7 декабря 2009 г.

Ошибка 442 в Vista - Cisco VPN Client

Для того, чтобы заработал под Вистой Cisco VPN Client 5.0.05.0290


нужно отключить службу "Общий доступ к подключению к Интернету (ICS)"
иначе выдает ошибку 442, что не позволяет включить виртуальный адаптер.

пятница, 20 ноября 2009 г.

Оптимизация списков доступа (access-lists) при помощи object-groups.

Представим, что у нас есть сеть, где распределение прав реализовано на уровне адресов и портов. Есть ряд хостов, которым нужно предоставить доступ к строго определенным сетевым ресурсам, например:
компьютеры 172.16.0.1, 172.16.0.15, 172.16.0.21, 172.16.0.38 должны иметь право доступа на сайт Яндекса (93.158.134.8).
Для этого на входной интерфейс локальной сети вешаем именованный лист LAN-IN, куда добавляем несколько правил:
(config)# ip access-list extended LAN-IN
permit tcp host 172.16.0.1 host 92.158.134.8 eq 80
permit tcp host 172.16.0.15 host 92.158.134.8 eq 80
permit tcp host 172.16.0.21 host 92.158.134.8 eq 80
permit tcp host 172.16.0.38 host 92.158.134.8 eq 80
...
вроде бы 4 записи - ничего страшного, но когда будет нужно группе хостов дать доступ к сервисам другой группы хостов, количество записей резко возрастет, кроме этого, если у пользователя по каким-то причинам поменялся адрес, нужно четко отслеживать порядковый номер записи в листе. Более гибкий механизм - использование object-group.
Такие группы объединяют сетевые объекты (отдельные хосты и подсети - IP адреса) или сервисы (порты).
Например, кусок конфига с использованием сетевых объектов:
...
object-group network ICQUSERS
host 172.20.11.12
host 172.20.11.17
host 172.20.11.45
host 172.20.11.55
host 172.20.11.117
host 172.20.11.130
host 172.20.11.162
host 172.20.11.168
host 172.20.11.184
host 172.20.11.185
host 172.20.11.188
host 172.20.11.195
host 172.20.11.196
host 172.20.11.198
host 172.20.11.201
host 172.20.11.206
host 172.20.11.207
host 172.20.11.216
host 172.20.11.221
host 172.20.11.222
host 172.20.11.225
host 172.20.11.230
host 172.20.11.236
host 172.20.11.237
host 172.20.11.247
host 172.20.11.249
host 172.20.12.6
host 172.20.12.21
host 172.20.12.41
host 172.20.12.51
host 172.20.12.55
host 172.20.12.95
host 172.20.12.100
host 172.20.12.112
...
object-group network POISKUSERS
host 172.20.1.10
host 172.20.1.11
host 172.20.1.20
host 172.20.1.21
host 172.20.1.101
host 172.20.11.17
host 172.20.11.45
host 172.20.11.130
host 172.20.11.141
host 172.20.11.199
host 172.20.11.216
host 172.20.11.220
host 172.20.11.222
host 172.20.11.225
host 172.20.11.230
host 172.20.11.236
host 172.20.11.252
host 172.20.12.21
host 172.20.12.51
host 172.20.12.100
host 172.20.12.104
host 172.20.12.112
host 172.20.12.116
host 172.20.12.120
host 172.20.12.77
host 172.20.11.184
...
object-group network POISKOVIKI
host 209.85.229.104
host 93.158.134.8
host 81.19.70.3
...
ip access-list extended LAN-IN
...
permit tcp object-group POISKUSERS object-group POISKOVIKI eq 80 443
permit tcp object-group ICQUSERS any eq 5190
...
добавлять хосты в группы можно налету не меняя правил в списке доступа.

Настройка Центра Сертификации (СА) на Cisco IOS.

Для начала рекомендуется выставить временную зону и "подвести" часы, чтобы потом не было мучительно больно:
(config)# clock timezone MSK 3
# clock set 10:00:00 19 Nov 2009 (как пример)
Включим встроенный веб сервер:
(config)# ip http server
Создадим сервер сертификатов по имени самого рутера R0-CA (пока без изысков с дефолтными настройками):
(config)# crypto pki server R0-CA
no shutdown
В результате будет создан trustpoint R0-CA и в хранилище добавлен корневой сертификат.
Теперь создадим новый trustpoint для получения сертификата себе любимому:
(config)# crypto pki trustpoint FOR-ME
enroll url http://R0-CA:80
Аутентифицируем корневой сертификат траста и сделаем заявку:
(config)# crypto pki authenticate FOR-ME
(config)# crypto pki enroll FOR-ME
отвечаем на вопросы, что включать в параметры сертификата (серийник, IP) и вводим пароль на сертификат.
Иногда желательно "подкрутить" сервер сертификации (если флешка вместительная):
crypto pki server CA-3725
database level complete
lifetime crl 24
lifetime ca-certificate 1825
database url flash:
grant auto (будет одобрять все запросы сертификатов)
храним все сертификаты неурезанные на флеше, и корневой сертификат выдан на 5 лет
для просмотра запрошенных сертификатов:
# crypto pki server R0-CA info requests
для подтверждения выпуска сертификата по запросу:
# crypto pki server R0-CA grant # (или all для одобрения всех заявок).

понедельник, 2 ноября 2009 г.

Установить в Ubuntu RPM пакет.

Иногда попадаются готовые пакеты под "шапочку". Для его установки можно воспользоваться проектом Alien:

sudo apt-get install alien

sudo alien -i NNN.rpm

или сконвертить в deb:

sudo alien NNN.rpm

Подключение рутера из GNS3 к сети.

Для доступа к виртуальному маршрутизатору в GNS'е необходимо создать интерфейс TAP, сбриджевав его с реальным:

sudo brctl addbr br0 # создаем бриджевой интерфейс

sudo ip l s dev br0 up # переводим его в активное состояние

sudo tunctl -t tap0 -u user1 # создаем интерфейс tap0 с правами user1

sudo ip l s dev tap0 up # переводим его в активное состояние

sudo brctl addif br0 tap0 # вяжем бриджевой интерфейс с tap0

sudo brctl addif br0 eth0 # вяжем бридж с реальным интерфейсом

sudo ifconfig eth0 0.0.0.0 promisc # убираем дрес с реального интерфейса и переводим его в смешанный режим

sudo ip a a 192.168.0.1/24 dev br0 # присваиваем бриджевому интерфейсу адрес или для выдачи по DHCP: sudo dhclient br0

можно также добавить маршрут по-умолчанию:

sudo ip r a default via 192.168.0.2

Сносим паблик фолдеры Exchange 2007

Жестокое удаление паблик фолдеров

Get-PublicFolder -Server exch.test_my.local "\" -Recurse -ResultSize:Unlimited | Remove-PublicFolder -Server exch.test_my.local -Recurse -ErrorAction:SilentlyContinue

Get-PublicFolder -Server exch.test_my.local"\Non_Ipm_Subtree" -Recurse -ResultSize:Unlimited | Remove-PublicFolder -Server exch.test_my.local -Recurse -ErrorAction:SilentlyContinue


Кодировка cp1251 в MySQL

Чтобы не лицезреть результат интернационально-кракозябровой дружбы на страницах добавим в /etc/my.cnf строки:

В раздел [mysqld]:

default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake

В раздел [mysqldump] :

default-character-set=cp1251

Рестарт сервисов.




Кодировка cp1251 в gedit

Для добавления поддержки виндовой кодировки в настройках gconf-editor / gedit2 / preferences / encodings / добавим автопределение cp1251 (windows-1251).

Переименование контроллера домена Win 2003.

Сначала "добавим" еще одно имя:

netdom computername dc1 /add:dc2-new

netdom computername dc1 /makeprimary:dc2-new

перезагрузка

проверим наличие обоих имен: netdom computername dc2-new /enumerate

удалим старое имя:

netdom computername dc2-new /remove:dc1

Создание записей DNS для OCS2007.

Для OCS2007 требуется создать две сервисные записи:

домен test_my.local

сервер ocs1

создание записей:

dnscmd /recordadd test_my.local _sip._tcp.test_my.local srv 0 0 5060 ocs1.test_my.local

dnscmd /recordadd test_my.local _siptls._tcp.test_my.local srv 0 0 5061 ocs1.test_my.local

вариант с записями вида _sipinternal:

dnscmd /recordadd test_my.local _sipinternal._tcp.test_my.local srv 0 0 5060 ocs1.test_my.local

dnscmd /recordadd test_my.local _sipinternaltls._tcp.test_my.local srv 0 0 5061 ocs1.test_my.local

Некоторые порты AD.

Порты службы каталогов (+ виндовые):

tcp 135, 139 (RPC)

udp 137, 138 (NetBIOS)

tcp/udp 445 (CIFS/SMB)

tcp/udp 88, 464 (Kerberos5)

tcp 389 (LDAP)

tcp 3268 (GC)

Полное удаление информации о контроллере AD.

Сначала ntdsutil:

ntdsutil /metadata cleanup /connections /connect to server ... /quit

select operation target /list domains /select domain ... /list sites /select site ... /list servers in site /select server "must die"/quit

remove selected server

Теперь удалим записи об удаленном контроллере из DNS:

удаляем все записи типа A этого сервера, а также из сервисных каталогов:

_msdts._tcp.dc.ldap и _mstds._tcp.gc.ldap

Подчищаем в adsiedit структуры:

domain\имя_домена\domain controllers\...

configuration\configuration имя_домена\sites\default-first-site\servers\...

убедимся, что нет записей в ..\%Systemroot%\System32\Config\Netlogon.dns (записи вида _gc; _kerberos; _kpasswd; _ldap.

Восстановление AD Win 2003 из бэкапа.

Бэкап (сохранение состояния системы).

Сначала пробуем не принудительное восстановление - при загрузке F8 и выбрать пункт восстановления, пароль и путь к бэкапу. Если какие-либо доменные записи удалялись, то после предварительного овсстановления - утилита ntdsutil:

ntdsutil /autoritative restore/restore subtree ... выбрать удаленные ветки.

Экспорт и импорт данных MS DHCP сервера.

Экспорт текущих настроек и записей статичских сопоставлений (и аренд):

netsh dhcp server \\localhost export c:\dhcpdatabase

соответственно импорт:

netsh dhcp server \\localhost import c:\dhcpdatabase

Маршруты в Ubuntu

Добавить статический маршрут:

/etc/route2/route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0

маршрут по-умолчанию:

route add default gw 192.168.0.1

Удаление Exchange 2007

Когда нет возможности удалить "Чангу" штатным образом:

для прибивания ящиков желательно создать учетку, так как Эксч при удалении ящика грохает пользовательскую учетку в домене, тут может быть морока с отвязыванием пользователей от ящика (перепривязывание на левую учетку, которая и будет удаляться вместе с ящиком), этот процесс можно частично облегчить с помощью PowerShell.

удаляем общие папки, их реплики и базы данных - edb файлы (находятся ..\ProgramFiles\Microsoft\ExchangeServer\Mailbox\Имя_группы_хранения\Имя_базы), также командлет Remove-PublicFoldersDatabase -Identity сервер\группа_хранения\база_общих_папок

запуск ..\ProgramFiles\Microsoft\ExchangeServer\bin\setup.com /mode:uninstall

удалить файлы журналов

в консоли из каталога ..\ProgramFiles\Microsoft\ExchangeServer\Scripts\ выполнить:

Get-PublicFolderStatistics -server имя_сервера | fl | out-file файл_вывода_инфы.txt

Get-PublicFolder -server имя_сервера\-recurse | fl | out-file еще_файл.txt

Get-PublicFolder -server имя_сервера\non_ipm_subtree -recurse | fl | out-file и_еще_файл.txt

Remove-PublicFolderDatabase -Identity имя_хранилища

Get-PublicFolderDatabase | Remove-PublicFolderDatabase -RemoveLastAllowed

теперь из ADSIEdit вычистим все из:

Configuration\Services\MicrosoftExchange\имя_организации_Эксча\AdministrativeGroup\ExchangeAdministrativeGroup(FYDIBOHF23SPDLT)\Servers

удалим из реестра пустой ключ:

HKLM\System\CurrentControlSet\Services\MSExchange\ADAccess\Instance0\ConfigDCHostName

Некоторые полезные команды Apt и dpkg.

Помощники по пакетам:

apt-get install / remove ... - установка из репозитория / удаление (полное удаление с опцией --purge)

apt-cache search ... - поиск по репозиторию

apt-file search / list ... - зависимости пакета

apt-get update - обновить списки репозиториев (после правки /etc/apt/sources.list)

dpkg --get-selections > ... - вывод в файл списка установленных пакетов

для установки из списка: dpkg --set-selections < ... потом apt-get dselect-upgrade (полезно

для дублирования серверов)

apt-get autoclean / clean (удаление старых пакетов)

установка / удаление конкретного пакета (без предварительной проверки зависимостей):

dpkg -i / -r ... . deb

Дампы MySQL выгрузка и загрузка.

Имя базы - test_db

имя пользователя - test_usr

его пароль - Test_Pa$$

Выгрузка: mysql -utest_usr -pTest_Pa$$ test_db > dump_test_db.sql

Загрузка: mysql -utest_usr -pTest_Pa$$ test_db < dump_test_db.sql

База в MySQL

Создание пустой базы для некоторого пользователя: 

имя базы - test_db

имя пользователя - test_usr

его пароль - Test_Pa$$

создаем в локальной СУБД,

сначала подключаемся под рутом (скулевым):

mysql -u root mysql

можем задать новый пароль рута:

UPDATE user SET Password=PASSWORD('New_Root_Pa$$') WHERE user='root'

выходим и перегружаем: mysqladmin reload

mysql restart

mysqld restart

снова заходим и создадим базу и привяжем к ней пользователя:

CREATE DATABASE test_db;

INSERT INTO db (host, db, user) VALUES ('localhost', 'test_db', 'test_usr');

GRANT ALL on test_db.* to 'test_usr'@'localhost' IDENTIFIED BY 'Test_Pa$$';

FLUSH PRIVILIGES;

Редактор vi / vim.

Базовые команды редактора (необходимый минимум):

вход осуществляется в режиме команд, для перехода в режим редактирования - "a" или "i" (отличия только куда будет осуществляться вставка - до курсора или после).

для перехода обратно в режим команд - Esc

в режиме команд - поиск нужного слова или строки: "/" собственно_что_ищем "n" следующее значение.

сохранение изменений   :w (с двоеточием!)

выход   :q (выход с сохранением   :wq)

выход без сохранения   :q!  (с двоеточием и восклицательным знаком).

Рекомендуемые разрешения для папок и файлов web сервера.

На всякий случай: 777 - полное разрешение всем на все, 000 - полное запрещение.

chmod 755 - для директорий CGI и скриптов.

chmod 644 - для файлов скриптов.

chmod 600 - для индивидуальных скриптовых файлов.

VBS замена локальных паролей.

Set objArgs=Wscript.Aruments

 If Wscript.Arguments.Count=1 Then

If Strcomp(ucase(objArgs(0), UCase("-Domain"))=0 Then

mode 1

EndIf

If Strcomp(ucase(objArgs(0), UCase("-Group"))=0 Then

mode 2

EndIf

If Strcomp(ucase(objArgs(0), UCase("-PC"))=0 Then

mode 3

EndIf

Else

mode 0

EndIf

Просмотр работающих сервисов Linux

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

netstat -na | grep LISTEN | grep 25 # для smtp сервиса

Туннелирование RDP через SSH

Иногда полезно без ВПНов или выставления RDP наружу подключиться к машине внутри удаленной сети:

ssh -L 3389:ip_адрес_внутренней_машины:3389 ip_адрес_внешний -l имя_пользователя

rdesktop -a16 -g1024x768 127.0.0.1:3389

Защита от SQL injection в mod.security Apache

Добавим при установленном модуле mod_security.c в httpd.conf

SecFilter "delete[[:space:]]+from"

SecFilter "incert[[:space:]]+into"

SecFilter "select.+from"

SecFilter "\.\./" # чтение выше корня

SecFilter "<(.|\n)+>" # XSS

SecFilter "<[[:space:]]*script"

Быстрое применение групповых политик.

Настройка политик - консоль:

gpmc.msi

применение:

gpupdate /force

Некоторые действия при апгрейде домена (2000 -> 2003).

Регистрация схемы (появится возможность добавить сему в mmc):

regsvr32 schmmgmt.dll

Далее запуски "препов" (из тулзов на установочном диске):

adprep /forestprep

adprep /domainprep

Был баг, когда требовалось четко запускать "препы" со второго диска R2!

Сервисная DNS запись на Cisco

Иногда бывет надо указать адрес контроллера домена на рутере:

ip host _ldap._tcp.dc.msdcs.<домен>.local srv 1 1 389 ip_адрес_контроллера

Win 2003 NLB кластеры режимы отслеживания.

Режимы Array / Enterprise.

Использование Array политик (они задаются после основных, поэтому могут носить только ужесточающий характер, но не разрешающий).

Пакетная фиьтрация - добавить запись и ключ в реестре:

HKLM\System\CurrentControlSet\Services\WLBS\Parameters\Global\ создать ключ EnableTCPNorification и присвоить ему значение DWORD = 0

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

Доступ в Windows Server 2003 через COM порт

Отредактировать загрузчик (можно вручную, но лучше через bootcfg):

bootcfg.exe /EMS ON /PORT COM1 /BAUD 19200 /ID 1

потребуется перезагрузка.