LINUX.ORG.RU

Сообщения NiTr0

 

mdadm - странности с диском

Форум — Admin

Итак, огреб непонятно откуда грабли: то ли с переносом / на lvm поверх рэйда, то ли из-за initrd созданного dracut, то ли еще почему - регулярно /dev/sdc1 после ребута отказывается добавляться в рэйд-массив, светя невесть откуда взявшимся старым суперблоком. mdadm --zero-superblock не помогает.

Вчера плюнул сделал dd if=/dev/zero of=/dev/sdc1 bs=1M, потом - добавил диск в массив, итог после ребилда - все тот же:

# mdadm -E /dev/sdc1
/dev/sdc1:
          Magic : a92b4efc
        Version : 0.90.00
           UUID : c4eb1c03:da16a8f3:61cb7cfc:0422fd85 (local to host NiTr0)
  Creation Time : Sun Jun 13 23:53:14 2010
     Raid Level : raid5
  Used Dev Size : 976762432 (931.51 GiB 1000.20 GB)
     Array Size : 2930287296 (2794.54 GiB 3000.61 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 0

    Update Time : Wed Nov 30 20:18:48 2011
          State : active
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
       Checksum : 8351ebae - expected 8351ebbe
         Events : 1141946

         Layout : left-symmetric
     Chunk Size : 64K

      Number   Major   Minor   RaidDevice State
this     2       8       33        2      active sync   /dev/sdc1

   0     0       8       33        0      active sync   /dev/sdc1
   1     1       8       49        1      active sync   /dev/sdd1
   2     2       8       17        2      active sync   /dev/sdb1
   3     3       8       65        3      active sync   /dev/sde1

Попутно - не заметил когда, но вроде давненько, после частичного краша массива (когда molex->2xsata отошел) массив сменился с md0 на md127.

Собссно вопрос - что это, и откуда оно вылезает?

Пока других идей, кроме как пересоздать массив (слив куда-то 3ТБ данных), либо собрать новый массив из 3х2ТБ дисков, продав освободившиеся 1ТБ, нет...

NiTr0
()

Pacemaker, master-slave, promote только при наличии 2 рабочих копий в slave ИЛИ по истечении тайм-аута - возможно?

Форум — Admin

Собссно сабж. Есть БД, есть желание задержать promote до тех пор, пока не поднимутся ресурсы на обеих нодах, или, если все печально (к примеру, одна нода - трупик), поднимать мастер после истечения времени ожидания.

Курение интернетов не особо помогло, похоже, rule имеют довольно-таки убогий синтаксис. Или убогую документацию. Или и то, и другое.

Собссно, вопрос: реально ли?

 ,

NiTr0
()

MySQL + Pacemaker HA: выбор оптимального варианта

Форум — Admin

Собссно нужно поднять сабж, 2 ноды, режим работы - active/backup. Пока выбираю наиболее удачный вариант. В рассмотрении:

1) Классика - MySQL поверх DRBD. Плюсы - просто, проверено временем, минусы - при краше мастера возможно повреждение БД, лечится в принципе запуском mysqlcheck - но как реализовать его запуск только по failover миграции пока плохо представляю.

2) MySQL с асинхронной репликацией и скриптовыми костылями для синхронизации БД после подъема слэйва. Не хочется как-то...

2а) MySQL с уже готовыми костылями типа mysql-master-ha. Вроде как оно даже работает и даже howto есть, но насколько стабильно - вопрос.

2) MySQL с синхронной/полусинхронной репликацией. Насколько сильно будет проседать производительность БД при этом? Нагрузка вроде как не особо большая планируется (пока), но все же терзают сомнения...

Кто что посоветует?

NiTr0
()

ARM/MIPS девайс с поддержкой Linux

Форум — Linux-hardware

Собссно ищется наиболее дешевый вариант сабжа. Из требований: ethernet, USB, минимум 16МБ памяти (лучше 32), минимум 4МБ флэш (лучше 8 либо загрузка с SD/microSD), поддержка непатченым gcc (realtek по этой причине отпадает). Вафля и т.п. - не нужны. serial console - желательна, но не критична. Также весьма желательно минимальное кол-во патчей на ванильное ядро.

Пока что в качестве основного варианта рассматривается какой-то роутер с USB, типа TL-MR3220 (есть что-то дешевле?).

P.S. Raspberry PI с доставкой обойдется в $50, что нифига не дешево - за $80 можно купить у китайцев полноценный x86 писюк с 6ГБ SSD, вафлей и прочими прелестями...

 , ,

