вторник, 29 мая 2012 г.

Примитивное ограниченение скорости закачки на Mikrotik


Допустим появился у вас в сети интернет "качок". Чтоб ограничить ему скорость  с помощью Winbox на Mikrotik необходимо сделать следующее:

Для начала определим ip с помощью Torch в Interfaces и отсортируем столбик Tx Rate.

Далее следуем в Queues и в Simple Queue добавляем этот ip и выбираем скорость ограничения.


пятница, 25 мая 2012 г.

Настройка arpwatch

arpwatch отслеживает изменение свзяки mac-ip в сети.

Для настройки добавляем следующее ниже в /etc/rc.conf
arpwatch_enable="YES"
arpwatch_flags="-m почтовый@адрес"
arpwatch_interfaces="имя интерфейса" 

Добавляем следующее ниже в /etc/syslog.conf
!arpwatch
*.notice                                  /var/log/arpwatch.log


Создаем лог-файл
touch /var/log/arpwatch.log


Перезапускаем syslogd
killall -HUP syslogd

Для проверки работы смотрим в логи, а за остальным в man.

четверг, 17 мая 2012 г.

Топ-15 консольных команд для windows в помощь helpdesk

Есть незаменимые команды (утилиты), которые не возможно не использовать при диагностике работы сети и служб сети. Эти команды сотрудник службы helpdesk должен знать лучше, чем гимн своей страны :)
Команды должны вводиться в консоли (для тех, кто не знает или не хочет знать) :). Думаю объяснять, что такое консоль- нет необходимости.
Заранее хочу сказать, что самым лучшим ключом для команды должен быть /? .

ipconfig - определение ip-адреса локального ПК и не только. Думаю, самыми популярными ключами данной команды можно назвать ipconfig /all (отображение подробных сведений об сетевых интерфейсах ПК), ipconfig /release и ipconfig /renew помогут при динамической адрессации в сети, ну и ipconfig /flushdns очистить кэш DNS.

ping - думаю, данная команда не нуждается в представлении. Самая популярная, и не только, у пользователей Windows и службы хелпдеска. Данная команда проверяет существует ли соединение с удаленным хостом по протоколу ICMP.
Такой ответ вы получите при условии, что на удаленном хосте разрешены входящие ICMP-пакеты.

nslookup - незаменимая команда для диагностики работы DNS.





tracert - покажет по какому маршруту следуют данные к хосту и поможет определить на каком участке сети неполадки. Пример: tracert ya.ru

pathping - это, грубо говоря, 2 в 1, а именно ping+tracert.

nbtstat - поможет при решении неполадок связанных NetBIOS, если команду использовать со следующими ключами nbtstat -a или nbtstat -A, то можно определить ip, mac, к какой рабочей групе (или домену, покажет NetBIOS имя домена) пренадлежит ПК. В первом случае необходимо использовать имя ПК, а во втором- ip-адрес.

arp -  отображение информации по соответсвии ip-адреса к mac-адресу. Пример: arp -a

net - Очень полезная и разносторонняя команда, которая заслуживает отдельной статьи. Пример: net view, net time, net use, net start и net stop (запуск и остановка службы соответсвенно).

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

gpresult - поможет определить какая групповая политика применилась к ПК и залогиненому пользователю. Пример: gpresult /r .

gpupdate - обновление групповой политики. Пример: gpupdate /force

wuauclt - помогает при наличии в сети сервера обновлений (WSUS) Пример: wuauclt /detectnow запрашивает сервер обновлений о наличии новых обновлений, wuauclt /reportnow сообщает состояние серверу обновлений. wuauclt /resetAuthorization перерегистрация ПК на сервере обновлений.

netstat - отображение статистики и текущих сетевых подключений протокола TCP/IP. Пример: netstat -a.

route - команда для работы с таблицей сетевых маршрутов (маршрутизацией). Пример: route print.


set - отображает список переменных сред и их значения.


Может кое-какие забыл или не знал. Напомните? Подскажите? :)

среда, 16 мая 2012 г.

Книга по монтажу СКС

Полезная книга по монтажу СКС
Посмотреть

Отсылка смс уведомлений из Nagios

Для отсылки уведомлений на мобильный телефон администратора с помощью смс из системы мониторинга Nagios необходимо добавить в файл commands.cfg который обычно находиться в /usr/local/etc/nagios/objects/ следующие строки

define command {
        command_name    notify-service-by-sms
        command_line    /usr/bin/printf "$NOTIFICATIONTYPE$ : $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ ($SERVICEOUTPUT$)." | /usr/local/bin/gnokii --sendsms "$CONTACTPAGER$" -r
}

define command {
        command_name    notify-host-by-sms
        command_line    /usr/bin/printf "$NOTIFICATIONTYPE$ : Host $HOSTALIAS$ is $HOSTSTATE$ ($HOSTOUTPUT$)."  | /usr/local/bin/gnokii --sendsms "$CONTACTPAGER$" -r
}


а в файл contacts.cfg следующие:
define contact{
        contact_name                    admin            ; Short name of user
        use                             generic-contact         ; Inherit default values from generic-contact template (defined above)
        alias                           admin adminovich              ; Full name of user
        host_notification_period        eventtime        ;
        service_notification_period     eventtime;
        service_notification_commands   notify-service-by-email, notify-service-by-sms ;
        host_notification_commands      notify-host-by-email, notify-host-by-sms;
        email                           mail@mail.com    ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
        pager                           +380671234567;
}


