LINUX.ORG.RU

Сообщения cac2s

 

[продам][украина][серверная железка] RAID-контроллер Areca ARC-1110

 arc-1110, , , ,

Интерфейс накопителей: SATA

Уровни RAID: 0, 1, 10(1E), 3, 5, 6, JBOD

Интерфейс подключения: 64-bit 133 MHz PCI-X

Скорость передачи данных: 300 МБ/с

Максимальное количество подключаемых дисков: 4

Процессор: Intel IOP331 (500 МГц) + Marvell 88SX6081

Поддержка NCQ: да

S.M.A.R.T.: да

Hot Swap: да

Battery Backup Module: поддерживается

Дополнительно: Поддержка SMTP, SNMP; обновление firmware; удаленное управление на основе Web интерфейса; создание нескольких RAID-массивов на одном наборе дисков, перенос готового RAID массива; изменение уровня RAID, размера блока и увеличение объема без разрушения массива; фоновая инициализация, автоматическое добавление/удаление дисков; вентилятор на процессоре

Подробнее на сайте производителя

Стоимость нового: ≈360 у.ё. (http://hotline.ua/computer-kontrollery-raid/areca_arc-1110/)

Отдам в хорошие руки за 165 вечнозелёных

Доставка: Новой Почтой по Украине.

cac2s
()

[centos][kvm][virsh save] Failed to save domain buhserver to ...

 , , ,


имеется:

# cat /etc/issue
CentOS release 6.2 (Final)

# uname -a
Linux vm-server1 2.6.32-220.7.1.el6.x86_64 0000001 SMP Wed Mar 7 00:52:02 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux

# /usr/libexec/qemu-kvm --version
QEMU PC emulator version 0.12.1 (qemu-kvm-0.12.1.2), Copyright (c) 2003-2008 Fabrice Bellard

# virsh --version
0.9.4

суть проблемы:
в vm (windows 2003 r2) проброшен usb-hasp. при попытке сделать снимок памяти вываливается след.:

# virsh save buhserver ./buhserver_ram
error: Failed to save domain buhserver to ./buhserver_ram
error: internal error unable to execute QEMU command 'migrate': An undefined error has ocurred

без хаспа всё работает как часы

подробности на баг-трекере

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

cac2s
()

[centos][samba] selinux не пускает в гостевые ша́ры

 ,

smb.conf:

[global]
        workgroup = WorkGroup
        server string =
        netbios name = netfolders
        log file = /var/log/samba/log.%m
        max log size = 50
        security = user
        map to guest = Bad Password
;       guest account = nobody
        passdb backend = tdbsam
        local master = no
        os level = 0
        preferred master = no
        load printers = no
        printing = bsd
        printcap name = /dev/null
        disable spoolss = yes
        show add printer wizard = no
[inout]
        path = /mnt/netfolders/inout
        writable = yes
        guest only = yes
        guest ok = yes
        create mask = 0600
        directory mask = 0700

дальше по мануалу:

# chcon -v -t samba_share_t /mnt/netfolders/inout
# semanage fcontext -a -t samba_share_t '/mnt/netfolders/inout(/.*)?'
# ls -ldZ /mnt/netfolders/inout
drwxr-xr-x. nobody nobody unconfined_u:object_r:samba_share_t:s0 /mnt/netfolders/inout
но в ша́ру все равно не зайти :( если выключить selinux — всё работает как часы.

ЧЯДНТ?

cac2s
()

[kvm][lvm] снапшоты win-гостя

 ,

Подскажите, пожалуйста, какие могут быть подводные камни при создании снимка без выключения/гибернации/сброса_дискового_буфера/etc. win-гостя

cac2s
()

[debian][shaper][tc] игнорирование явно указанных prio у классов. bug или мой косяк?

 , ,

#!/bin/bash

IPT="/sbin/iptables"
TC="/sbin/tc"
IP="/bin/ip"

DEV_IN="eth0"
RATE_IN="2750" # 90% от гарантированной провайдером

RATE_LOCAL="1gbit"
IP_LOCAL="192.168.0.254"

$TC qdisc del dev $DEV_IN root >/dev/null 2>&1
$TC qdisc del dev $DEV_IN ingress >/dev/null 2>&1

$IP link set dev $DEV_IN qlen 32
$TC qdisc add dev $DEV_IN root handle 1: htb r2q 3

# Нетранзитный трафик
$TC class add dev $DEV_IN parent 1: classid 1:1 htb rate $RATE_LOCAL quantum 60000 prio 99
    $TC qdisc add dev $DEV_IN parent 1:1 pfifo
    $TC filter add dev $DEV_IN parent 1: prio 1 protocol ip u32 match ip src $IP_LOCAL1 flowid 1:1

# Транзитный трафик
$TC class add dev $DEV_IN parent 1: classid 1:2 htb rate ${RATE_IN}kbit prio 2

    # high-prio
    $TC class add dev $DEV_IN parent 1:2 classid 1:5 htb rate $[95*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 5
        $TC class add dev $DEV_IN parent 1:5 classid 1:10 htb rate $[5*$RATE_IN/100]kbit  ceil ${RATE_IN}kbit prio 10
        $TC class add dev $DEV_IN parent 1:5 classid 1:20 htb rate $[10*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 20
        $TC class add dev $DEV_IN parent 1:5 classid 1:30 htb rate $[10*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 30
        $TC class add dev $DEV_IN parent 1:5 classid 1:40 htb rate $[45*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 40
        $TC class add dev $DEV_IN parent 1:5 classid 1:50 htb rate $[25*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 50

        $TC qdisc add dev $DEV_IN parent 1:10 handle 10: sfq perturb 10
        $TC qdisc add dev $DEV_IN parent 1:20 handle 20: sfq perturb 10
        $TC qdisc add dev $DEV_IN parent 1:30 handle 30: sfq perturb 10
        $TC qdisc add dev $DEV_IN parent 1:40 handle 40: sfq perturb 10
        $TC qdisc add dev $DEV_IN parent 1:50 handle 50: sfq perturb 10

            $TC filter add dev $DEV_IN parent 10: prio 10 protocol ip handle 10 flow hash keys dst divisor 512
            $TC filter add dev $DEV_IN parent 20: prio 20 protocol ip handle 20 flow hash keys dst divisor 512
            $TC filter add dev $DEV_IN parent 30: prio 30 protocol ip handle 30 flow hash keys dst divisor 512
            $TC filter add dev $DEV_IN parent 40: prio 40 protocol ip handle 40 flow hash keys dst divisor 512
            $TC filter add dev $DEV_IN parent 50: prio 50 protocol ip handle 50 flow hash keys dst divisor 512

    # low-prio
    $TC class add dev $DEV_IN parent 1:2 classid 1:90 htb rate $[5*$RATE_IN/100]kbit ceil ${RATE_IN}kbit quantum 10 prio 90
        $TC qdisc add dev $DEV_IN parent 1:90 handle 90: sfq perturb 30
            $TC filter add dev $DEV_IN parent 90: prio 90 protocol ip handle 90 flow hash keys dst divisor 512

$IPT -t mangle -D POSTROUTING -o $DEV_IN -j SHAPER-IN >/dev/null 2>&1
$IPT -t mangle -F SHAPER-IN >/dev/null 2>&1
$IPT -t mangle -X SHAPER-IN >/dev/null 2>&1

$IPT -t mangle -N SHAPER-IN
$IPT -t mangle -I POSTROUTING -o $DEV_IN -j SHAPER-IN

# icmp, dns
$IPT -t mangle -A SHAPER-IN -p icmp -j CLASSIFY --set-class 1:10
$IPT -t mangle -A SHAPER-IN -p icmp -j RETURN
$IPT -t mangle -A SHAPER-IN -p udp --sport 53 -j CLASSIFY --set-class 1:10
$IPT -t mangle -A SHAPER-IN -p udp --sport 53 -j RETURN

# icecast
$IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 7000,8000 -j CLASSIFY --set-class 1:20
$IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 7000,8000 -j RETURN

# ssh, rdp
$IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 22,11122,3389 -j CLASSIFY --set-class 1:30
$IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 22,11122,3389 -j RETURN

# imap, imaps, pop3, pop3s
$IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 143,993,110,995 -j CLASSIFY --set-class 1:40
$IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 143,993,110,995 -j RETURN

# http, https; ftp(20,21) < 512KB
$IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 80,8080,443,20,21 -m connbytes --connbytes :524288 \n
    --connbytes-dir both --connbytes-mode bytes -j CLASSIFY --set-class 1:40
$IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 80,8080,443,20,21 -m connbytes --connbytes :524288 \n
    --connbytes-dir both --connbytes-mode bytes -j RETURN

# http, https; ftp(20,21)
$IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 80,8080,443,20,21,1935 -j CLASSIFY --set-class 1:50
$IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 80,8080,443,20,21,1935 -j RETURN

# low priority
$IPT -t mangle -A SHAPER-IN -j CLASSIFY --set-class 1:90

НО в выводе # tc -s class show dev eth0 у классов абсолютно другие prio (выделил звёздочками), а у некоторых вообще отсутствуют:

class htb 1:10 parent 1:5 leaf 10: ***prio 7*** rate 137000bit ceil 2750Kbit burst 1599b cburst 1599b 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 1459843 ctokens: 72718

class htb 1:1 root leaf 8014: ***prio 7*** rate 1000Mbit ceil 1000Mbit burst 1375b cburst 1375b 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 187 ctokens: 187

class htb 1:2 root rate 2750Kbit ceil 2750Kbit burst 1599b cburst 1599b 
 Sent 618 bytes 5 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 68000 ctokens: 68000

class htb 1:20 parent 1:5 leaf 20: ***prio 7*** rate 275000bit ceil 2750Kbit burst 1599b cburst 1599b 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 727265 ctokens: 72718

class htb 1:30 parent 1:5 leaf 30: ***prio 7*** rate 275000bit ceil 2750Kbit burst 1599b cburst 1599b 
 Sent 618 bytes 5 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 5 borrowed: 0 giants: 0
 tokens: 680000 ctokens: 68000

class htb 1:40 parent 1:5 leaf 40: ***prio 7*** rate 1237Kbit ceil 2750Kbit burst 1599b cburst 1599b 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 161671 ctokens: 72718

class htb 1:50 parent 1:5 leaf 50: ***prio 7*** rate 687000bit ceil 2750Kbit burst 1599b cburst 1599b 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 291109 ctokens: 72718

class htb 1:5 parent 1:2 rate 2612Kbit ceil 2750Kbit burst 1599b cburst 1599b 
 Sent 618 bytes 5 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 71594 ctokens: 68000

class htb 1:90 parent 1:2 leaf 90: ***prio 7*** rate 137000bit ceil 2750Kbit burst 1599b cburst 1599b 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 1459843 ctokens: 72718

на чьей стороне правда?

cac2s
()

[tc][htb] два варианта реализации, но ни один не работает так, как нужно

 ,

нужно: зажать входящий p2p-трафик. для этого выделил ему 5% гарантированной ширины с возможностью заимствовать до 100%.

hi-prio пакеты выделяю посредством анализа source port, всё остальное - low-prio

первый вариант:

+---------+
| root 1: |
+---------+
 |
 |  +-----------------------------------------+
 +--| class 1:1 нетранзитный трафик           |
 |  +-----------------------------------------+
 |
 |  +-----------------------------------------+
 +--| class 1:2 транзитный трафик (hi-prio)   |
 |  +-----------------------------------------+
 |       |       |       |       |       |
 |    +-----+ +-----+ +-----+ +-----+ +-----+
 |    | 1:5 | | 1:8 | |1:10 | |1:20 | |1:30 |
 |    +-----+ +-----+ +-----+ +-----+ +-----+
 |
 |  +-----------------------------------------+
 +--| class 1:90 транзитный трафик (low-prio) |
    +-----------------------------------------+
$TC qdisc add dev $DEV_IN root handle 1:0 htb r2q 3
    $TC filter add dev $DEV_IN parent 1:0 prio 1 protocol ip u32 match ip src $IP_LOCAL1 classid 1:1
    $TC filter add dev $DEV_IN parent 1:0 prio 1 protocol ip u32 match ip src $IP_LOCAL2 classid 1:1
    $TC filter add dev $DEV_IN parent 1:0 prio 1 protocol ip u32 match ip src $IP_LOCAL3 classid 1:1

    $TC filter add dev $DEV_IN parent 1:0 prio 5 handle 5  protocol ip fw flowid 1:5
    $TC filter add dev $DEV_IN parent 1:0 prio 8 handle 8  protocol ip fw flowid 1:8
    $TC filter add dev $DEV_IN parent 1:0 prio 10 handle 10 protocol ip fw flowid 1:10
    $TC filter add dev $DEV_IN parent 1:0 prio 20 handle 20 protocol ip fw flowid 1:20
    $TC filter add dev $DEV_IN parent 1:0 prio 30 handle 30 protocol ip fw flowid 1:30
    $TC filter add dev $DEV_IN parent 1:0 prio 90 handle 90 protocol ip fw flowid 1:90

    $TC class add dev $DEV_IN parent 1:0 classid 1:1 htb rate $RATE_LOCAL quantum 60000 prio 99
        $TC qdisc add dev $DEV_IN parent 1:1 pfifo

    $TC class add dev $DEV_IN parent 1:0 classid 1:2 htb rate $[90*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 1
        $TC class add dev $DEV_IN parent 1:2 classid 1:5  htb rate $[5*$RATE_IN/100]kbit  ceil ${RATE_IN}kbit prio 5
        $TC class add dev $DEV_IN parent 1:2 classid 1:8  htb rate $[10*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 8
        $TC class add dev $DEV_IN parent 1:2 classid 1:10 htb rate $[10*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 10
        $TC class add dev $DEV_IN parent 1:2 classid 1:20 htb rate $[45*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 20
        $TC class add dev $DEV_IN parent 1:2 classid 1:30 htb rate $[25*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 30

        $TC filter add dev $DEV_IN parent 5:  prio 5 protocol ip handle 8  flow hash keys dst divisor 256
        $TC filter add dev $DEV_IN parent 8:  prio 8 protocol ip handle 8  flow hash keys dst divisor 256
        $TC filter add dev $DEV_IN parent 10: prio 10 protocol ip handle 10 flow hash keys dst divisor 256
        $TC filter add dev $DEV_IN parent 20: prio 20 protocol ip handle 20 flow hash keys dst divisor 256
        $TC filter add dev $DEV_IN parent 30: prio 30 protocol ip handle 30 flow hash keys dst divisor 256

    $TC class add dev $DEV_IN parent 1:0 classid 1:90 htb rate $[5*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 10
        $TC qdisc add dev $DEV_IN parent 1:90 handle 90: sfq perturb 30

при таком варианте игнорируются ceil классов 1:2 и 1:90, т.е. ни 1:2, ни 1:90 не могут «разгонятся» до 100%

второй вариант:

+---------+
| root 1: |
+---------+
 |
 |  +---------------------------------------------+
 +--| class 1:1 нетранзитный трафик               |
 |  +---------------------------------------------+
 |
 |  +---------------------------------------------+
 +--| class 1:2 транзитный трафик                 |
    +---------------------------------------------+
       |
       |  +-----------------------------------------+
       +--| class 1:3 (hi-prio)                     |
       |  +-----------------------------------------+
       |       |       |       |       |       |
       |    +-----+ +-----+ +-----+ +-----+ +-----+
       |    | 1:5 | | 1:8 | |1:10 | |1:20 | |1:30 |
       |    +-----+ +-----+ +-----+ +-----+ +-----+
       |
       |  +-----------------------------------------+
       +--| class 1:90 (low-prio)                   |
          +-----------------------------------------+
$TC qdisc add dev $DEV_IN root handle 1:0 htb r2q 3
    $TC filter add dev $DEV_IN parent 1:0 prio 1 protocol ip u32 match ip src $IP_LOCAL1 classid 1:1
    $TC filter add dev $DEV_IN parent 1:0 prio 1 protocol ip u32 match ip src $IP_LOCAL2 classid 1:1
    $TC filter add dev $DEV_IN parent 1:0 prio 1 protocol ip u32 match ip src $IP_LOCAL3 classid 1:1

    $TC filter add dev $DEV_IN parent 1:0 prio 5 handle 5  protocol ip fw flowid 1:5
    $TC filter add dev $DEV_IN parent 1:0 prio 8 handle 8  protocol ip fw flowid 1:8
    $TC filter add dev $DEV_IN parent 1:0 prio 10 handle 10 protocol ip fw flowid 1:10
    $TC filter add dev $DEV_IN parent 1:0 prio 20 handle 20 protocol ip fw flowid 1:20
    $TC filter add dev $DEV_IN parent 1:0 prio 30 handle 30 protocol ip fw flowid 1:30
    $TC filter add dev $DEV_IN parent 1:0 prio 90 handle 90 protocol ip fw flowid 1:90

    $TC class add dev $DEV_IN parent 1:0 classid 1:1 htb rate $RATE_LOCAL quantum 60000 prio 99
        $TC qdisc add dev $DEV_IN parent 1:1 pfifo

    $TC class add dev $DEV_IN parent 1:0 classid 1:2 htb rate ${RATE_IN}kbit ceil ${RATE_IN}kbit prio 1
        $TC class add dev $DEV_IN parent 1:2 classid 1:3 htb rate $[90*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 1
            $TC class add dev $DEV_IN parent 1:3 classid 1:5  htb rate $[5*$RATE_IN/100]kbit  ceil ${RATE_IN}kbit prio 5
            $TC class add dev $DEV_IN parent 1:3 classid 1:8  htb rate $[10*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 8
            $TC class add dev $DEV_IN parent 1:3 classid 1:10 htb rate $[10*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 10
            $TC class add dev $DEV_IN parent 1:3 classid 1:20 htb rate $[45*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 20
            $TC class add dev $DEV_IN parent 1:3 classid 1:30 htb rate $[25*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 30

            $TC qdisc add dev $DEV_IN parent 1:5  handle 5:  sfq perturb 10
            $TC qdisc add dev $DEV_IN parent 1:8  handle 8:  sfq perturb 10
            $TC qdisc add dev $DEV_IN parent 1:10 handle 10: sfq perturb 10
            $TC qdisc add dev $DEV_IN parent 1:20 handle 20: sfq perturb 10
            $TC qdisc add dev $DEV_IN parent 1:30 handle 30: sfq perturb 10

        $TC class add dev $DEV_IN parent 1:2 classid 1:90 htb rate $[5*$RATE_IN/100]kbit ceil ${RATE_IN}kbit prio 90
            $TC qdisc add dev $DEV_IN parent 1:90 handle 90: sfq perturb 30

при таком варианте 1:90 съедает около 70% от допустимого rate родительского класса (1:2), оставляя с носом класс 1:3


подскажите, пожалуйста, ЧЯДНТ!

cac2s
()

[шлюз][мониторинг][web] потребляемая ширина канала хостами локальной сети

 , ,

подскажите, пожалуйста, аналог iftop для web, чтобы мониторить на шлюзе потребляемую ширину канала хостами локальной сети (по отдельности на каждый хост)

прошу прощения за каламбур. если кто ещё не понял [а я бы скорее всего как раз и не понял %) ] - пример с iftop:

eth0 - смотрит в локальную сеть

# iftop -i eth0
а после этого выключить показ src, нажав s.

вот что-то наподобие этого хотелось бы лицезреть в браузере.

cac2s
()

[классика][shaper][tc][iptables] работает, но криво

 , , ,

имеется:
лок. сеть за NAT'ом
+

#!/bin/bash

IPT="/sbin/iptables"
TC="/sbin/tc"
IP="/bin/ip"

DEV_IN="eth0"
RATE_IN="2850"

DEV_OUT="eth1"
RATE_OUT="600"

RATE_LOCAL="1gbit"
IP_LOCAL="192.168.0.254" # gw

stop(){
    $TC qdisc del dev $DEV_IN root >/dev/null 2>&1
    $TC qdisc del dev $DEV_OUT root >/dev/null 2>&1

    $IPT -t mangle -D POSTROUTING -o $DEV_IN -j SHAPER-IN >/dev/null 2>&1
    $IPT -t mangle -F SHAPER-IN >/dev/null 2>&1
    $IPT -t mangle -X SHAPER-IN >/dev/null 2>&1

    $IPT -t mangle -D POSTROUTING -o $DEV_OUT -j SHAPER-OUT >/dev/null 2>&1
    $IPT -t mangle -F SHAPER-OUT >/dev/null 2>&1
    $IPT -t mangle -X SHAPER-OUT >/dev/null 2>&1
}
    
start_in(){ 
    $IP link set dev $DEV_IN qlen 32
    
    $TC qdisc add dev $DEV_IN root handle 1: htb r2q 3 default 90
    
    # класс для НЕТРАНЗИТНЫХ пакетов
    # (идущих с lan'а в лок. сеть)
    $TC class add dev $DEV_IN parent 1:0 classid 1:1 htb rate $RATE_LOCAL quantum 60000 prio 99
        $TC qdisc add dev $DEV_IN parent 1:1 pfifo
        $TC filter add dev $DEV_IN parent 1:0 prio 1 protocol ip u32 match ip src $IP_LOCAL classid 1:1
    
    # класс для ТРАНЗИТНЫХ пакетов 
    # (идущих с wan'а в лок. сеть)
    $TC class add dev $DEV_IN parent 1:0 classid 1:2 htb rate ${RATE_IN}kbit ceil ${RATE_IN}kbit

        $TC class add dev $DEV_IN parent 1:2 classid 1:5  htb rate $[5*$RATE_IN/100]kbit  burst 10k ceil ${RATE_IN}kbit prio 5
        $TC class add dev $DEV_IN parent 1:2 classid 1:8  htb rate $[15*$RATE_IN/100]kbit burst 10k ceil ${RATE_IN}kbit prio 8
        $TC class add dev $DEV_IN parent 1:2 classid 1:10 htb rate $[10*$RATE_IN/100]kbit burst 10k ceil ${RATE_IN}kbit prio 10
        $TC class add dev $DEV_IN parent 1:2 classid 1:20 htb rate $[65*$RATE_IN/100]kbit burst 10k ceil ${RATE_IN}kbit prio 20
        $TC class add dev $DEV_IN parent 1:2 classid 1:30 htb rate $[4*$RATE_IN/100]kbit  burst 10k ceil ${RATE_IN}kbit prio 30
        $TC class add dev $DEV_IN parent 1:2 classid 1:90 htb rate $[1*$RATE_IN/100]kbit  burst 10k ceil ${RATE_IN}kbit prio 90

        $TC qdisc add dev $DEV_IN parent 1:5  handle 5:  sfq perturb 1
        $TC qdisc add dev $DEV_IN parent 1:8  handle 8:  sfq perturb 1
        $TC qdisc add dev $DEV_IN parent 1:10 handle 10: sfq perturb 1
        $TC qdisc add dev $DEV_IN parent 1:20 handle 20: sfq perturb 1
        $TC qdisc add dev $DEV_IN parent 1:30 handle 30: sfq perturb 1
        $TC qdisc add dev $DEV_IN parent 1:90 handle 90: sfq perturb 1

        $TC filter add dev $DEV_IN parent 1:0 prio 5  protocol ip handle 5  fw flowid 1:5
        $TC filter add dev $DEV_IN parent 1:0 prio 8  protocol ip handle 8  fw flowid 1:8
        $TC filter add dev $DEV_IN parent 1:0 prio 10 protocol ip handle 10 fw flowid 1:10
        $TC filter add dev $DEV_IN parent 1:0 prio 20 protocol ip handle 20 fw flowid 1:20
        $TC filter add dev $DEV_IN parent 1:0 prio 30 protocol ip handle 30 fw flowid 1:30
        $TC filter add dev $DEV_IN parent 1:0 prio 90 protocol ip handle 90 fw flowid 1:90

    # Добавление цепочки SHAPER-IN в mangle для последующей маркировки входящих пакетов (WAN->LAN)
    $IPT -t mangle -N SHAPER-IN
    $IPT -t mangle -I POSTROUTING -o $DEV_IN -j SHAPER-IN

    # SYN-пакеты
    $IPT -t mangle -A SHAPER-IN -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 5
    # icmp, dns
    $IPT -t mangle -A SHAPER-IN -p icmp -j MARK --set-mark 5
    $IPT -t mangle -A SHAPER-IN -p udp --sport 53 -j MARK --set-mark 5
    # icecast
    $IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 7000,8000 -j MARK --set-mark 8
    # ssh, rdp
    $IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 22,11122,3389 -j MARK --set-mark 10
    # imap, imaps, pop3, pop3s
    $IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 143,993,110,995 -j MARK --set-mark 10
    # http, https; ftp(20,21)
    $IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 80,443,8080,20,21,81 -j MARK --set-mark 20
    # Закачки > 1MB http(80,8080), https; ftp(20,21)
    $IPT -t mangle -A SHAPER-IN -p tcp -m multiport --sports 80,8080,81,21 -m connbytes --connbytes 1048576: --connbytes-dir both --connbytes-mode bytes -j MARK --set-mark 30
    # Маркировка пакетов, непопадающих под верхние правила
    $IPT -t mangle -A SHAPER-IN -m mark --mark 0 -j MARK --set-mark 90

    echo "Inbound shaping added to $DEV_IN.   Rate: ${RATE_IN}Kbit/sec."
}

start_out(){

    $IP link set dev $DEV_OUT qlen 32

    $TC qdisc add dev $DEV_OUT root handle 1: htb r2q 4 default 90

    # класс для ТРАНЗИТНЫХ пакетов
    # (идущих с лок. сети на wan)
    $TC class add dev $DEV_OUT parent 1:0 classid 1:2 htb rate ${RATE_OUT}kbit ceil ${RATE_OUT}kbit
        $TC class add dev $DEV_OUT parent 1:2 classid 1:5  htb rate $[5*$RATE_OUT/100]kbit  ceil ${RATE_OUT}kbit prio 5
        $TC class add dev $DEV_OUT parent 1:2 classid 1:7  htb rate $[10*$RATE_OUT/100]kbit ceil ${RATE_OUT}kbit prio 7
        $TC class add dev $DEV_OUT parent 1:2 classid 1:8  htb rate $[15*$RATE_OUT/100]kbit ceil ${RATE_OUT}kbit prio 8
        $TC class add dev $DEV_OUT parent 1:2 classid 1:90 htb rate $[5*$RATE_OUT/100]kbit  ceil ${RATE_OUT}kbit prio 90

        $TC qdisc add dev $DEV_OUT parent 1:5  handle 5:  sfq perturb 1
        $TC qdisc add dev $DEV_OUT parent 1:7  handle 7:  sfq perturb 1
        $TC qdisc add dev $DEV_OUT parent 1:8  handle 8:  sfq perturb 1
        $TC qdisc add dev $DEV_OUT parent 1:90 handle 90: sfq perturb 1

        $TC filter add dev $DEV_OUT parent 1:0 prio 5  protocol ip handle 5  fw flowid 1:5
        $TC filter add dev $DEV_OUT parent 1:0 prio 7  protocol ip handle 7  fw flowid 1:7
        $TC filter add dev $DEV_OUT parent 1:0 prio 8  protocol ip handle 8  fw flowid 1:8
        $TC filter add dev $DEV_OUT parent 1:0 prio 90 protocol ip handle 90 fw flowid 1:90


    # Добавление цепочки SHAPER-OUT в mangle для последующей маркировки исходящих пакетов (LAN->WAN)
    $IPT -t mangle -N SHAPER-OUT
    $IPT -t mangle -I POSTROUTING -o $DEV_OUT -j SHAPER-OUT

    # SYN-пакеты
    $IPT -t mangle -A SHAPER-OUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 5
    # icmp
    $IPT -t mangle -A SHAPER-OUT -p icmp -j MARK --set-mark 5
    # ssh
    $IPT -t mangle -A SHAPER-OUT -p tcp -m multiport --dports 22 -j MARK --set-mark 7
    # dns; http, https
    $IPT -t mangle -A SHAPER-OUT -p udp --dport 53 -j MARK --set-mark 8
    $IPT -t mangle -A SHAPER-OUT -p tcp -m multiport --dports 80,443 -j MARK --set-mark 8
    # Маркировка пакетов, непопадающих под верхние правила
    $IPT -t mangle -A SHAPER-OUT -m mark --mark 0 -j MARK --set-mark 90

    echo "Outbound shaping added to $DEV_OUT.  Rate: ${RATE_OUT}Kbit/sec."
}

case "$1" in
    start)
        stop
        start_in
        start_out
    ;;

    stop)
        stop
        echo "Shaping removed on $DEV_IN/$DEV_OUT"
    ;;

    *)
        echo "Usage: $0 {start|stop}"
esac

проблема: торрент-трафик «съедает» около 75% ширины канала

подскажите, в чём проблема? ну, кроме рук :)

cac2s
()

[параноя] kvm + lvm on raid1 (mdadm) + ресинхронизация

имеется:
- lvm поверх софтварного raid1
- kvm vm c 2-мя block disk (/dev/vg_data/vm1_1 + /dev/vg_data/vm1_2)

вопрос:
могут ли быть проблемы в работающей vm во время ресинхронизации raid'а?

cac2s
()

[debian sid][tilling wm] решился на попробовать - так и остался

 , , ,

Ещё [почти] год назад сидел на «открытой коробке», но всё никак не давало покоя удобство? тайловых WM.
Решился...
openbox => wmii => awesome + shifty
всё. теперь я спокоен и доволен на все 100
смотреть png

cac2s
()

[openvz][nfs] зависание контейнера

 ,

есть:
HN:
- debian squeeze
- linux-image-2.6.32-5-openvz-amd [2.6.32-29]
- vzctl [3.0.24-11]
- nfs-kernel-server [1:1.2.2-4]
VE:
- debian squeeze (установлен при помощи debootstrap)
- nfs-common [1:1.2.2-4]
- сеть [venet]

проблема:

root@openvz:~ # vzctl start 254
Starting container ...
Container is mounted
Adding IP address(es): 192.168.254.254
Setting CPU units: 1000
File resolv.conf was modified
Container start in progress...

root@openvz:~ # vzctl enter 254 
entered into CT 254

root@openvz[container]:/ # mount 192.168.8.254:/srv/nfs/data /mnt/data

root@openvz[container]:/ # df -h
Filesystem                    Size  Used Avail Use% Mounted on
tmpfs                         128M     0  128M   0% /lib/init/rw
tmpfs                         128M     0  128M   0% /dev/shm
/dev/simfs                    2.0G  459M  1.6G  23% /
192.168.8.254:/srv/nfs/data   241G  4.0M  241G   1% /mnt/data

root@openvz[container]:/ # exit
logout
exited from CT 254

root@openvz:~ # vzctl stop 254
Stopping container ...
Unable to stop container: operation timed out

root@openvz:~ #
и всё - пушной зверёк. в логах ничего вразумительного. дальше только:
root@openvz:~ # echo s > /proc/sysrq-trigger
root@openvz:~ # echo u > /proc/sysrq-trigger
root@openvz:~ # echo b > /proc/sysrq-trigger
т.к. обычный reboot не даёт ожидаемого эффекта + доступ к серверу только через ssh, при чём если выйти из текущей сессии - после зайти на сервер не получится.

помогите разобраться с данной проблемой. за две недели безуспешных попыток побороть оную перечитал полинтернета. подобные проблемы находил, но решения - увы... :(
сильно помогла бы возможность опробовать вышеуказанные действия и отписАть о результатах.
заранее премного благодарен.

cac2s
()

[d-link dge-528t][vlan]не работают vlan'ы:(

 

добрый.
debian squeeze (2.6.32-5-openvz-amd64)
не могу поднять vlan. точнее они поднялись, но на них тишина...
подскажите что может быть не так.
interfaces:

# The loopback network interface
auto lo
iface lo inet loopback

# wan
auto eth0
iface eth0 inet dhcp

# lan
auto vlan8
iface vlan8 inet static
        address 192.168.8.254
        netmask 255.255.255.0
        vlan_raw_device eth1

# openvz
auto vlan254
iface vlan254 inet static
        address 192.168.254.1
        netmask 255.255.255.0
        vlan_raw_device eth1
после руками прописываю на ноуте ИП (напр., 192.168.8.1), пробую пинговать 192.168.8.254 - тишина... tcpdump'ом смотрю vlan8 - видно, что при пинге пакеты приходят, но не уходят.
на том же vlan8 слушает dnsmasq. пробую с ноута зарезолвить любой адрес - фиг (при этом tcpdump вообще ничего не говорит про пришедшие пакеты)
картока d-link dge-528t vlan'ы может.
ЧЯДНТ?
upd:
8021q подгружен.
при # /etc/init.d/networking restart никаких ошибок не наблюдается

cac2s
()

[shaping][<ifb|imq|etc.>] динамический шейпинг двух подсетей

 


имеется:

  • debian squeeze
  • eth0 - wan
  • eth1 - lan (192.168.1.0/24)
  • venet0 - dmz (192.168.200.0/24)

нужно:

  • пакеты, идущие в dmz: rate=max_rate/3, ceil=max_rate
  • пакеты, идущие в lan: rate=max_rate*2/3, ceil=max_rate
  • исходя? из вышеизложенного: каждая из подсетей может «одалживать» другой неиспользуемые ею «ресурсы»

догадки:
поскольку хочется именно динамически шейпить подсети - понимаю, что нужно это делать _до_ eth1|venet0

но:

  • перенаправлять пакеты с eth0 на ifb бессмысленно, ибо ifb «лежит» _до_ nat'а, а значит раскидать трафик по классам в зависимости от следуемого направления не получится
  • можно перенаправить с eth0 на imq, а после раскидывать по классам, но для этого нужно патчить ядро, чего очень не хочется

прошу:
подсказать другие_варианты/упущенные_мною_моменты для реализации задуманного

cac2s
()

[xen vs. openvz] посоветуйте гипервизор

есть: debian squeeze на intel atom d410 + 1gb ram, выступающий в роли шлюза с динамическим шейпингом локальных клиентов

необходимо: загнать torrent-клиент + web-морду в виртуалку на шлюзе для возможности понизить приоритет трафика по отношению к локальным клиентам сети

нет: возможности выделить отдельную железку в качестве torrent-клиента

рассматриваемые варианты: xen и openvz

мешает сделать выбор:

  • не сталкивался ни с одним, ни с другим
  • настораживает неясность дальнейшей судьбы xen в debian

прошу: subj.

cac2s
()

[dnsmasq][all-servers] резолвинг, используя все dns-сервера, в указанном порядке

 

debian squeeze + dnsmasq (2.55-2)

# cat /etc/dnsmasq.conf:

interface=lo
interface=eth0
bind-interfaces
no-poll
bogus-priv
#####################
all-servers
strict-order
#####################
no-negcache
expand-hosts
domain=home-sweet-home
local=/home-sweet-home/
server=/home-sweet-home/192.168.1.254
server=/1.168.192.in-addr.arpa/192.168.1.254
dhcp-range=192.168.1.50,192.168.1.200,255.255.255.0,24h
dhcp-option=40,home-sweet-home

#cat /var/log/dnsmasq.log:

Nov 29 15:39:55 dnsmasq[1961]: using local addresses only for domain home-sweet-home
Nov 29 15:39:55 dnsmasq[1961]: read /etc/hosts - 7 addresses
Nov 29 15:39:55 dnsmasq[1961]: using nameserver 4.2.2.5#53
Nov 29 15:39:55 dnsmasq[1961]: using nameserver 109.86.2.21#53
Nov 29 15:39:55 dnsmasq[1961]: using nameserver 109.86.2.2#53
Nov 29 15:39:55 dnsmasq[1961]: using local addresses only for domain home-sweet-home
...
...
Nov 29 15:42:49 dnsmasq[1961]: query[A] someaddressfortest.com from 127.0.0.1
Nov 29 15:42:49 dnsmasq[1961]: forwarded someaddressfortest.com to 109.86.2.2
Nov 29 15:42:49 dnsmasq[1961]: query[A] someaddressfortest.com.home-sweet-home from 127.0.0.1
Nov 29 15:42:49 dnsmasq[1961]: config someaddressfortest.com.home-sweet-home is NXDOMAIN-IPv4
почему dnsmasq игнорирует параметр all-servers, не продолжая форвардинг запросов на оставшиеся два dns-сервера при NXDOMAIN?

cac2s
()

[spamassasin] sa-learn --spam/--ham в необученный sa и BAYES_xx

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

# su amavis -c "sa-learn --clear"
# su amavis -c "sa-learn --ham /var/vmail.ham/"
# su amavis -c "sa-learn --spam /var/vmail.spam/"

проверил:

# su amavis -c "sa-learn --dump magic"
0.000          0          3          0  non-token data: bayes db version
0.000          0        329          0  non-token data: nspam
0.000          0         12          0  non-token data: nham
0.000          0      54994          0  non-token data: ntokens
0.000          0 1277081269          0  non-token data: oldest atime
0.000          0 1288147040          0  non-token data: newest atime
0.000          0          0          0  non-token data: last journal sync atime
0.000          0 1288149903          0  non-token data: last expiry atime
0.000          0          0          0  non-token data: last expire atime delta
0.000          0          0          0  non-token data: last expire reduction count

после этого sa стал пропускать письма, которые раньше успешно определял как спам

заголовки практически идентичного письма до вышеперечисленных действий:

...
X-Spam-Status: Yes, score=9.381 required=6.31 tests=[BAYES_99=6.5,
    DOS_HIGHBIT_HDRS_BODY=1, HTML_MESSAGE=0.001,
    HTML_TAG_BALANCE_BODY=1.157, MIME_HTML_ONLY=0.723] autolearn=no
...

и после:

...
X-Spam-Status: No, score=2.818 required=6.31 tests=[DOS_HIGHBIT_HDRS_BODY=1,
    HTML_MESSAGE=0.001, HTML_TAG_BALANCE_BODY=0.712, MIME_HTML_ONLY=1.105]
    autolearn=unavailable
...

проанализировав заголовок «X-Spam-Status» в остальных письма, выяснил что в них пропали оценки BAYES_xx.

поясните пожалуйста, с чем это связано и как вернуть былые знания, имея только файлы спама/хама без базы sa?

з.ы.: часть конфига sa, касательно Bayesian classifier:

use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
bayes_auto_expire 0
bayes_auto_learn_threshold_spam 10
bayes_auto_learn_threshold_nonspam -2

cac2s
()

[GLPI] Экспорт в pdf: кирилица и кастомные шрифты

 

Есть: Debian и glpi. Проблему со знаками вопросов при экспорте в pdf решил, руководствуясь неплохой статейкой http://www.tux.in.ua/articles/1500

Хотелось бы: сменить шрифт с Helvetica (выложил автор статьи) на что-нить удобоваримее.

Конвертирую (ttf2pt1 -l cyrillic -A Tahoma.ttf Tahoma), подкидываю (Tahoma.afm, Tahoma.t1a, Tahoma.ttf) в каталог /usr/share/glpi/lib/ezpdf/fonts В файлах /usr/share/glpi/lib/ezpdf/class.pdf.php и /usr/share/glpi/inc/export.function.php меняю Helvetica на Tahoma

НО: имею http://img163.imageshack.us/img163/7528/20091123185248.png

ЧЯДНТ?

cac2s
()

ati, arch, openbox, ШГ

 , , , ,

по порядку:
1. asus f3sa
2. ati hd 2600 mobility
3. archlinux
4. openbox
5. gnome-panel - _для_меня_ самый приемлемый вариант
6. справа - 5 коньков
7. слева - демонстрация ШГ
8. вверху - пользуясь случаем, передаю привет simplexe :) и пасиб за помощь

cac2s
()

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