LINUX.ORG.RU

Сообщения gard

 

Помогите правило с микротика оформить через iptables

Всем привет!
Сижу и туплю как это

/ip firewall nat add chain=dstnat action=jump jump-target=my_dnat place-before=0
Изобразить через iptables.
Прошу помощи зала. =)

 ,

gard ()

freeradius, не слушает порты, как поправить?

Ребята, всем привет!
Наблюдаю такую картину, после установки freeradius

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      637/systemd-resolve
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1473/sshd
tcp6       0      0 :::22                   :::*                    LISTEN      1473/sshd
udp        0      0 0.0.0.0:1812            0.0.0.0:*                           1099/freeradius
udp        0      0 0.0.0.0:1813            0.0.0.0:*                           1099/freeradius
udp        0      0 127.0.0.53:53           0.0.0.0:*                           637/systemd-resolve
udp        0      0 192.168.1.148:68        0.0.0.0:*                           635/systemd-network
udp        0      0 0.0.0.0:41117           0.0.0.0:*                           1099/freeradius
udp        0      0 127.0.0.1:18120         0.0.0.0:*                           1099/freeradius
udp6       0      0 :::1812                 :::*                                1099/freeradius
udp6       0      0 :::1813                 :::*                                1099/freeradius
udp6       0      0 :::42167                :::*                                1099/freeradius
Кто-то сталкивался? Процесс работает, но почему он не слушает порты? Соответственно коннекта нет.

 

gard ()

Нужно ли перезапускать Iptables, после обновления списка ipset?

Ребята, всем привет!
Глупый вопрос.

Скажем, есть скрипт iptables, который работает со списками ipset. Корректно ли отработает iptables, если список будет изменен?
Или же iptables нужно перезапускать каждый раз, после изменения листов ipset?

 ,

gard ()

Теоретический вопрос, KVM, сеть 10g, загрузка CPU

Друзья, всем привет!
Вопрос чисто теоретический, железа под руками нет, даже для теста. В общем, реально-ли на более-менее сервере (типа hp dl360 gen8) заюзать виртуальную машину KVM в качестве, скажем, NAS'а для pppoe-сервера? Реально ли ей прожевать около 2-3Gbit/s, а может и поболее трафика?
Была подобная попытка, которую я наблюдал со стороны, так вот, утилизация CPU перевалила за 50% уже при трафике около 200-300Mbit/s. Процесс, который грузил хост-систему - networking.

 , ,

gard ()

[Решено] FreeRadius, отдавать NAS'у атрибуты в зависимости от полученных от него

Друзья, всем привет! Подскажите те, кто крутит сабж. Описание пользователя в файле users примерно такое:

uzer Cleartext-Password := "password123"
        Auth-Type := CHAP,
        Mikrotik-Attr := "attr1",
        Dlink-Attr := "attr2"
То есть в записи пользователя атрибуты разных вендоров. При авторизации я вижу, что девайсы посылают радиусу атрибут «NAS-Identifier», к примеру:
NAS-Identifier = "D-Link"

Можно ли как-то в файле users опираться на этот идентификатор для построения условий? То есть если NAS-Identifier = D-Link, то передавать атрибуты только для D-Link'а, а не все скопом? При передаче всех атрибутов, все работает, но зачем передавать лишнее? Вроде как проверку можно выполнить оператором ==, но.. дальше все равно происходит передача всех описанных ниже атрибутов.

 , ,

gard ()

[решено] Убунта, GPT, EFI, клонирование на однотипные ПК, подводные камни?

Друзья, здравствуйте! Имеется около десятка ноутбуков, полностью идентичных, на которые нужно поставить xubuntu. Так как ставить на каждый лениво, то поставил на один, сделал дамп таблицы разделов gpt-диска с помощью sfdisk, другие разделы (efi, /) сдампил с помощью partclone. На чистый ноутбук все это дело заливаю в обратном порядке. Т.о. получается, что uuid'ы разделов совпадают один к одному на разных ноутбуках (кроме swap, который я не дампил, а просто включаю командой mkswap, после чего раздел получает другой uuid и я меняю его в /etc/fstab). Ну и в конце просто меняю имя хоста в /etc/hostname, /etc/hosts. Вопрос: чем-то чревато такое «копирование» в плане совпадения uuid разделов на разных компьютерах? По хорошему бы перегенерить их, но потом нужно будет править fstab, конфиг grub, выполнять chroot и update-grub.. вроде все. И еще.. клоны запускаются нормально, но не совсем понимаю что там с EFI, при установке системы она как-то «регистрируется» в efi компьютера? Или же комп тупо грузит операционки с раздела efi system? Или тут курить в сторону secure boot?

 , , ,