Естественно ваша FreeBSD должна видеть мобильный телефон.
Я использовал утилиту gnokii и мобильный телефон Nokia 1200 и дата кабель CA-50.
Дата кабель в системе видится как устройство uplcom, поддержку которого необходимо включить в ядре.
Телефон видится как устройство /dev/cuaU0 и в конфигурационном файле gnokiirc модель телефона выставлена как Nokia 3110.
права на устройство /dev/cuaU0
ls -lah /dev/cuaU0
crw-rw----  1 uucp  dialer    0, 119 May 16 09:18 /dev/cuaU0


а так же файл /etc/group

uucp:*:66:nagios,gnokii
dialer:*:68:nagios,gnokii

Доступ к сайтам по времени через Squid

Очень часто требуется ограничить доступ для пользователей по времени к определенным сайтам (например, разрешить пользоваться соц. сетями только в обед и после рабочего времени).
Делается это следующим образом:
Создаются acl с временными отрезками.
#ACL TIME
acl workingtime time 00:01-23:59
acl dinnertime time 13:00-14:00
acl afterwork time 18:00-21:00


и назначается группе пользователей с acl-ами словарей

http_access allow internet-users workingtime !url-bad !url-porno
http_access allow internet-users dinnertime !url-porno
http_access allow internet-users afterwork !url-porno

NTLM авторизация в Squid

Для авторизации пользователей с помощью групп Windows из AD DS в squid необходимо в конфигурационный файл squid.conf добавить следующие строки:

auth_param ntlm program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive on
authenticate_cache_garbage_interval 15 minute
authenticate_ttl 5 minute
auth_param basic program /usr/local/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Squid Proxy-Server
auth_param basic credentialsttl 20 minute
auth_param basic casesensitive off


ну и соответсвенно указать в acl какую группу Windows из AD DS брать:
acl internet-users external nt_group internet-users
http_access allow internet-users

P.S. думаю и так понятно, что должен быть настроен winbind.

воскресенье, 6 мая 2012 г.

Конфигурационный файлы для связи FreeBSD с Windows AD DS

Набор необходимых конфигурационных файлов для настройки связки FreeBSD + Windows AD DS.

-----smb.conf-----

[global]
   workgroup = ИМЯ ДОМЕНА(нетбиос имя)
   server string = Описание сервера
   security = ads
   hosts allow = 192.168.0.
   log file = /var/log/samba/log.%m
   max log size = 1024
   password server = fqdn контроллера домена
   realm = доменное имя
   passdb backend = tdbsam
   socket options = TCP_NODELAY
   local master = no
   os level = 0
   domain master = no
   preferred master = no
   domain logons = no
   display charset = koi8-r
   unix charset = koi8-r
   dos charset = cp866
   winbind use default domain = no
   winbind uid = 10000-20000
   winbind gid = 10000-20000
   winbind enum users = yes
   winbind enum groups = yes
----------------------------------------------- 


-----krb5.conf-----

[libdefaults]
        default_realm = ДОМЕННОЕ ИМЯ

[realms]
        ДОМЕННОЕ ИМЯ = {
                kdc = ДОМЕННОЕ ИМЯ (или IP) контроллера домена(КД)
                admin_server = ДОМЕННОЕ ИМЯ
(или IP) КД
        }

[domain_realm]
        .доменное имя = ДОМЕННОЕ ИМЯ

[logging]
        kdc = FILE:/var/log/krb5kdc.log
        admin_server = FILE:/var/log/kadmin.log
        default = FILE:/var/log/krb5lib.log
-----------------------------------------------

-----nsswitch.conf-----

#
# nsswitch.conf(5) - name service switch configuration file
# $FreeBSD: src/etc/nsswitch.conf,v 1.1.10.1.6.1 2010/12/21 17:09:25 kensmith Exp $
#
group: files winbind
group_compat: nis
hosts: files dns
networks: files
passwd: files winbind
passwd_compat: nis
shells: files
services: compat
services_compat: nis
protocols: files
rpc: files
-------------------------------------------------

Добавить в /etc/rc.conf
winbindd_enable="YES"

Синхронизировать время с контроллером домена командой net time set -S IP_адрес_КД

получить билет керберос командой kinit login@ДОМЕННОЕ_ИМЯ.

Ввести FreeBSD машину можно командой net ads join -U login.

П.С.Данные конфигурационные файлы 100% работают на FreeBSD 8.2, версия Samba 3.6.3 .

пятница, 4 мая 2012 г.

Проблемы с настройкой маршрутизатора Mikrotik и PPPoE

Не так давно, возникла проблема: после настройки маршрутизатора MikroTik, на многих ПК организации (так и не понял, почему на некоторых работало, а на некоторых нет) не загружались сайты: rabota.ua, www.microsoft.com .
Интернет от провайдера получаю через PPPoE.
Покопавшись в интернете, нашел информацию, которая все же помогла:
1. Изменить MTU.
2. Добавить следующее правило:
/ ip firewall mangle add chain=forward protocol=tcp tcp-flags=syn tcp-mss=1453-65535 action=change-mss new-mss=1360  disabled=no

Так говорит Wikipedia:
 MSS (Maximum segment size) является параметром протокола TCP и определяет максимальный размер блока данных в байтах для TCP пакета (сегмента). Таким образом этот параметр не учитывает длину заголовков TCP и IP.[1] Для установления корректной TCP сессии с удалённым хостом должно соблюдаться следующее условие:

MSS + заголовок TCP + загловок IP ≤ MTU

Минимальный размер MSS = MTU — размер заголовка IPv4 — размер заголовка TCP

Данное правило говорит о том, что необходимо промаркировать и установить новый MSS на все пакеты с tcp-флагом syn (новые соединения).