NiTr0
()

[embedded] Одноплатник с тачскрином, недорого и без гимора с ПО

Форум — Linux-hardware

Требуется для одного проекта сабж, с человеческой средой для сборки (без эпичных костылей, хардкода путей к тулчейну, жесткой привязанности к раритетным версиям системных утилит и т.п.), под который нужно будет сваять несложный софт (демон сборки/обработки инфы + гуевый фронт-энд со статистикой, скорее всего Qt). Соответственно хочется, чтобы все остальное (ядро, графика и т.д.) собралось без плясок с бубном, и чтобы добавление новых пакетов (или как их правильнее назвать) была людской, без плясок с бубном вокруг их мейкфайлов и т.п.

Пока присмотрел mini6410 (подходит вроде по всем критериям) - кто-то имел опыт работы с ним? К нему есть родная среда сборки, и есть среда от Penutronix - собираюсь поставить, пощупать. Или кто-то может посоветовать что-то подобное ценой до $300? Требования к быстродействию - невысокие, но это должно хотя бы внешне напоминать industrial девайс (т.е. китайский планшет или раскуроченный недобук на ARM с большой вероятностью отпадают). Важно наличие эзернета и i2c.

 

NiTr0
()

[Video editing] Нелинейный видеоредактор с функцией/плагином стабилизации изображения

Форум — Multimedia

Собссно ищу сабж с функционалом виртуалдабовского deshaker'а. Пока присмотрел Cinerella (но из описания - вроде как не умеет заполнять бордюры фрагментами предыдущих кадров), и... и все. Либо - отдельные утили типа transcode (не хочется лишний раз пережимать видео туда-обратно), либо - virtualdub под wine (что есть извращением, да и не умеет он плавные переходы). Либо - колдовать с avisynth (хотя результаты DePan не особо впечатляют).

Может я что-то упустил?

NiTr0
()

Хранилище для HA VM кластера

Форум — Admin

В процессе экспериментов с кластером возник вопрос по поводу оптимального хранилища имиджей/данных VM. VM планируется несколько, linux ессно, большого кол-ва дисковых I/O быть не должно (виртуалки - в первую очередь для изоляции публичных ресурсов; БД на них не пользуются, да и огромных объемов файлов нет; исключение - бекапы базы/софта).

Планируется кластер на 2 ноды, возможно когда-то отрастет 3-я. Линк между нодами - 1000M патч-корд, в бондинге с вланом из линкоа на «мир» (для failover).

Итак собссно варианты видятся такие:

1) DRBD. Плюсы - вроде как логично выглядит, минусы - могут быть сложности при миграции, проблема split-brain, плохая масштабируемость;

1а) DRBD + iSCSI. Добавляются плюсы - меньше проблем при живой миграции, и минусы - оверхид (насколько критичен, если ресурс-хранилище живет на той же ноде что и виртуалки? что будет если еще одна нода появится, которая будет работать по сети?), + возможно еще что-то;

2) GlusterFS или что-то подобное. Плюсы - прозрачно. Минус - юзерлевел, т.е. если вдруг виртуалки пригрузят проц на 100% и при этом пойдет обращение к диску - весьма велик шанс, что все весело повиснет, ибо ИМХО приоритет KVM, время которого считается как время ядра, будет выше приоритета glusterfs, а виртуалки при этом будут активно кушать процессорное время, находясь в ожидании завершения дисковой операции;

3) DRBD + NFS, имиджи лежат на NFS. Плюсы - масштабируемость, более простое по сравнению с 1а) обслуживание. Минусы - большой оверхид;

4) DRBD + NFS поверх, рутовые разделы монтируются по NFS неким initrd. Плюсы - экономия места, еще более простое обслуживание (бекапы и т.д.), возможность монтировать поверх рид-онли «заготовки» с бинарниками и т.д. RW каталог с конфигами виртуалки (упрощается апдейт софта). Минусы - пока не выяснил, кроме необходимости собирать initrd свой (хотя выглядит черезчур уж красиво и просто, чтобы нормально работать), но смущает отсутствие массовых реализаций подобного.

Собссно вопрос на засыпку: кто что посоветует? Может я какой-то из вариантов упустил?

NiTr0
()

HA PostgreSQL 8.4

Форум — Admin

Собссно образовался вопрос - как правильно реализовать HA на постгре? Нативной людской репликации, как в мускуле, в 8.4 вроде нет, потому возникает 2 варианта:

