Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  подсчёт трафика
  trafd & MySQL
  WEB-морда к траффику
  SNMP
  ipacctd
  pfctl
  ntop 4.10
  NeTAMS
  NeTAMS 2
  SQUID+SAMS +Rejik-(NCSA)
  ng_ipacct + squid
  SQUID+SAMS +Rejik-(NTLM)
  SQUID+SAMS +Rejik-(ADLDAP)
  mpd5 + radius + ng_car + Abills
  darkstat
  Netams 3.4.5
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> подсчёт трафика —> WEB-морда к траффику

WEB-интерфейс для просмотра статистики интернета

Автор: lissyara.


В предыдущей статье было рассмотрено, как запихнуть траффик собранный trafd в базу данных MySQL. Также был предложен "способ" подсчёта - запросами из консоли :) Нижеприведённый скрипт - это всего лишь "человеческое лицо" к тому самому запросу. И всё :)
<?php
// IP хостов, интерфейсы,
$ip_out_servera = "222.222.222.222"; // внешний IP сервака
$ip_internal_servera = "192.168.0.254"; // внутренний IP сервака
$IF_out_servera = "fxp0"; // название внешнего интерфейса сервака
$IF_internal_servera = "sis0"; // название внутреннего интерфейса сервака
$lan_mask = "192.168."; // маска по которой выбираются IP для подсчёта
//Пароли для подключения к MySQL
$db_host = "localhost";
$db_user = "trafd";
$db_passwd = "trafd";
$db_db = "trafd";
//Пытаемся приконнектится к БД
if(!mysql_connect($db_host,$db_user,$db_passwd))
{
echo "<br><br><BIG><CENTER>
Не могу прислюнявиться к MySQL-серванту!</CENTER></BIG>";
exit;
}
//Выбираем базу данных
mysql_select_db($db_db);
// определяем текущий месяц, и прошлый месяц - для вывода статистики
$curr_month = date(Y,time()) . "-" . date(m,time());
$old_month = date(Y,time()) . "-" . date('m',strtotime("-1 month"));
// строим HTML страничку: 
?>
<HEAD>
<title>Страница статистики</title>
<meta http-equiv="Content-Type" 
content="text/html; charset=windows-1251">
<STYLE type="text/css">
#main_table .hilightoff {BACKGROUND: white}
#main_table .hilighton {BACKGROUND: #ccbbff}
#cheresstrochnaya_table .hilightoff {BACKGROUND: #88ff88}
#cheresstrochnaya_table .hilighton {BACKGROUND: #ccbbff}
</STYLE>
<BODY>
<BIG><CENTER>СТАТИСТИКА ИНТЕРНЕТА</CENTER></BIG><br><br>
<TABLE border="0" cellspacing="0" cellpadding="0" width="100%">
<TBODY>
	<TR>
		<TD width="50%" align="center" valign="top">
<TABLE border="1" cellspacing="0" cellpadding="0" 
width="80%" id="main_table">
<TBODY>
	<TR>
		<TD height="20" align="center" colspan="3">
		<BIG><CENTER>статистика за текущий месяц 
		<?php echo $curr_month; ?></CENTER></BIG></TD>
	</TR>
	<TR>
		<TD height="20" width="15%" align="center">
		<b>IP - адрес</b></TD>
		<TD height="20" width="55%" align="center">
		<b>пользователь</b></TD>
		<TD height="20" width="30%" align="center">
		<b>сколько скачано мегабайт</b></TD>
	</TR>
