Сообщения

Показаны сообщения с ярлыком "Сетевые сервисы"

Установка драйвера USB Ethernet Dlink DUB-E100 с чипом С1

Сегодня пришли новые USB-адаптеры Dlink DUB-E100. Как оказалось у них новый чип C1, из-за чего Linux не видит сетевое устройство. Что-же, идем на сайт и качаем драйвер для Linux естественно. Распаковываем архив и открываем в редакторе файл asix.c. Находим строчки кода           // DLink DUB-E100B           USB_DEVICE (0x07d1, 0x3c05),          .driver_info =  (unsigned  long ) &dlink_dub_e100b_info, }, { Читать далее...   |   Комментировать

Обновление JUNOS на Juniper SRX100

Изображение
Маленькая заметка о том, как установить свежий junos на новый juniper srx100b. Есть два варианта как обновить junos на оборудовании juniper. Первый и самый простой — это сделать через web-интерфейс. Второй — это сделать через терминальный доступ и источник, где лежит новый junos можно указать ftp, tftp, ssh host. У первого доступа есть главный недостаток – чтобы обновить junos нужно находиться с ним в одной подсети, а когда мы смаршрутизировались из других сетей, нас на web-интерфейс уже не пустит политика безопасности, которая выглядит вот так: set system services web-management http interface vlan.0 set system services web-management https system-generated-certificate set system services web-management https interface vlan.0 Читать далее...   |   Комментировать

Мониторинг транков Asterisk с уведомлением о проблеме по почте

Хочу привести пример php скрипта, который я иногда использую для мониторинга транков. Я поменщаю его в cron с интервалом в 15 минут. После срабатывания он проверит транки. Если есть не работающий - дает паузу в 20 секунд. Снова проверяет состоняние транков. Если ничего не изменилось - перегружаем модуль chan_sip в asterisk. И если это не могло - шлем email с отчетом по почте, указанной в переменной $report_email. Скрипт не мой лично - но нареканий в работе у меня нет. Если у кого то не отоборажается - выложил скрипт сюда https://gist.github.com/3656293

Как узнать ip адрес интерфейса и вывести только его

Маленький пример о том как использовать ifconfig, cut и awk чтобы вывести только ip адрес. Вывод команды ifconfig будет таким $ /sbin/ifconfig lo        Link encap:Local Loopback           inet addr:127.0.0.1  Mask:255.0.0.0           inet6 addr: ::1/128 Scope:Host           UP LOOPBACK RUNNING  MTU:16436  Metric:1           RX packets:69527 errors:0 dropped:0 overruns:0 frame:0           TX packets:69527 errors:0 dropped:0 overruns:0 carrier:0           collisions:0 txqueuelen:0           RX bytes:41559546 (39.6 MiB)  TX bytes:41559546 (39.6 MiB) eth0      Link encap:Ethernet  HWaddr 00:17:9A:0A:F6:44           inet addr:192.168.2.1  Bcast:192.168.1.255  Mask:255.255.255.0         ...

Установка драйвера для NetGear WNA1100 USB WiFi адаптера

Изображение
Попросили меня на днях подключить драйвер для WiFi адаптера NetGear WNA1100 USB. Выглядит сей девайс следующим образом (см. картинку). Интересен он тем, что может работать в режиме Access Point в связке с hostapd . Итак, втыкаем этот девайс в машину и смотрим что адаптер определился: [root@host src]# lsusb  Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 002: ID 0846:9030 NetGear, Inc.  Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Если у вас также - значит поехали далее. Устанавливаем linux-headers, build-essential и качаем драйвера: [root@host ~]# apt-get install linux-headers-$(uname -r) [root@host ~]# apt-­get install build-essential [root@host src]# cd /usr/src [root@host src]# wget h...

Закрываем доступ к сайту с помощью .htpasswd и .htaccess