1) DRBD + старт-стоп демонов

2) Сторонние решения типа bucardo

Если с первым плюсы и минусы более-менее понятны (работает шустро, но split-brain тождественен большому геморрою и + никто не гарантирует логическую целостность базы при помирании мастер ноды), со вторым ввиду отсутствия практического опыта все не так однозначно.

Собссно вопросы: насколько большой оверхид на репликацию, и на какой софтине остановиться? Дистр - CentOS 6.

NiTr0
()

Linux, tty, select() - некорректное поведение при наличии данных в буффере

Форум — Development

имеется некий демон, который общается с ком-портом и отправляет/забирает данные; + к тому он общается по сети. Ожидание событий (поступление данных в буффер tty либо соединение с сокетом) реализовано через select() Итого имеем такой кусочек кода:

    if (FD_ISSET(tty.fd, &sdsetrd))
      logw(5, "conn_loop(): select(): tty.fd is present");
    rc = select(max_sd + 1, &sdsetrd, &sdsetwr, NULL, &t_out);
    ioctl(tty.fd, FIONREAD, &i);
    logw(5, "conn_loop(): select(): %d descriptors ready, there are %d bytes in buffer", rc, i);

И этот кусочек кода при наличии в буфере всего 1 байта выдает парадоксальный результат:

1312484897:018074 conn_loop(): select(): tty.fd is present
1312484897:109351 conn_loop(): select(): 0 descriptors ready, there are 1 bytes in buffer

Т.е. - select() считает буфер tty, содержащий 1 байт, пустым. При наличии в буффере 2 байт (или более) - все прекрасно работает.

Багу выловил на ядре 3.0, но в 2.6.35.13, если не ошибаюсь, она тоже присутствовала. От системных библиотек (glibc/uclibc) не зависит. GCC 4.4.5. Собссно вопрос: это баг или я чего-то не понял из мануала? :)

P.S. max_sd - заведомо больше номера дескриптора tty, так что собака не здесь порылась.

NiTr0
()

2.6.35 i686 - отвалилось MSI?

Форум — Linux-hardware

Заменил в допиливаемом роутерном дистре ядро, с 2.6.32 на 2.6.35 - и обнаружил, что на всех тестовых железках, на которых я его пытался заводить (пара нфорс мамок с инт сетевухой - которая умеет MSI, + K8M890 с воткнутым PCI-E марвеллом), внезапно пропала поддержка MSI. В ядре оно включено, но вот девайсы работают с прерываниями IO-APIC-fasteoi... При этом, что загадочно - на 64бит тазике с генту MSI работает.

Кто-то подобное наблюдал у себя? И у кого-то с 32бит ядром MSI живет?

NiTr0
()

Кластер - чем и как?

Форум — Admin

Собссно сабж. Собираю потихоньку кластер на Linux+KVM, небольшой - пока (эдак с полгода) есть одна экспериментальная нода и в планах в течение пары месяцев поднять 2ю ноду (основная задача - уполовинить зоопарк серверов типа веба, биллинга и т.д.), естессно, хотелось бы обеспечить хоть какое-то подобие high availability. Хотя не исключено, что он будет в перспективе разрастаться - если появятся ресурсоемкие задачи.

Сначала возникло желание заюзать ganeti; поставил, поднял пару виртуалок на хосте, напилил немного скриптов (bootstrap с gentoo), но чем дольше юзаю его, тем больше приходит понимание, что система не совсем подходит собссно для HA кластера с перспективой расширения и последующего возможного разноса собссно вычислительных нод и нод хранения. Идеальным вижу пока экспорт DRBD раздела с файлами-образами нод по NFS, с его последующим монтированием на других нодах - но AFAIK ganeti при этом не сможет обеспечить живую миграцию.

Пробовал еще до экспериментов с ganeti немного поизучать pacemaker - показался черезчур сложным как для первого эксперимента, покопался пару дней, в итоге - на центоси я его так и не запустил... RHCS - как-то не нашел тогда внятного описания.

Собссно вопрос - на какой системе остановиться? Основные требования - работа с образами ВМ по NFS, возможность живой миграции при плановом отключении одной из нод на ревизию, очень желательно - HA фичи (при падении одной из нод - запуск некоторых из VM на другой).

NiTr0
()

kernel 2.4 - попикать спикером

Форум — Linux-hardware