gard ()

Функция выполняется 2 раза, не пойму почему

Здравствуйте! Ребят, наваял я скриптик, который запускает отслеживание вновь появляющихся файлов в шарах (inotifywait) и вызывает их сканирование (clamscan). С терминала запускаю в фоне, потому что иначе выполнения скрипта не дождаться. Вот скрипт:

#!/bin/bash

clamav-scan-files ()
{
   dir=$1
   inotifywait -m -q -r -e create --format '%w%f' $dir | \
   while read line; do
      scanresult=$(clamscan -r --no-summary --move=/mnt/data/shares/admins/Quarantine "$line")
      dtime=`date +"%d.%m.%Y %T"`
      echo "$dtime $scanresult" >> /var/log/clamav/scan-files.log 2>&1
   done
}

clamav-scan-files /mnt/data/shares/public/ &
clamav-scan-files /mnt/data/shares/mycats/ &
clamav-scan-files /mnt/data/shares/office/ &
Но вот после выполения скрипта я вижу следующее:
root@gw:~# ps aux | grep clam
root      1629  0.0  0.0  11920   640 ?        S    11:05   0:00 /bin/bash executable_scripts/clamav-scan-files
root      1630  0.0  0.0  11920   644 ?        S    11:05   0:00 /bin/bash executable_scripts/clamav-scan-files
root      1631  0.0  0.0  11920   640 ?        S    11:05   0:00 /bin/bash executable_scripts/clamav-scan-files
root      1634  0.0  0.0  11920   404 ?        S    11:05   0:00 /bin/bash executable_scripts/clamav-scan-files
root      1635  0.0  0.0  11920   412 ?        S    11:05   0:00 /bin/bash executable_scripts/clamav-scan-files
root      1637  0.0  0.0  11920   844 ?        S    11:05   0:00 /bin/bash executable_scripts/clamav-scan-files
root      3015  0.0  0.0   9012   872 pts/2    S+   11:36   0:00 grep clam
clamav   29838  0.0  0.1  80888  9812 ?        Ss   Апр14  14:07 /usr/bin/freshclam -d --quiet --config-file=/etc/clamav/freshclam.conf --pid=/run/clamav/freshclam.pid
root@gw:~# ps aux | grep inot
root      1632  0.0  0.0   6264   644 ?        S    11:05   0:00 inotifywait -m -q -r -e create --format %w%f /mnt/data/shares/public/
root      1633  0.0  0.0   6504   772 ?        S    11:05   0:00 inotifywait -m -q -r -e create --format %w%f /mnt/data/shares/mycats/
root      1636  0.0  0.0   7400  1688 ?        S    11:05   0:00 inotifywait -m -q -r -e create --format %w%f /mnt/data/shares/office/
root      3018  0.0  0.0   9012   868 pts/2    S+   11:36   0:00 grep inot
root@gw:~#
Функция запускается дважды, по два экземпляра на каждый мой вызов. Почему происходит такая ерунда?

 ,

gard ()

Ejabberd, не получается авторизоваться извне

Друзья, добрый день! Есть работающий ejabberd, которым пользуются клиенты локальной сети. Возникла надобность подключиться извне, но в логах ругается на то, что авторизация провалена. Подскажите что не так в моем конфиге:

override_global.
override_local.
override_acls.

{loglevel, 4}.
{hosts, ["gw.urfu-nsk", "5.x.x.8"]}.
{s2s_default_policy, deny}.