<?php
// вытаскиваем статистику по пользователям из БД
$sql = mysql_query("SELECT to_IP, SUM(bytes) AS `bytes` FROM 
`" . $IF_internal_servera . "_" . date(Y,time()) . "` WHERE `date` 
LIKE '" . $curr_month . "-%' AND from_IP != '" . $ip_out_servera . "'  
AND to_IP != '" . $ip_out_servera . "' AND 
`to_IP` != '" . $ip_internal_servera . "' 
AND `from_IP` != '" . $ip_internal_servera . "' AND `to_IP` 
LIKE '" . $lan_mask . "%' GROUP BY `to_IP` ORDER BY `bytes` DESC");
// Строим табличку по тем кого достали
// вытаскиваем рейтинг страниц из БД
while ($d = mysql_fetch_assoc($sql)) {
	// собственно тут вывод результатов.
	$bytes = $d['bytes'] /1048576;
	$bytes = round($bytes, 2);
	if($d['to_IP'] == '192.168.0.21'){$user_name = 'Петров Ф. А.';}
	if($d['to_IP'] == '192.168.0.17'){$user_name = 'Сидоров Н. А.';}
	if($d['to_IP'] == '192.168.0.13'){$user_name = 'Иванов А.Л.';}
	?>
	<tr class=hilightoff onmouseover="className='hilighton';" 
	onmouseout="className='hilightoff';">
		<td style="border-bottom: 1px solid #707680;" 
		width="" align="left"><?php echo $d['to_IP']; ?></td>
		<td style="border-bottom: 1px solid #707680;" 
		width="" align="left"><?php echo $user_name; ?></td>
		<td style="border-bottom: 1px solid #707680;" 
		width="" align="center"><?php echo $bytes; ?></td>
	</tr>
<?php
unset ($user_name);
}
?>
</TBODY>
</TABLE>
</TD>
<TD width="50%" align="center" valign="top">
<TABLE border="1" cellspacing="0" cellpadding="0" 
width="80%" id="main_table">
<TBODY>
	<TR>
		<TD height="20" align="center" colspan="3">
		<BIG><CENTER>статистика за прошлый месяц 
		<?php echo $old_month; ?></CENTER></BIG></TD>
	</TR>
	<TR>
		<TD height="20" width="25%" align="center">
		<b>IP - адрес</b></TD>
		<TD height="20" width="55%" align="center">
		<b>пользователь</b></TD>
		<TD height="20" width="30%" align="center">
		<b>сколько мегабайт</b></TD>
	</TR>
<?php
// вытаскиваем статистику по пользователям из БД
$sql = mysql_query("SELECT to_IP, SUM(bytes) AS `bytes` FROM 
`" . $IF_internal_servera . "_" . date(Y,time()) . "` WHERE `date` 
LIKE '" . $old_month . "-%' AND from_IP != '" . $ip_out_servera . "' AND
to_IP != '" . $ip_out_servera . "' AND `to_IP` != '" . $ip_internal_servera . "' 
AND `from_IP` != '" . $ip_internal_servera . "' AND `to_IP` LIKE 
'" . $lan_mask . "%' GROUP BY `to_IP` ORDER BY `bytes` DESC");
// Строим табличку по тем кого достали
// вытаскиваем рейтинг страниц из БД
while ($d = mysql_fetch_assoc($sql)) {
	// собственно тут вывод результатов.
	$bytes = $d['bytes'] /1048576;
	$bytes = round($bytes, 2);
	if($d['to_IP'] == '192.168.0.21'){$user_name = 'Петров Ф. А.';}
	if($d['to_IP'] == '192.168.0.17'){$user_name = 'Сидоров Н. А.';}
	if($d['to_IP'] == '192.168.0.13'){$user_name = 'Иванов А.Л.';}
	?>
	<tr class=hilightoff onmouseover="className='hilighton';"
	 onmouseout="className='hilightoff';">
		<td style="border-bottom: 1px solid #707680;" 
		width="" align="left"><?php echo $d['to_IP']; ?></td>
		<td style="border-bottom: 1px solid #707680;" 
		width="" align="left"><?php echo $user_name; ?></td>
		<td style="border-bottom: 1px solid #707680;" 
		width="" align="center"><?php echo $bytes; ?></td>
	</tr>
<?php
unset ($user_name);
}
?>

</TBODY>
</TABLE>

</TD>
</TR>
</TBODY>
</TABLE>
<br><br>

<?php
// считаем траффик этого месяца
$traffic_curr_month = mysql_fetch_array(mysql_query("SELECT SUM(bytes) AS `bytes` 
FROM `" . $IF_out_servera . "_" . date(Y,time()) . "` 
WHERE `to_IP` ='" . $ip_out_servera . "' AND `date` 
LIKE '" . $curr_month . "-%'"));
$traffic_curr_meg = $traffic_curr_month[bytes] / 1048576;
$traffic_curr_meg = round($traffic_curr_meg, 2);

// считаем траффик прошлого месяца
$traffic_old_month = mysql_fetch_array(mysql_query("SELECT SUM(bytes) AS `bytes` 
FROM `" . $IF_out_servera . "_" . date(Y,time()) . "` WHERE 
`to_IP` ='" . $ip_out_servera . "' AND `date` 
LIKE '" . $old_month . "-%'"));
$traffic_old_meg = $traffic_old_month[bytes] / 1048576;
$traffic_old_meg = round($traffic_old_meg, 2);
?>
Всего было траффика за&nbsp; &nbsp; этот &nbsp; &nbsp; 
месяц: &nbsp; <?php echo $traffic_curr_meg; ?> мегабайт<br>
Всего было траффика за прошлый месяц: 
<?php echo $traffic_old_meg; ?> мегабайт<br>
</FORM>
</BODY>
</HTML>

<?php ?>

Сложного ничего нету. Если припрёт показывать статистику пользователям, то в простейшем варианте, это будет выглядеть так:
<?php
// IP хостов, интерфейсы,
$ip_out_servera = "222.222.222.222"; // внешний IP сервака
$ip_internal_servera = "192.168.0.254"; // внутренний IP сервака
$IF_out_servera = "fxp0"; // название внешнего интерфейса сервака
$IF_internal_servera = "sis0"; // название внутреннего интерфейса сервака
$lan_mask = "192.168."; // маска по которой выбираются IP для подсчёта
//Пароли для подключения к MySQL
$db_host = "localhost";
$db_user = "trafd";
$db_passwd = "trafd";
$db_db = "trafd";
// достаём IP того кто хочет посмотреть
$ip = $_SERVER['REMOTE_ADDR'];
//Пытаемся приконнектится к БД
if(!mysql_connect($db_host,$db_user,$db_passwd))
{
echo "<br><br><BIG><CENTER>
Не могу прислюнявиться к MySQL-серванту!</CENTER></BIG>";
exit;
}
//Выбираем базу данных
mysql_select_db($db_db);
// определяем текущий месяц, и прошлый месяц - для вывода статистики
$curr_month = date(Y,time()) . "-" . date(m,time());
// строим HTML страничку: 
?>
<HEAD>
<title>Страница статистики</title>
<meta http-equiv="Content-Type" content="text/html; 
charset=windows-1251">
<STYLE type="text/css">
#main_table .hilightoff {BACKGROUND: white}
#main_table .hilighton {BACKGROUND: #ccbbff}
#cheresstrochnaya_table .hilightoff {BACKGROUND: #88ff88}
#cheresstrochnaya_table .hilighton {BACKGROUND: #ccbbff}
</STYLE>
<BODY>
<BIG><CENTER>СТАТИСТИКА ИНТЕРНЕТА</CENTER></BIG><br><br>	
<TABLE border="1" cellspacing="0" cellpadding="0" width="100%" id="main_table">
<TBODY>
	<TR>
		<TD height="20" align="center" colspan="4">
		<BIG><CENTER>статистика за текущий месяц 
		<?php echo $curr_month; ?></CENTER></BIG></TD>
	</TR>
	<TR>
		<TD height="20" align="center" colspan="4">&nbsp;</TD>
	</TR>
	<TR>
		<TD height="20" width="15%" align="center">
		<b>IP - адрес</b></TD>
		<TD height="20" width="25%" align="center">
		<b>Пользователь</b></TD>
		<TD height="20" width="30%" align="center">
		<b>сколько скачано, мегабайт</b></TD>
		<TD height="20" width="30%" align="center">
		<b>сколько осталось мегабайт</b></TD>
	</TR>
	<TR>
		<TD height="20" width="15%" align="center">&nbsp;</TD>
		<TD height="20" width="25%" align="center">&nbsp;</TD>
		<TD height="20" width="30%" align="center">&nbsp;</TD>
		<TD height="20" width="30%" align="center">&nbsp;</TD>
	</TR>
<?php
// вытаскиваем статистику по пользователям из БД
$sql = mysql_query("SELECT to_IP, SUM(bytes) AS `bytes` FROM `" 
. $IF_internal_servera . "_2005` WHERE `date` LIKE '" 
. $curr_month . "-%' AND to_IP != '" . $ip_out_servera . 
"' AND `to_IP` != '" . $ip_internal_servera . 
"' AND `to_IP` = '" . $ip . "' AND `from_IP` != '" 
. $ip_internal_servera . "' GROUP BY `to_IP` ORDER BY 
`bytes` DESC");
// Строим табличку по тем кого достали
// вытаскиваем рейтинг страниц из БД
while ($d = mysql_fetch_assoc($sql)) {
	// собственно тут вывод результатов.
	$bytes = $d['bytes'] /1048576;
	$bytes = round($bytes, 2);
	// определяем пользователя
	if($d['to_IP'] == '192.168.0.21'){$user_name = 'Петров Ф. А.';}
	if($d['to_IP'] == '192.168.0.17'){$user_name = 'Сидоров Н. А.';}
	if($d['to_IP'] == '192.168.0.13'){$user_name = 'Иванов А.Л.';}
	// считаем скока осталось траффику
	$bytes_ostalos = 200 - $bytes;
	?>
	<tr class=hilightoff onmouseover="className='hilighton';" 
	onmouseout="className='hilightoff';">
		<td style="border-bottom: 1px solid #707680;" 
		width="" align="left"><?php echo $d['to_IP']; ?></td>
		<td style="border-bottom: 1px solid #707680;" 
		width="" align="left"><?php echo $user_name; ?></td>
		<td style="border-bottom: 1px solid #707680;" 
		width="" align="center"><?php echo $bytes; ?></td>
		<td style="border-bottom: 1px solid #707680;" 
		width="" align="center"><?php echo $bytes_ostalos; ?></td>
	</tr>
<?php
unset ($user_name);
unset ($bytes);
unset ($bytes_ostalos);
}
?>
</TBODY>
</TABLE>
</BODY>
</HTML>
<?php ?>

То есть, просто определяется IP адрес компьютера с которого был сделан http запрос, и выводится статистика только для этого адреса. Если за одним компьютером работает больше одного пользователя - то надо придумывать что-то дополнительно :(



размещено: 2005-09-02,
последнее обновление: 2005-09-23,
автор: lissyara

оценить статью:

srg, 2005-10-09 в 20:38:21

А если по маске подсети?  Не каждется вам, если сетка давольно большая, а вбивать все IP с именами пользователей просто лень.

lissyara, 2005-10-10 в 9:03:35

Я предложил вариант. А у ж как делать у себя на практике - решать Вам.

Ajax, 2006-02-06 в 18:40:23

Хороший скрипт, особенно когда юзеры в нет по mpd попадают, тогда IP и юзера из Mpd.secret можно выгребать :)

dsa, 2006-02-24 в 16:07:09

Кстати неплохо былоб таким вебмордам скриншоты делать и показывать. Чтоб видеть что и как отображается скрипт. Без установки.

Yanis.sql.ru, 2006-03-07 в 13:26:18

Да-да, положи скриншоты!

General, 2006-07-20 в 15:14:26

Сделал web-морду для trafd-mysql с возможностью просмотра статистики по интерфейсам/портам/протоколам/юзерам. Для кого актуально - см. http://shareexp.blogspot.com/

UFOS, 2006-07-21 в 4:02:34

Данные php мордочки не работают в apache22 + php5 т.е. при открытии просто белая страница.

nomad, 2006-09-11 в 15:17:50

В юзерском скрипте есть маненечко недочет: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/html/test/user.php on line 79

79: $sql = mysql_query("SELECT to_IP, SUM(bytes) AS `bytes` FROM `"
. $IF_internal_servera . "_2005` WHERE `date` LIKE '"
. $curr_month . "-%' AND to_IP != '" . $ip_out_servera .
"' AND `to_IP` != '" . $ip_internal_servera .
"' AND `to_IP` = '" . $ip . "' AND `from_IP` != '"
. $ip_internal_servera . "' GROUP BY `to_IP` ORDER BY
`bytes` DESC");

Дату надо заменить на date(Y,time()), т.е. будет вот так:
$sql = mysql_query("SELECT to_IP, SUM(bytes) AS `bytes` FROM `"
. $IF_internal_servera . "_".date(Y,time())."` WHERE `date` LIKE '"
. $curr_month . "-%' AND to_IP != '" . $ip_out_servera .
"' AND `to_IP` != '" . $ip_internal_servera .
"' AND `to_IP` = '" . $ip . "' AND `from_IP` != '"
. $ip_internal_servera . "' GROUP BY `to_IP` ORDER BY
`bytes` DESC");


И что касается вбивания пользователей - как правило, они не изменяются постоянно - т.е. можно один раз вбить...

А можно сделать вот так:
line 84: user.php \ stat.php

   $user_name = $users [$d ['to_IP']];
   if (!isset ($user_name))
       $user_name = '<b>Неизвестный</b>';

Это вместо:
   if($d['to_IP'] == '192.168.0.21'){$user_name = 'Петров Ф. А.';}
   if($d['to_IP'] == '192.168.0.17'){$user_name = 'Сидоров Н. А.';}
   if($d['to_IP'] == '192.168.0.13'){$user_name = 'Иванов А.Л.';}

И создать в начале скрипта массив
$users = array (
    'ip' => 'username',
    '192.168.0.255' => 'broadcast'
);

Я в свое под свои нужны писал скрипт инвентаризации-онлайн, у меня все пользователи и так хранятся в базе, так что после

$all = 'SELECT U.id_user, U.name, M.info FROM '.$db_inv_users.' U, '.$db_inv_main.' M WHERE M.id_user=U.id_user AND M.info != ""';
$all = result2array (mysql_query ($all));

foreach ($all as $item) {
   $username = $item ['name'];
   $item ['info'] = unserialize (decodestring ($item ['info']));
   echo "'".$item ['info']['network']['adapter']['0']['ip']."' => '".$username."',<br>";
} // foreach ($users as $user);

Получаем просто всех пользователей с 'ip' => 'username', а дальше - великий C-C, C-V.

nomad, 2006-09-11 в 15:20:08

И еще: Lissyar'e большой респект - редко когда находятся скрипты или руководства, работающие с первого раза и без напильника\обработки чего-либо где-либо.
К тому-же внятное, доходчивое объяснение для человека без опыта работы с какими-либо вещами - еще бОльшая редкость.

Спасибо большое!

Mika, 2006-09-13 в 16:55:40

Liss, спасибо.
Но у тебя косяк. Или в ipacctd или здесь поправь.
В мускуль ты пишешь в таблицу "имя . год", а считываешь за прошлый месяц из текущего года.
Еще косяк. Юзверю по умолчанию надо присваивать &nbsp;  - иначе рамка не прорисовывается вокруг пробельной ячейки - некрасиво.
И время генерации страницы у меня на 10 юзверях (1 ословод, остальные пассивные сёрферы) растет на 1 секунду в сутки. Я конечно выкину все лишнее, порты ремот и локал например... Но предупреждать надо что на двухголовом ксеоне 3.2ГХз + 2Гб und FreeBSD5.4 оно так тормозит :)

KaMa-CyTpA, 2006-11-09 в 18:10:02

Прекрасная тема, но вот только указывается - пользователь - столько-то мегабайт. А на какие сайты лазил?
У нас такая тема - на сайты не по работе - в зарплату воткнули и всё. Пользую (пока) ISA 2004 и считаю InternetAccessMonitor. Но с огромным удовольствием перетащил бы всех на фрю...

Chani, 2006-11-14 в 16:08:22

А я ису изгнал, теперь все на фре

nomad, 2006-11-23 в 11:53:46

2KaMa-CyTpA: Это учет трафика. Вопросами "куда лазил пользователь" занимается Squid.
Другой уровень модели ISO\OSI

io, 2007-01-11 в 21:18:47

а эта веб морда к ipacctd подходит?

Slider007, 2007-03-29 в 11:41:15

29 марта столкнулся с косяком:
конструкция
$old_month = date(Y,time()) . "-" . date('m',strtotime("-1 month"));
вместо "2007-02" выдает "2007-03". Почему так не знаю, т.к. в php не силен, но подозреваю это от того, что в феврале нет 29 дня (как и 30 и 31). Так что эта конструкция по идее будет глючить и каждое 31 число месяца, да и декабрь как предыдущий месяц не будет определяться ;).
Вот.
Почесав репу написал чуть-чуть другой код. Не судите если коряво или можно сделать проще - это первое что я на php написал в жизни ..
Итак, кусок
// определяем текущий месяц, и прошлый месяц - для вывода статистики
$curr_month = date(Y,time()) . "-" . date(m,time());
$old_month = date(Y,time()) . "-" . date('m',strtotime("-1 month"));
надо заменить на
$curr_month_num = date(m,time());
$curr_year_num = date(Y,time());
$curr_month = $curr_year_num . "-" . $curr_month_num;

$previous_month_num = $curr_month_num - 1;
$previous_year_num = $curr_year_num;
if ($previous_month_num < 1)
{
   $previous_month_num = 12;
   $previous_year_num = $previous_year_num - 1;
}
if ($previous_month_num < 10)
{
   $previous_month_num = "0" . $previous_month_num;
}
$old_month = $previous_year_num . "-" . $previous_month_num;

Скрипт потестил только в текущем периоде (т.е. на сегодняшней дате 29.03.2007), по этому не уверен в нем на 100%, особенно как будет определяться предыдущий месяц в январе, но по идее всё должно заработать, короче в январе будет ясно ;).

Slider007, 2007-03-30 в 6:51:04

Дополнение:
ну и ещё в запросах косяк - с именем таблицы, опять же в январе за декабрь ничё считаться не будет. Mika об этом говорил уже.

lissyara, 2007-03-30 в 9:58:16

Это просто образец - в какую сторону плясать :)
Некоторые на основе этого образца такие весчи безумные лепят - с календариками и прочей а-ля аджаксовой хренью :)))

KaMa-CyTpA, 2007-03-31 в 15:55:15

2nomad
Сквид тока веб смотрит - а вот в КС человек накачал или по RDP - этим сквид не занимается.

wanderer, 2007-12-07 в 19:53:41

вот, сделал определение месяцев по-короче:

$_time = time();
$_year = date("Y", $_time);
$_month = date("m", $_time);
$curr_month = $_year . "-" . $_month;
$last_month = ($_month == 1) ? (($_year - 1) . "-" . "12") : ($_year . "-" . ($_month - 1));

ScorpioN, 2008-03-03 в 6:49:12

Определение месяцев еще короче :)
$curr_month = date('Y-m');
$old_month = date('Y-m',mktime(0,0,0,date('n')-1,1,date('Y')));

fr0st, 2008-04-17 в 17:06:43

а если есть внутрисетевой трафик он складывается с Интернет трафиком или нет?

Zuek, 2008-09-23 в 14:48:51

Настоятельно рекомендую переделать конструкцию определения прошлого месяца в более изящный вид, применимый, правда, только с php5.1:

$curr_day = date(Y,time()) . "-" . date(m,time()) . "-" . date(d,time());
$old_m = new DateTime($curr_day);
$old_m -> modify('-1 month');
$old_month = $old_m -> format('Y-m');
unset ($old_m);

...и это - только на вскидку, под авторством человека, не писавшего ничего серьёзного с 1994-го, когда про интернет только по телику иногда слышали =)