Понадобился сабж. Качнул утилитку beep, собрал - ругается на IOCTL. Просто выводом \a в консоль - тоже не пищит, при попытке создать /dev/pcspeaker через mknod как char с major:minor 115:0 (как в Documentation/devices.txt) - в него писать ничего не хочет, матерится can't create /dev/speaker: No such device... Соответственно возник вопрос - может чего в ядре не хватает?

Из того что заметил - CONFIG_INPUT отключен (в 2.6 ветке где-то там драйвер спикера гнездится - но в 2.4 я его не нашел).

Кто что может подсказать?

NiTr0
()

pptpd + snmpd

Форум — Admin

Имеется пптп сервер, который мониторится по снмп. После некоторого времени аптайма snmpd начинает солидно жрать память и проц, рестарт сервиса не помогает. На разных дистрах от рэдхета (центос/RHEL 5 и федора 8, ядра соответственно 2.6.18 и 2.6.23) поведение идентичное. Версия snmpd - 5.4.1.

При snmpwalk -v 3 -l AuthNoPriv -u user -A pass 192.168.x.x .1.3.6.1.2.1.2.2.1.2 - выдает список интерфейсов типа такого:

......................................
IF-MIB::ifDescr.17220 = STRING: ppp1
IF-MIB::ifDescr.17223 = STRING: ppp1
IF-MIB::ifDescr.17226 = STRING: ppp1
IF-MIB::ifDescr.17229 = STRING: ppp1
IF-MIB::ifDescr.17237 = STRING: ppp1
IF-MIB::ifDescr.17238 = STRING: ppp0
IF-MIB::ifDescr.17239 = STRING: ppp0
IF-MIB::ifDescr.17240 = STRING: ppp1
IF-MIB::ifDescr.17241 = STRING: ppp0

По ip a при этом присутствуют только ppp0 и ppp1

Проблема явно из-за кривого перечисления интерфейсов в snmpd... отсюда вопрос: кто-то с этим сталкивался? Если да - как боролись?

NiTr0
()

CentOS 5.1 + PPTP - подвисшие туннели + странности шейпера

Форум — Admin

Поднят сервер на CentOS 5.1 (ядро обновлял из репозиториев после установки - месяца 1.5 назад - древнее 2.6.18, но с кучей патчей/багфиксов, любит рэдхет это дело)

Наблюдаются следующие странности:

1) Подвисшие ppp туннели, интерфейсы - не подняты, ИП - не выданы, pppd - висят, но их PID среди /var/run/ppp*.pid нет (как и файлов для соответствующих интерфейсов, и radattr.pppX для данных интерфейсов). И, ессно, данные процессы жрут системные ресурсы, причем - очень нехило (после их килла в кол-ве около 170 штук загрузка ядер упала с 200% (дуалкор, показания по SNMP) до 80%, load average - с 200 до 3... Пока нагрузка была не такой большой - проблемы так активно не вылазили, сейчас при вечернем онлайне порядка 500 человек - стали вылазить через пару суток аптайма.

В логи при килле гадит следующее:

Dec 18 00:17:35 server3 pppd[17070]: ioctl(TIOCSETD, N_TTY): Interrupted system call (line 562)
Dec 18 00:17:35 server3 pppd[17070]: tcsetattr: Invalid argument (line 1001)
Dec 18 00:17:35 server3 pppd[17070]: Exit.
Гугл ничего толкового не дал, мессага tcsetattr: Invalid argument (line 1001) встречается в логах только при принудительном киллянии повисшего процесса.

Версия poptop - 1.3.4, pppd - 2.4.4 (шел в дистре)

2) Странности с шейпером (исходящий шейпер - основан на маркировке пакетов iptables и последующем их заворачивании в классы tc) - при дисконнекте не все правила iptables уничтожаются, иногда бывает, что 1-2 правила остаются из 3. К слову, данный скрипт на федоре 9 (ядро 2.6.23) крашил систему при выполнении не в дебаг-режиме через терминал (когда его отлаживал, пускал вручную), при этом в дебаг-режиме баша - работал четко, ессно - ставить его на ifup/ifdown на работающей машине без резерва побоялся...

Посему - вопрос: кто с подобным сталкивался и как с этим бороться?

pptpd.conf:

option /etc/ppp/options.pptpd
logwtmp
delegate
connections 2000
options.pptpd
name pptpd
require-mschap
require-chap
ms-dns 10.255.0.2
ms-dns 10.255.0.12
lock
nobsdcomp
novj
novjccomp
nologfd
lcp-echo-interval 2
lcp-echo-failure 12
default-asyncmap
plugin radius.so
plugin radattr.so