{listen,
 [
  {5222, ejabberd_c2s, [
                        {access, c2s},
                        {shaper, c2s_shaper},
                        {max_stanza_size, 65536},
                        {certfile, "/etc/ejabberd/ejabberd.pem"},
                        starttls
                       ]},
%  {5269, ejabberd_s2s_in, [
%                          {shaper, s2s_shaper},
%                          {max_stanza_size, 131072}
%                         ]},
  {5280, ejabberd_http, [
                         %%{request_handlers,
                         %% [
                         %%  {["pub", "archive"], mod_http_fileserver}
                         %% ]},
                         captcha,
                         http_bind,
                         http_poll,
                         %%register,
                         web_admin
                        ]}
 ]}.

%{s2s_use_starttls, true}.
%{s2s_certfile, "/etc/ejabberd/server.pem"}.

{auth_method, internal}.
{shaper, normal, {maxrate, 1000}}.
{shaper, fast, {maxrate, 50000}}.
{max_fsm_queue, 1000}.

{acl, admin, {user, "gard", "gw.urfu-nsk"}}.
{acl, local, {user_regexp, ""}}.

{access, max_user_sessions, [{10, all}]}.                             
{access, max_user_offline_messages, [{5000, admin}, {100, all}]}.     
{access, local, [{allow, local}]}.                                   
{access, c2s, [{deny, blocked}, {allow, all}]}.                    
{access, c2s_shaper, [{none, admin}, {normal, all}]}.
%{access, s2s_shaper, [{fast, all}]}.                                   
{access, announce, [{allow, admin}]}.                                   
{access, configure, [{allow, admin}]}.                                 
{access, muc_admin, [{allow, admin}]}.                                 
{access, muc_create, [{allow, local}]}.                                
{access, muc, [{allow, all}]}.                                        
{access, pubsub_createnode, [{allow, local}]}.                       
{access, register, [{deny, all}]}.                                  


{language, "ru"}.

{modules,
 [
  {mod_adhoc,    []},
  {mod_announce, [{access, announce}]},
  {mod_caps,     []},
  {mod_configure,[]}, %требует mod_adhoc
  {mod_disco,    []},
  %{mod_http_bind, []},
  {mod_last,     []},
  %{mod_muc,      [
  %               {host, "rooms.smb.urfu-nsk"},
  %               {access, muc},
  %               {access_create, muc_create},
  %               {access_persistent, muc_create},
  %               {access_admin, muc_admin}
  %              ]},
  {mod_offline,  [{access_max_user_messages, max_user_offline_messages}]},
  {mod_ping,     []},
  {mod_privacy,  []},
  {mod_private,  []},
  %{mod_register, [
  %               {welcome_message, {"Здравствуйте!","Добро пожаловать на наш jabber-сервер."}},
  %               {registration_watchers, ["gard@smb.urfu-nsk"]},
  %               {ip_access, [{allow, "192.168.2.0/24"}, {deny, "0.0.0.0/0"}]},
  %               {access, register}
  %              ]},
  {mod_roster,   []},
  {mod_shared_roster,[]},
  {mod_stats,    []},
  {mod_time,     []},
  {mod_vcard,    []},
  {mod_version,  []}
]}.

При попытке подключения к серверу как gard@5.x.x.8 принимаю сертификат, а потом получаю ошибку авторизации. В логах ejabberd следующее:

=INFO REPORT==== 2016-05-11 10:49:49 ===
I(<0.386.0>:ejabberd_listener:281) : (#Port<0.2123>) Accepted connection {{5,199,193,231},62144} -> {{5,x,x,8},5222}

=INFO REPORT==== 2016-05-11 10:49:51 ===
I(<0.1037.0>:ejabberd_c2s:802) : ({socket_state,tls,{tlssock,#Port<0.2123>,#Port<0.2125>},<0.1036.0>}) Failed authentication for gard@5.x.x.8

=INFO REPORT==== 2016-05-11 10:49:52 ===
I(<0.1037.0>:ejabberd_c2s:649) : ({socket_state,tls,{tlssock,#Port<0.2123>,#Port<0.2125>},<0.1036.0>}) Failed authentication for gard@5.x.x.8

Как же к нему подключиться? =)

 

gard ()

Clamav-daemon, разъясните как работает

Друзья, добрый день! Подскажите, немного не понимаю принцип работы clamav-демона.

Верно ли я понимаю, что при его запуске, он ничего автоматически не сканирует, а просто висит в памяти от имени пользователя clamav и ждет к себе «запросов»? Просто в конфиге /etc/clamav/clamd.conf нет никаких описаний директорий.

ps: сейчас использую clamscan для проверки новых файлов, которые появляются в директориях. Пишут, что clamdscan работает быстрее, потому что clamav-daemon уже висит в памяти. Но висеть-то висит, а что он при этом делает? Просто ждет или что-то там сканирует?

 , ,

gard ()

Вопрос по роутингу трафика

Здравствуйте! Ребят, сейчас задам детский вопрос, но сам туплю и не соображу. Итак, исходные данные: есть провод с интернетом, провайдер выдал настройки для подключения, это IP-адрес, адрес шлюза и DNS. Далее как я понимаю провайдер использует свой NAT.

Есть коммутатор, в котором 2 vlan: в одном пользователи, а в 1 порт другого vlan воткнут провод от провайдера и интерфейсу задан IP-адрес (который указал провайдер).

Нужно чтобы у клиентов был интернет. Правильно ли я понимаю что мне нужно сделать так: для клиентов default gw указать адрес коммутатора в их wlan, для коммутатора в качестве default gw указать провайдерский шлюз через IP и интерфейс, в который воткнут провод провайдера. Так трафик пойдет в одну сторону.

Но верно ли я понимаю, что ответы до клиентов не дойдут, пока провайдер не пропишет на своем натящем шлюзе роут до клиентов через упоминаемый коммутатор?

 ,

gard ()

[Решено] Большие значения PID процессов

Друзья, здравствуйте! Аптайм 170 дней, вот что наблюдаю:

59255 root      20   0     0    0    0 S   0,0  0,0   0:00.13 kworker/0:1                                                           
60230 root      20   0 50096 3076 1540 S   0,0  0,0   0:00.00 squid3                                                                
60232 proxy     20   0  110m  41m 4064 S   0,0  0,5   0:01.08 squid3                                                                
60247 proxy     20   0 20100 1060  864 S   0,0  0,0   0:00.01 unlinkd                                                               
60366 root      20   0     0    0    0 S   0,0  0,0   0:00.04 kworker/0:0                                                           
60407 root      20   0 24432 1660 1180 R   0,0  0,0   0:00.79 top                                                                   
60858 ejabberd  20   0 99704  50m 3756 S   0,0  0,6   2:31.80 beam 
Значения PID большинства процессов большие, подбирается уже к 65000, как-то напрягает. Это чем-то чревато или при достижении максимума новые процессы будут порождаться с меньшими значениями?

 

gard ()

[Решено] BIND forwarders, замучался уже

Друзья, привет всем! Подскажите есть ли выход из проблемы. Есть у меня интернет, а поверх него vpn в частную сеть компании. Есть также bind, который запросы к зонам компании форвардит либо на серые dns через vpn, либо на белые dns компании (можно через vpn, можно напрямую).

Трабл в том, что с запросами типа printer.localcompany все нормально, vpn отвалился - запросы не разрешатся, не страшно. Но есть еще запросы вроде srv.company.ru, бОльшая часть из которых нормально разрешается. Почему не все? Дак вот вот есть такие адреса, к примеру hidden-srv-73.company.ru, при запросе которых белый dns говорит, что ничего нет, а если спросить у серого DNS, то получается серый адрес.

Форвардинг у меня описан навроде так:

zone "company.ru"  { type forward; forward first; forwarders { 10.17.21.10; 10.18.21.10; 245.195.17.21; 245.195.18.21; }; };

Тобишь при запросе srv1.company.ru будет опрошен один из этих серверов (если bind не найдет из своего кэша). Дак вот трабл в том, что если я сделаю запрос например на secret-srv-37.company.ru, то белые dns говорят, что такого адреса нет и bind даже не пытается опрашивать других по списку, заявляя, что адрес не найден. И тут его логику мне совершенно не понять. Если он сразу спросит у серого dns - нате адрес, у белого - фиг на масло. А опрашивает сервера он по своей логике и очень часто не находит адрес.

Я даже не знаю что делать и как с этим бороться. Очевидным решением проблемы кажется убрать из списка forwarders белые dns компании и все запрашивать у первых двух. Но при таком раскладе при падении vpn bind не сможет разрешить имена из домена company.ru, даже которые доступны извне по белым адресам. То есть если зона описана у меня как forward, то при невозможности опросить dns из списка forwarders bind просто ничего не делает, сам разрешить имя не пытается.

Вот такой вот замкнутый круг. Что делать - непонятно. А vpn-соединение бывает таки падает.

Раньше все было нормально, у головной конторы были два DNS, которые отвечали на запросы как изнутри сети, так и снаружи, выдавая адреса. Если изнутри - получай серый адрес, с наружи - фигу, только если ресурс недоступен извне. А сейчас сделали 2 dns для внутрисетевых запросов и 2 для внешних. Вот и случился у меня трабл.

 ,

gard ()

Дисциплина hfsc, разъясните пожалуйста

Здравствуйте! Пытаюсь разобраться с hfsc, есть у меня интернет-канал скажем 20мбит в обе стороны, есть 3 приоритета трафика: видеосвязь, веб, прочее. Хочется это приоритезировать. сейчас вот такая конструкция с prio:

   $qdisc_add dev $lan_if root handle 1: prio bands 3 priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
   $qdisc_add dev $lan_if parent 1:1 handle 10: pfifo           #видеосвязь
   $qdisc_add dev $lan_if parent 1:2 handle 20: sfq perturb 10  #веб-трафик
   $qdisc_add dev $lan_if parent 1:3 handle 30: sfq perturb 10  #Прочий (в т.ч. локальный) трафик
Пытаясь раскурить hfsc нарисовал вот что (prio в начале, чтобы не терялся неотклассифицированный трафик и ходил локальный трафик):
$qdisc_add dev $lan_if root handle 3: prio bands 2 priomap 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
$qdisc_add dev $lan_if parent 3:1 handle 1: hfsc default 1:22
$qdisc_add dev $lan_if parent 3:2 handle 2: pfifo

$class_add dev $lan_if parent 1: classid 1:1 hfsc sc rate 20mbit ul rate 20mbit 
$class_add dev $lan_if parent 1:1 classid 1:10 hfsc rt rate 8mbit ls rate 16mbit #видеосвязь
$class_add dev $lan_if parent 1:1 classid 1:20 hfsc sc rate 12mbit 		 
$class_add dev $lan_if parent 1:20 classid 1:21 hfsc rt rate 8mbit #веб-трафик
$class_add dev $lan_if parent 1:20 classid 1:22 hfsc ls rate 4mbit #прочее

Вот не пойму во втором примере не будут ли между собой конкурировать классы 1:10 и 1:21?
Или же у класса 1:10 приоритет выше, так как он находится выше в иерархии?
Или же подклассы 1:21 и 1:22 будут конкурировать между собой в ls-части класса 1:1?

 , ,

gard ()

Блокировка https-сайтов, wpad, другие способы?

Здравствуйте! Начальство захотело блокировать соц сети на части компьютеров локальной сети (компьютеры с пары vlan'ов). Сейчас на шлюзе с Debian настроен прозрачный squid, который кэширует (практически ничего не блокируя) только http-запросы. А нужно получается проксировать и https, насколько я понимаю прозрачно проксировать https-трафик не получится (без танцев с бубном).

Попробовал использовать WPAD:

  • установил apache, создал виртуальный хост wpad.localdomain,
  • положил туда доступный по http wpad.dat,
  • в bind дописал алиас wpad.localdomain (в браузере открывается, файл wpad.dat скачать можно),
  • в isc-dhcp-server также указал выдачу клиенту в качестве опции 252 адреса wpad.dat-файла ( option wpad "http://wpad.localdomain/wpad.dat"; ),
  • перевел squid на непрозрачный режим для работы с клиентскими запросами на 80,443 порты.

Однако, ничего автоматически не вышло. Если в том же firefox явно указать адрес прокси-сервера - все отлично, если указать путь к конфиг. файлу wpad.dat (http://wpad.localdomain/wpad.dat) - все отлично, но если выбрать «Автоматически определять настройки прокси» - идет паразит мимо прокси (порты 80 и 443 в FORWARD от клиентов пока открыты), не определяет ничего автоматически.

Насколько я понял разные ОС и разные браузеры «поддерживают» WPAD кто во что горазд (к тому же домена то у меня нет). И придется мне все таки руками вписывать на каждом ПК либо адрес прокси, либо http-адрес до конфиг-файла wpad.dat.

Все бы ничего, не сахарный, могу пройтись, но у нас есть беспарольная WI-FI сеть, пользователи которой точно не догадаются вписывать какие-то настройки прокси. Получается какая-то полумера. К тому-же браузеры на смартфонах тоже могут не поддерживать WPAD. Как же быть, как блокировать неугодные сайты, неужто только по IP-адресам?

 , ,

gard ()

Подскажите по BIND, forwarders

Здравствуйте! Подскажите верно ли я понимаю следующее. Есть у меня локальный сервер с BIND. В глобальной секции настроек прописано следующее:

forward only;
forwarders { 8.8.8.8; 8.8.4.4; };

Кроме того есть несколько зон, запросы к которым должны уходить на другие DNS-сервера. К примеру так:

zone "zone"       IN { type forward; forward only; forwarders { a.b.c.d; a.b.c.e; }; };
zone "zone.ru"    IN { type forward; forward first; forwarders { a.b.c.d; a.b.c.e; }; };

Верно ли я понимаю, что если zone.ru не может быть разрешена указанными серверами, то она будет разрешена с помощью глобальной настройки сервером 8.8.8.8?

ps: дело в том, что имена из zone.ru предпочтительно разрешать с помощью прописанных для нее forwarders, но при невозможности сделать это - следует разрешать эти имена через гуглднс.

 

gard ()

PXE загрузка живого образа linux

Здравствуйте!

Пытаюсь сделать pxe-загрузку по сети ubuntu live cd. Настроил isc-dhcp-server. Пробовал syslinux, grub2. Результат пока что один - после опроса оборудования компьютера оказываюсь в busybox.

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

isc-dhxp-server:

subnet 192.168.2.0 netmask 255.255.255.0 {
  range 192.168.2.10 192.168.2.30;
  option domain-name-servers 192.168.2.1;
  option domain-name "internal.example.org";
  option routers 192.168.2.1;
  option broadcast-address 192.168.2.255;
  default-lease-time 600;
  max-lease-time 7200;
          class "pxeclients" {
                 match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
                 #filename   "/boot/grub/i386-pc/core.0";
                 #next-server 192.168.2.2;
                 filename "pxelinux.0";
         }

}
Файл pxelinux.cfg/default:
default menu.c32

label xubuntu-13.04-iso
    menu xubuntu 13.04 i386 iso
    kernel memdisk
    append iso initrd=xubuntu-13.04-desktop-i386.iso raw splash=verbose

label xubuntu-13.04
    menu xubuntu 13.04 i386
    kernel ubuntu-files/casper/vmlinuz
    append initrd=ubuntu-files/casper/initrd.lz splash=verbose
В корне tftp находится iso-образ xubuntu-13.04-desktop-i386.iso, который также смонтирован в каталог ubuntu-files.

Если использовать grub, то все немножко по другому. Вот boot/grub/grub.cfg:

menuentry "ISO Ubuntu 12.10" {

 set isofile="/xubuntu-13.04-desktop-i386.iso"
 loopback loop (pxe)$isofile
 linux  (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile
 initrd (loop)/casper/initrd.lz
}

menuentry "Ubuntu 12.10" {
        set root=(pxe)
        linux   /ubuntu-files/casper/vmlinuz
        initrd  /ubuntu-files/casper/initrd.lz
}

В обоих случаях результат один - busybox после опроса оборудования. Я видимо не понимаю чего-то очевидного, подскажите куда копать.

 , ,

gard ()

Развертывание ntfs-образов через PXE с Linux-сервера

Всем привет! Читаю про PXE и запутался. У меня есть образ эталонной Windows-системы, снятый ntfsclone. Хочу разворачивать его на компьютеры в сети с linux-сервера, используя PXE. Возможно ли такое? Подскажите с какой стороны подойти к решению вопроса.

Пока что на ум приходит только такой вариант. Сделать через PXE загрузку linux, который автоматически отформатирует диск, выполнит разворачивание образа из сети на этот диск и перезапустит компьютер.

 , ,

gard ()

Вычислить кто кушает трафик в текущий момент..

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

Пока что смотрю через jnettop и iptraf (хорошо, но показывает или в байтах или в пакетах).

 ,

gard ()

Шейпер, HTB + PRIO, подскажите как правильнее

Здравствуйте! Есть локальная сеть на несколько vlan. Требуется обрабатывать высокоприоритетный трафик в первую очередь + делить полосу между этими vlan. У меня 2 мысли.

Можно создать шейпер такого вида. Весь трафик делится на 2 приоритетных класса: в первый пойдет транзит с Интернета, во второй - локальный трафик.

$qdisc_add dev $lan_if root handle 1: prio bands 2 priomap 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
$qdisc_add dev $lan_if parent 1:1 handle 10: htb r2q 100
$qdisc_add dev $lan_if parent 1:2 handle 20: sfq perturb 10
Затем я создам подклассы htb и в каждом из них снова PRIO, скажем так:
$class_add dev $lan_if parent 10: classid 10:1 htb rate ${rate}kbit
$class_add dev $lan_if parent 10:1 classid 10:10 htb rate $[5*${rate}/10]kbit ceil ${rate}kbit
$class_add dev $lan_if parent 10:1 classid 10:20 htb rate $[3*${rate}/10]kbit ceil ${rate}kbit
$class_add dev $lan_if parent 10:1 classid 10:30 htb rate $[2*${rate}/10]kbit ceil ${rate}kbit

$qdisc_add dev $lan_if parent 10:10 handle 1010: prio bands 3 priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
$qdisc_add dev $lan_if parent 10:20 handle 1020: prio bands 3 priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
$qdisc_add dev $lan_if parent 10:30 handle 1030: prio bands 3 priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
И уже в этих классах буду в первую очередь обрабатывать высокоприоритетный трафик (голос и видео).

Есть второй вариант. Сразу сделать PRIO на 3 подкласса: высокоприоритетный трафик (он также всегда идет транзитом), транзитный трафик, остальное.

$qdisc_add dev $lan_if root handle 1: prio bands 3 priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
$qdisc_add dev $lan_if parent 1:1 handle 10: pfifo_fast
$qdisc_add dev $lan_if parent 1:2 handle 20: htb
$qdisc_add dev $lan_if parent 1:3 handle 30: pfifo_fast

Как правильнее поступить? Обрабатывать голос и видео сразу в корневой дисциплине PRIO или раскидывать его обработку в PRIO для каждого подкласса HTB?

 , ,

gard ()

Squid, запрет скачивания файлов .torrent, не работает

Всем привет! Никак не могу заставить работать правила, запрещающие скачивание файлов по mime_type, в частности файлов торрента. Вот конфиг:

acl localhost src 127.0.0.1/32
acl vlan101 src 192.168.2.2-192.168.2.254       
acl vlan102 src 192.168.3.2-192.168.3.254       
acl vlan103 src 192.168.4.2-192.168.4.254       

acl sites_bl url_regex -i "/etc/squid3/filters/sites_bl.acl" 
acl files_bl urlpath_regex -i "/etc/squid3/filters/files_bl.acl"
acl mime_bl rep_mime_type -i "/etc/squid3/filters/mime_bl.acl"

acl Web_ports port 80
http_access deny !Web_ports
http_access allow localhost all
http_access allow vlan101 all

http_access deny vlan102 sites_bl
http_access deny vlan102 files_bl
http_reply_access deny vlan102 mime_bl
http_access allow vlan102 all

http_reply_access deny vlan103 mime_bl
http_access allow vlan103 all

http_access deny all
Вот содержимое файла /etc/squid3/filters/mime_bl.acl:
^audio/mpeg$
^audio/x-wav$
^audio/mpeg$
^video/mpeg$
^video/x-msvideo$
^video/quicktime$
^video/mp4$
^audio/3gpp$
^video/3gpp$
^application/x-executable$
^application/x-msdos-program$
^application/x-msi$
#^application/zip$
#^application/rar$
#^application/x-7z-compressed$
^application/x-iso9660-image$
^application/x-bittorrent$

Если ссылка на файл .torrent прямая, то все отрабатывается как нужно списком files_bl.acl и соответствующим правилом, а если ссылка непрямая - файл скачивается.

 ,

gard ()

RSS подписка на новые темы