LINUX.ORG.RU

Сообщения lv77

 

µHub 0.3.2

Доступен релиз p2p-файлообменного хаба µHub 0.3.2. Хаб предназначен для организации хабов по технологии Advanced Direct Connect.

С прошлой версии были внесены следующие изменения:

  • исправлены ошибки в работы в OSX/BSD
  • исправлены утечки памяти и крах демона в OSX/BSD
  • переписан код работы с конфигурационными файлами
  • добавлено экранирование эскейп символов в конфигурационных файлах
  • добавлена возможность перенаправить клиента к другому хабу при невозможности подключить его.
  • команда !broadcast теперь рассылает текст в личные сообщения, а не в главный чат хаба.

Дерево Git (git://github.com/janvidar/uhub.git)

Версия 0.3.2 - это последняя версия без поддержки плагинов. Автор проекта уже подготовил draft на API для системы плагинов на базе LUA, которая будет реализована в версии 0.3.4.

Подробности

Перемещено maxcom из Internet

lv77
()

ALSA(snd_bt87x)&2.6.13+

Имеется два тв тюнера на BT чипсетах. Есть алсовский модуль snd_bt87x который делает звуковое устройство в системе и позволяет снимать звук с них без всяких проводов. В 2.6.12 настроил, всё работало как часы. Обновился до 2.6.13 звук отпал, потом 2.6.14 аналогична. Модуля грузятся (lsmod показывает что они загрузились), в логи ничего не пишется, звуковые устройства не появляются в /dev/ в /proc/asound тоже пусто. Танцы с бубном насчёт опций в modules.conf ни к чему не привели. Сборка самой последней алсы - аналогично. что прикрутить надо не понимаю. если ктото сталкивался с похожим бросьте инфу на to.soft@markoni.ru

lv77
()

kernel 2.6.14 + iptables (patch-o-matic)

Прообновил ядро с 13 на 14. Использовал два расширения из патч о матик ROUTE и TIME. Оба отказались собираться с новым ядром вылетая с ошибками. Знакомый "сишьный" программер поглядел ошибки - сказал что изменились названия массивов переменных и чтото ещё.

Ктонибудь будет модифицировать эти модуля под новое ядро или всё, абзац?

если кто поборол это бросте архивчик на to.soft@markoni.ru

lv77
()

arpwatch, iptables, mac, ip и организация конфликты ip\MAC у пользователей

Преамбула.
Локальная сеть в общежитии. Сервер по линухом. Поднят арпватч, айпитаблес со связкой IP+MAC из самопального билинга с учётом абонентской месячной платой. Но есть одна проблема. Есть некоторые пользователи, которые кладут на отсутвие доступа к сервисам сервера (samba+wins, днс и др) и используют для навигации различного рода "пингователи" и платить абоненку не хотят.
Поэтому родилась идея поднимать на сервере виртуальные айпи адреса и вызывать тем асмым отвал от сети из за конфликта айпиадресов.
/sbin/ifconfig eth0:[xxx] hw ether 11:11:11:11:11:11");
/sbin/ifconfig eth0:[xxx] $ip_bad_host netmask 255.255.255.255 up");

Вопрос: где можно выковырять информацию, желательно русскую по проблеме конфликтов айпишников и маков и поведение при этом 2000\хп или как машина определяет что конфликт имеет место.
Вопрос 2: Нужно что либо добавлять в route, чтобы всё это работало "лучшЕе".
Вопрос 3: нужно ли чтото для ядра?
Вопрос 4: а вообще такое можно сделать или нет? На РедХад 8 это работало.
П.С.
При блокировании на фареволе трафика от этих машин конфликто не возникает, а с другой стороны давать этим компам лишний трафик не хочется.

П.С.С
Используея похожий метод можно попробовать продетвратить работу в корпоративной сети "левых" людей с ноутбуком. Правда придётся делать демона и пасти сеть через арпватч в реалном времени.

Вот кусок недописанного скрипта для крона(на пхп, за это просьба ногами не бить), который проверяет arping`гом сеть и конце концов должен поднимает виртуальные айпишники.
Из базы берутся данные:
- id пользователя - нужно для проверки баланся
- пара ip+mac - используется для


#!/usr/bin/php
<?

@mysql_connect ("localhost" ,"www_biling" , "12345" ) or die ( "просим прощения но база сейчас недоступна");
@mysql_select_db("billing") or die (message("Нетути"));

// выключение всех поднятых виртуальный айпишников до этого и очистка таблицы роутинка

//
$query = 'SELECT `ip` , `mac_adress` '
. ' FROM `users` '
. ' WHERE 1 AND `ip` '
. ' LIKE \'192.168.0.%\' AND `status` =1 AND `balans` >0';
$result = mysql_query($query);
// создание массивов
// массив айпишников по базе
$ip_base = array
(
"192.168.0.1"=>"00:00:00:00:00:00",
);
// массив айпишников полученных из сети
$ip_net = array
(
"192.168.0.9"=>"00:00:00:00:00:00"
);
// присвоение массиву значений айпишников с положительным балансом
$x=0;
while ($x < mysql_numrows($result)):
{
$in_base_ip[$x] = mysql_result($result, $x, 'ip' );
$in_base_mac[$x] = mysql_result ($result, $x, 'mac_adress');
// echo $in_base_ip[$x]," " ,$in_base_mac[$x], "\n";
// внесение пары ип-мак в ассив
$base_ip = $in_base_ip[$x] ; $base_mac = $in_base_mac[$x];
$ip_base[$base_ip]=$base_mac;
echo $base_ip, "-", $ip_base[$base_ip], "\n";
$x++;
};
endwhile;

echo "-----------------------------\n";
// находим айпишники у котрых балланс нулевой, но время оплаты не превысило 10 дней
$query = 'SELECT `id_user`, `ip`, `mac_adress` '
. ' FROM `users` '
. ' WHERE 1 AND `ip` '
. ' LIKE \'192.168.0%\' AND `status` =1 AND `balans` <=0 ORDER BY `ip`';
$result_bad = mysql_query($query);
$x=0;
// echo $x;
//echo mysql_numrows($result);
$res = mysql_numrows($result_bad);
// print_r($result_bad);

while ($x < $res)
{
// print "x= $x \n";
// print "res = $res \n";

$in_base_id_test[$x] = mysql_result($result_bad, $x, 'id_user' );
$in_base_ip_test[$x] = mysql_result($result_bad, $x, 'ip' );
$in_base_mac_test[$x] = mysql_result ($result_bad, $x, 'mac_adress');
echo $in_base_id_test[$x], " ", $in_base_ip_test[$x]," " ,$in_base_mac_test[$x], "\n";
// ---- проверка по транзац логу , когда были последние операции
// проверяем, были ли сьёмы денег у него по автобилингу за последние 10 дней....
$query = 'SELECT DISTINCT ( `id_user` )'
. ' FROM `trans_log` '
. ' WHERE TO_DAYS( NOW( ) ) - TO_DAYS( date ) <=10 AND `discribe` = \'auto billing\' AND `id_user` ='.$in_base_id_test[$x]
. ' ORDER BY `id_user`';
$result = mysql_query($query);
// ... если ДА, то вносим его айпишник и мак в базу хороших адресов.
if ($result)
{echo "нет платежей \n";}
else
{echo "есть платежи \n"; $ip_base[$in_base_ip_test[$x]] = $in_base_mac_test[$x];};

// ---- конец проверка по транзац логу , когда были последние операции

$x++;

};

echo "-----------------------------\n";
// построение состояния айпишников и маков сети
// $net_ip[$ip] - массив с айпишниками
// $net_mac[$ip] - массив с маками
$ip = 14;
$eth0_n=1;
do{
// echo $ip, "\n";
$hosts=shell_exec("sudo arping -c1 192.168.0.$ip | grep 192.168.*.* | grep reply");
// echo $hosts, "\n";
// если ответ ненулевой то вынуть из него мак сетевой
if ($hosts)
{
$hosts=ereg("\[(.*)\]",$hosts,$host_info);
// echo $host_info[1], "\n";
// внесение в массив РЕАЛЬНО РАБОТАЮЩИХ айпишников и маков
$ip_net["192.168.0.".$ip]=$host_info[1];
}
// сразу же выполняется мочилово чуваков для которых не совпадают данные
if (!(strcasecmp($ip_base["192.168.0.".$ip], $ip_net["192.168.0.".$ip]) == 0) AND $ip_net["192.168.0.".$ip]<>"" AND $ip_base["192.168.0.".$ip]<>"00:00:00:00:00:00")
{
// работа с ifconfig и route
echo "MA4U!!!!!! \n", "192.168.0.".$ip, "/", $ip_base["192.168.0.".$ip], "/", $ip_net["192.168.0.".$ip], "/ \n";
// само мочилово!!!!
$shell_exec = "/sbin/ifconfig eth0:". $eth0_n . " hw ether ". $ip_net["192.168.0.".$ip];
echo $shell_exec, "-", $eth0_n, "\n";
// exec ("/sbin/ifconfig eth0:"." hw ether 11:11:11:11:11:11");
// exec ("/sbin/ifconfig eth2 192.168.0.9 netmask 255.255.255.255 up");

$eth0_n++; // увеличение счётчика виртуальных интерефейсов
};
$ip++; // увеличение счётчика айпишника

}
while ($ip < 255);
?>


lv77
()

hp9000 i linux/bsd как поставть.

Есть hp9000 со сказями и 16 метрами мозгов . реально ли на него поставить линух\бсд , и если можно , то как . если можно ссылку где подробно расписано как это зделать.

lv77
()

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