Мои скрипты шейпера:

# cat ip-up.local

#!/bin/sh

debug=0;
INPUT=eth0;
UBURST="burst 512k"
DBURST="burst 64k"

if [ -f /var/run/radattr.$1 ]
then
   PPPNUM=`echo $1|sed 's/ppp//'|awk '{printf "%03d",$1}'`
#   IP=$5
#   echo $IP >/var/run/shaper/$1
   QDISC_ETH=`tc qdisc show dev $INPUT|grep -v sfq|awk '{print $2}'`
   DOWNSPEED=`/bin/awk  '/PPPD-Downstream-Speed-Limit/ {print $2}'  /var/run/radattr.$1`
   UPSPEED=`/bin/awk  '/PPPD-Upstream-Speed-Limit/ {print $2}'  /var/run/radattr.$1`
   FILTERS=`/bin/awk  '/Filter-Id/ {print $2}'  /var/run/radattr.$1`

   if [ "$QDISC_ETH" != "htb" ];
   then
     tc qdisc del dev $INPUT root >/dev/null
     tc qdisc add dev $INPUT root handle 1: htb default 2 r2q 100
     tc class add dev $INPUT parent 1: classid 1:1 htb rate 100mbit ceil 1000mbit burst 1024k cburst 64k prio 2
     tc class add dev $INPUT parent 1: classid 1:2 htb rate 100mbit ceil 1000mbit burst 1024k cburst 64k prio 1
  fi


   if [ w${debug} = w1 ] ; then
     echo "Debug mode" >>/tmp/pptpd
     echo $DOWNSPEED >>/tmp/pptpd
     echo $UPSPEED >>/tmp/pptpd
     echo $FILTERS >>/tmp/pptpd
   fi;

    /sbin/tc qdisc del dev $1 root    > /dev/null
    /sbin/tc qdisc del dev $1 ingress &>/dev/null

##### speed server->client
   if [ "$UPSPEED" != "0" ] ;
   then
     /sbin/tc qdisc add dev $1 root handle 1: htb default 20 r2q 100
     /sbin/tc class add dev $1 parent 1: classid 1:1 htb rate ${UPSPEED}kbit $UBURST quantum 1514
     /sbin/tc class add dev $1 parent 1:1 classid 1:10 htb rate ${UPSPEED}kbit $UBURST prio 1 quantum 1514
     /sbin/tc class add dev $1 parent 1:1 classid 1:20 htb rate ${UPSPEED}kbit $UBURST prio 2 quantum 1514
     /sbin/tc qdisc add dev $1 parent 1:10 handle 10: sfq perturb 10 quantum 1514
     /sbin/tc qdisc add dev $1 parent 1:20 handle 20: sfq perturb 10 quantum 1514
     /sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip tos 0x10 0xff flowid 1:10
     /sbin/tc filter add dev $1 parent 1:0 protocol ip prio 10 u32 match ip protocol 1 0xff flowid 1:10

#     /sbin/tc filter add dev $1 parent 1: protocol ip prio 10 u32 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u160x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 1:10
   fi

##### speed client->server
   if [ "$DOWNSPEED" != "0" ] ;
   then
     tc class add dev $INPUT parent 1:1 classid 1:1$PPPNUM htb rate ${DOWNSPEED}kbit $DBURST quantum 1514
     tc class add dev $INPUT parent 1:1$PPPNUM classid 1:2$PPPNUM htb rate ${DOWNSPEED}kbit $DBURST prio 10 quantum 1514
     tc class add dev $INPUT parent 1:1$PPPNUM classid 1:3$PPPNUM htb rate ${DOWNSPEED}kbit $DBURST prio 1 quantum 1514
     tc qdisc add dev $INPUT parent 1:2$PPPNUM handle 2$PPPNUM: sfq perturb 10 quantum 1514
     tc qdisc add dev $INPUT parent 1:3$PPPNUM handle 3$PPPNUM: sfq perturb 10 quantum 1514

     iptables -t mangle -A FORWARD -i $1 -j MARK --set-mark 0x3$PPPNUM
     iptables -t mangle -A FORWARD -i $1 -p icmp -j MARK --set-mark 0x2$PPPNUM
     iptables -t mangle -A FORWARD -i $1 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 0x2$PPPNUM

     tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 0x3$PPPNUM fw classid 1:3$PPPNUM
     tc filter add dev eth0 parent 1:0 protocol ip prio 2 handle 0x2$PPPNUM fw classid 1:2$PPPNUM
   fi