Zuek, 2008-09-23 в 14:51:58

P.S.: Надеюсь, общественность простит мне сохранённую громоздкую конструкцию формирования $curr_day, не использующую директиву format('Y-m-d')
;-)

lissyara, 2008-09-23 в 14:54:19

Это - первое что я написал на php.
Так что - оставлю как есть. Воспоминание =)

Zuek, 2008-09-23 в 15:42:21

p.P.S.: Опять же надеюсь на понимание общественности в вопросе формирования запроса к таблице для вывода статистики за прошлый месяц - имя таблицы будет никак не '$IF_out_servera . "_" . date(Y,time())', а некоей конструкцией наподобии '$IF_out_servera . "_" . $old_year', но в моей сети пришлось создавать отдельные таблицы по месяцам (слабый сервер с мускулом и много клиентов), поэтому я не придавал этому аспекту большого значения...

User, 2009-02-26 в 10:07:51

А если требуется смотреть статистику по дням?
Как можно такое сделать?


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs

Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec

Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash

Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT

Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3

Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN

На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm

Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth&quota

Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli

Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master

MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones

Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)

Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4

Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3

Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2

Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1

Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat

Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat

Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 15 чел.
За последние 30 мин было: 70 человек
За сегодня было
3 показов,
3 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.071 секунд
Из них PHP: 50%; SQL: 50%; Число SQL-запросов: 77 шт.
Исходный размер: 132767; Сжатая: 24090