Эта заметка скорее не для общего обозрения, а чисто для себя. Бывает что нужно быстро закрыть доступ к некоему http-ресурсу. И я каждый раз ищу документацию по опциям htaccess и htpasswd. Чтобы этого не делать - лучше выложу у себя в блоге. Может кому-то пригодится. Итак, в настройках apache разрешаем Override. Это для того, чтобы можно было .htaccess задействовать. Пример virtualhost: < VirtualHost *:80 >     ServerAdmin worldisfreedom@gmail.com     DocumentRoot /home/www/www.alertme.ru/html     ServerName alertme.ru     < Directory / >       Options FollowSymLinks         AllowOverride All             < /Directory >     ErrorLog /home/www/www.alertme.ru/logs/error.log     CustomLog /home/www/www.alertme.ru/logs/access.log common < /VirtualHost > Даем команду на reload apache: # /sbin/service/httpd reload Далее ...

Редирект в nginx или использование rewrite и proxy_pass

Возникла тут задачка сделать редирект с помощью nginx при определенном запросе к сайту. Для осуществления нашей задачи я приведу пример конфига:  server {          listen       80;          server_name  www.site.ru site.ru;          reset_timedout_connection  on;          location ~* /Service {             proxy_pass http://avia.go2see.ru;          }          location ~* /Service2 {             rewrite ^ http://demo.site.ru/Service2 permanent;          }          location / {              proxy_pass http://www/;              proxy_next_upstream error timeout invalid_header http_500 http_503;       ...

Как привязать ssl к nginx

В данной заметке я расскажу как быстро привязать ssl сертификат к nginx. Испытания мы  проведем тестовом сервере с тестовым сертификатом, который запросим у Comodo. Итак, для начала определимся что у нас есть. А есть у нас один nginx сервер который смотрит в Интернет. И, для простоты, один внутренний (с ip 10.10.10.10) для которого и будет создаваться стандартное и ssl подключение. Конечно, серверов может быть сколько угодно. Но мы с вами сейчас не будем усложнять. Для начала нам необходимо создать CSR-запрос на сертификат. Бесплатно можно его сделать либо напрямую у Comodo, либо через сайт  http://www.freessl.su/ . Мы будет делать через  http://www.freessl.su/ . Конфигурационные файлы от nginx у меня лежат в каталоге /etc/nginx. Создаем там подкаталог ssl и переходим в него. # mkdir /etc/nginx/ssl # cd /etc/nginx/ssl Далее необходимо создать CSR запрос. Для этого сначала создадим файл приватного ключа следующей командой: # openssl genrsa -des3 -out secure.w...

Выполнение скрипта при обращении к хосту

Однажды у меня возникла задача - как сделать так, чтобы при обращении к определенному ip на шлюзе запускался некий скрипт или программа. В этом посте я хочу привести пример на perl с использованием tcpdump. В этом скрипте если было обращение с хоста 192.168.0.104 к 93.158.134.61 произойдет перезапуск DLNA сервера. Я использую его в связке со своим телевизором подключенном к локальной сети. Таким образом мне удалось перезапускать DLNA службу, если я открыл на телевизоре сайт yandex.ru. Ну и собственно сам скрипт: #!/usr/bin/perl $LIMIT = shift || 5000; $|=1; open (STDIN,"/usr/sbin/tcpdump -lnx -s 1024 dst port 80 |"); while (<>) {     if (/^\S/) {   last unless $LIMIT--; while ($packet=~/(GET|POST|WWW-Authenticate|Authorization).+/g)  {        #print "$client -> $host\t$&\n";        if(($host=="93.158.134.61") and ($client="192.168.0.104")){           ...

Ищем обнаглевших пользователей в организации

Возникла небольшая задача: найти пользователя, который качает большой файл и напрочь забил нам канал. Ситуация придуманная, но основана на реальных событиях =). Итак, логинимся на наш шлюз и устнанавливаем пакет netdiag[в данный пакет входят следующие утилиты: trafshow,strobe,netwatch,statnet,tcpspray,tcpblast] # apt-get install netdiag Далее, запускам trafshow на интерфейсе, подключенном к Интернету. # trafshow -i eth1 И наблюдаем, кто выжирает трафик. Идем к этому пользователю и даем ему по шапке =))

Защита ssh в debian с помощью denyhosts

Denyhosts - это скрипт, написанный на Python для защиты[в основном] SSH серверов от переборов паролей[брутфорса].Скрипт отслеживает логи системы о неудачных авторизациях и после того, как N-раз был неверно введена связка "логин-пароль" блокирует IP-адрес, с которого производилась атака[Банально вносит IP-адрес в /etc/hosts.deny]. Я покажу как за несколько минут защитить сервер от подбора паролей[знаю, что тема избитая, но решил написать для людей, кому не интересно долго ковыряться в настройках]. Итак, у вас уже должен быть установлен python. Если нет то устанавливаем: apt-get install python Скачиваем сам скрипт [На момент написания заметки версия 2.6]. wget http://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz/download Дальше распаковываем архив, заходим в него и запускаем процесс установки[из под root]: $ tar xvfz DenyHosts-2.6.tar.gz $ cd ./DenyHosts-2.6 # python setup.py install После этого необходимо скопировать конфигурационный файл ...

Как узнать какая программа слушает порт

netstat -lnp Хотите узнать сколько стоит БУ авто , то вам сюда http://auto.irr.ru/ - из рук в руки авто

Смена MAC адреса в Linux

Останавливаем интерфейс eth0, назначаем новый MAC, перегружаем сеть ifconfig eth0 down ifconfig eth0 hw ether 00:00:00:00:00:00 /etc/init.d/networking restart Чтобы MAC менялся и при загрузке открываем файл /etc/network/interfaces и к интерфейсу добавляем в качестве параметра к сетевому интерфейсу: hwaddress ether 00:00:00:00:00:00 А вот тут можно обменять деньги webmoney

Инициализация iptables при загрузке debian

В последних версиях Debian отсутствует скрипт инициализации iptables. Приведу маленький пример, как решить данный вопрос. Когда вы уже решили что все в iptables настроено и отлажено: iptables --list Сохраняем настройки командой: iptables-save > /etc/firewall.conf После чего выполняем последовательность команд echo "#!/bin/sh" > /etc/network/if-up.d/iptables echo "iptables-restore > /etc/network/if-up.d/iptables chmod +x /etc/network/if-up.d/iptables В тут можно узнать цены на услуги colocation в москве

Быстро поднимаем DNS-сервер (BIND9) под debian

Итак, после небольшого перерыва решил написать небольшую заметку на тему DNS. Не буду рассказывать теорию( в Интернете ее полно ). Перейдем сразу к делу. Дано: локальная сеть 192.168.0.0/24 сервер: debian 5. Предположим, что у него ip 192.168.0.1 Требуется: поднять dns-сервер, таким образом, что бы для внутренней локалки были как свой домен, так и root-DNS Интернета. Домен 1-го уровня: пусть будет ex. Тогда хосты будут иметь имена test.ex, h1.ex и т.п. Жирным выделено то, что было добавлено к стандартному конфигу. Решение(все действия из-под root или через sudo; здесь примеры конфигов, и то что нужно поправить в них для решения нашей задачи): debian:/#apt-get install bind9 debian:/etc/bind# cat ./named.conf.options acl "corpnets" {192.168.0.0/24; 127.0.0.1;}; options { directory "/var/cache/bind"; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; allow-query {"corpnets";}; }; debian:/etc/bind# cat ./named.conf include...

Организация подключения по SSH через HTTP прокси

Устанавливаем ПО corkscrew (http://www.agroman.net/corkscrew/), позволяющее создавать туннели поверх HTTP прокси. Для Debian/Ubuntu: apt-get install corkscrew Создаем в домашней директории файл настроек .proxy-auth в который прописываем логин и пароль для подключения к прокси, в формате "имя:пароль", например: moi_login:moi_parol Настраиваем проброс туннеля в SSH. В ~/.ssh/config добавляем: Host * ProxyCommand corkscrew хост_прокси_сервера порт_прокси_сервера %h %p ~/.proxy-auth Вместо %h и %p ssh подставит хост и порт удаленной машины Подключаемся к внешнему хосту стандартно: ssh testhost.ru панорамные лифты otis А вот тут можно заказать аренду серверов

Bluetooth и Debian

apt-get install bluetooth Пин: echo "0000" >> /etc/bluetooth/pin Стартуем сервис: /etc/init.d/bluetooth start Проверить параметры можно такой командой: localhost# hciconfig -a Сканируем: localhost$ hcitool scan Устанавливаем оболочку: wget http://download.tuxfamily.org/osrdebian/61B8DB62.gpg -O- | apt-key add - echo "deb http://download.tuxfamily.org/osrdebian stable gnome-bluetooth" >> /etc/apt/sources.list apt-get update; apt-get install gnome-bluetooth nautilus-sendto И юзаем...

Пример блокирования файлов по расширениям на samba сервере

Пример запрещения записи файлов по расширению (veto files переписать в одну строку): [SOUND] path = /mnt/sde/music comment = звуковой-сервер username = roma,vnelubin,gtcvet,eolax,mlapin,kkorobejnikov only user = yes public = yes writable = yes create mode = 0775 force create mode = 0775 directory mode = 0775 force directory mode = 0775 veto oplock files = /*.mp3/*.wav/ veto files = /*.a*/*.A*/*.b*/*.B*/*.c*/*.C*/*.D*/*.d*/*.E*/*.e*/*.F*/*.f*/*.G*/*.g*/*.H*/*.h* /*.I*/*.i*/*.J*/*.j*/*.K*/*.k*/*.L*/*.l*/*.N*/*.n*/*.O*/*.o*/*.P*/*.p*/*.Q*/*.q* /*.R*/*.r*/*.S*/*.s*/*.T*/*.t*/*.U*/*.u*/*.Y*/*.y*/*.V*/*.v*/*.X*/*.x*/*.Z*/*.z* /*.1*/*.2*/*.3*/*.4*/*.5*/*.6*/*.7*/*.8*/*.9*/*.0*/*.vob/*.VOB/*.iso/*.ISO/*.nrg /*.NRG/*.IFO/*.ifo/*.BUP/*.bup/*.zip/*.ZIP/*.rar/*.RAR/*.TXT/*.txt/*.TAR/*.tar /*.EXE/*.exe/*.DLL/*.dll/*.CFG/*.cfg/*.HT*/*.ht*/*.aa*/*.ab*/*.ac*/*.ad*/*.ae* /*.af*/*.ag*/*.ah*/*.ai*/*.aj*/*.ak*/*.al*/*.am*/*.an*/*.ao*/*.ap*/*.aq*/*.ar* /*.as*/*.at*/*.au*/*...

Сохранение статистики pppd в MySQL

Вот такой код я использую, чтобы вести учет статистики для PPP соединений в MySQL. Этот код помещается в скрипт /etc/ppp/ip-down. Используются переменные окружения, устанавливаемые pppd. #!/bin/sh # echo "INSERT INTO pppdstats VALUES ( `date +%Y%m%d`, `date +\'%T\' -d\"-${CONNECT_TIME} sec\" ` , '$PEERNAME', '$IPREMOTE', '$CONNECT_TIME', '$BYTES_SENT', '$BYTES_RCVD', '$DEVICE', `date +\'%T\'`);" | mysql -uuser -ppassword database Формат таблицы: CREATE TABLE pppdstats ( c_date date, c_start_time time, user varchar(128), ip_addr varchar(15), online_time int(11), send_bytes int(11), recv_bytes int(11), device varchar(15), c_end_time time ); PS: Естественно, что изменив перенаправление можно записывать статистику в обычный текстовый файл.

Как ограничить через iptables максимальное число одновременных соединений с одного IP.

# Максимум 10 одновременных соединений к 80 порту с одного IP iptables -A INPUT-p tcp --dport 80 -m iplimit --iplimit-above 10 -j REJECT # Блокируем на стадии SYN iptables -I INPUT -p tcp --syn --dport 80 -j DROP -m iplimit --iplimit-above 10 # 20 соединений на сеть класса С iptables -p tcp --dport 80 -m iplimit --iplimit-above 20 --iplimit-mask 24 -j REJECT