#### Filters
  if [ w$FILTERS != w ] ;
  then
    echo "filters not supported";
  fi;

 fi



# cat ip-down.local

#!/bin/sh

debug=0;
INPUT=eth0;

if [ -f /var/run/radattr.$1 ]
then
   PPPNUM=`echo $1|sed 's/ppp//'|awk '{printf "%03d",$1}'`
#   IP=$5
   QDISC_ETH=`tc qdisc show dev $INPUT|grep root|awk '{print $2}'`
   DOWNSPEED=`/bin/awk  '/PPPD-Downstream-Speed-Limit/ {print $2}'  /var/run/radattr.$1`
   UPSPEED=`/bin/awk  '/PPPD-Upstream-Speed-Limit/ {print $2}'  /var/run/radattr.$1`
   FILTERS=`/bin/awk  '/Filter-Id/ {print $2}'  /var/run/radattr.$1`


   if [ w${debug} = w1 ] ; then
     echo "Debug mode" >>/tmp/pptpd
     echo $DOWNSPEED >>/tmp/pptpd
     echo $UPSPEED >>/tmp/pptpd
     echo $FILTERS >>/tmp/pptpd
   fi;


##### speed server->client
   if [ "$UPSPEED" != "0" ] ;
   then
     /sbin/tc qdisc del dev $1 root    > /dev/null
   fi

##### speed client->server
   if [ "$DOWNSPEED" != "0" ] ;
   then
     tc filter del dev eth0 parent 1:0 protocol ip prio 1 handle 0x3$PPPNUM fw classid 1:3$PPPNUM
     tc filter del dev eth0 parent 1:0 protocol ip prio 2 handle 0x2$PPPNUM fw classid 1:2$PPPNUM
     tc class del dev $INPUT classid 1:3$PPPNUM
     tc class del dev $INPUT classid 1:2$PPPNUM
     tc class del dev $INPUT classid 1:1$PPPNUM

     iptables -t mangle -D FORWARD -i $1 -j MARK --set-mark 0x3$PPPNUM
     iptables -t mangle -D FORWARD -i $1 -p icmp -j MARK --set-mark 0x2$PPPNUM
     iptables -t mangle -D FORWARD -i $1 -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j MARK --set-mark 0x2$PPPNUM

   fi

#### Filters
  if [ w$FILTERS != w ] ;
  then
    echo "filters not supported";
  fi;

 fi
NiTr0
()

IFB на kernel 2.4.34 - реально?

Форум — Admin

IFB появилось в свежих версиях ядра, довольно удобная вещь, потому интересует вопрос возможности портирования на старое ядро версии 2.4.34 (и соответственно трудоемкость данного процесса). Кто-то с этим сталкивался?

Можно ессно попробовать прикрутить IMQ - но на него много нареканий по части стабильности, потому его держу на примете как резервный вариант.

Вариант замены ядра - не подходит, менять ОС на всех роутерах не хочется, да и наработок прилично уже...

NiTr0
()

PPPoE - возможно ли не учитывать траффик к определенным подсетям?

Форум — Admin

Сабж. Есть биллинг, есть клиенты с PPTP/PPPoE соединением к инету и прописанными статическими маршрутами к локалке. Учет траффика ведется через радиус, на насах установлен линукс (pppd 2.4.4 + rp-pppoe). Хотелось бы весь траффик пустить по туннелю.

Встречал смутные упоминания о том, что pppd или rp-pppoe вроде как умеет игнорировать при подсчете определенный траффик, указанный в фильтрах.

Кто-то сталкивался с таким?

>>>

NiTr0
()

2 инет-линка + NAT для 2-го домашнего компа

Форум — Admin

Задача: почти "классика", как в http://megalib.com/books/1346/lartc.html#LOADBALANCING

Есть компьютер, подключенный к 2м провам. Отличие от "классики" - то, что в качестве интерфейсов - PPTP с динамическими IP адресами.

По аналогии с Windows для ВПН соединения шлюзом служит IP адрес, выданный клиенту динамически (я прав?).

Имеем следующее правило: ip route add default scope global nexthop via <IP PPTP канала 1> dev <устройство1> weight1 nexthop via <IP PPTP канала 2> dev <устройство2> weight1

Теперь вопрос: как туда вписать IP PPTP линка, если он динамический?

>>>

NiTr0
()

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