OpenSolaris, OpenIndiana, Nexenta Forum
OpenSolaris, OpenIndiana, Nexenta Troubleshooting => Сеть, сетевые сервисы, сетевой софт => Тема начата: AlexA от Октябрь 24, 2008, 12:36:20 am
-
Как бы ни удивителен этот вопрос, но ... это возможно? Постараюсь конкретизировать - mc (!!!), httpd, ftp, nfs, ntpd, samba и иже с ними, но БЕЗ Х-ов!!! При этом - посчитать, порезать, ограничить (а вот с этим у IPF - проблема) трафик.
-
mc, httpd, ftp, nfs без Х-ов - все это под Solaris возможно, сам настраивал. ntpd, samba - скорее всего тоже реально. Подсчет трафика можно организовать через скрипты DTrace (начиная с OpenSolaris build 93). Если интересно, могу поделиться примерами этих скриптов. Про "порезать, ограничить" я не в курсе, должна быть такая возможность.
-
mc, httpd, ftp, nfs без Х-ов - все это под Solaris возможно, сам настраивал. ntpd, samba - скорее всего тоже реально. Подсчет трафика можно организовать через скрипты DTrace (начиная с OpenSolaris build 93). Если интересно, могу поделиться примерами этих скриптов. Про "порезать, ограничить" я не в курсе, должна быть такая возможность.
Возможно ВСЕ из перечисленного. ntpd, samba - работает тоже прекрасно.
А можно мне тоже скрипты?
Про "порезать" и "ограничить" - надо подумать. Интересная задачка!
-
Если интересно, могу поделиться примерами этих скриптов. Про "порезать, ограничить" я не в курсе, должна быть такая возможность.
А вот с этого момента пожалуйста поподробнее!!! :o ... Очень даже интересует!!!
Поставил неваду билд 98. Попытка отказаться от Х-ов ... не очень хорошая затея. Многое собрано с библиотеками Х-ов (прямо или косвенно). МС не поставился - потребовал какую-то гноме-либу. Пришлось ввалить на винт все гамузом. Теперь ВОПРОСЫ!
1. в пингвине (когда-то) в каком-то инит-филесе можно было ручками прибить Х-ы - поменять 5 на 3. Как сие сделать в соляре?
2. Как я понял, основное управление сервисами идет через svcs. svcs -a показывает челую кучу процессов ... Причем ничего связанное со стартом Х-ов. Как их прибить?
3. Где можно нарыть русскую доку по svcadm?
4. DTrace это нечто похожее на фришный нетграф? Работает в области ядра и практически не жрет ресурсов?
... пока хватит :)
Пасиб
-
DTrace действительно работает в области ядра и практически не жрет ресурсов. Это что-то наподобие интеловского VTune, встроенное в операционную систему. Он позволяет отслеживать события операционной системы и перехватывать параметры этих событий.
Существует программа для организации туннеля, в котором трафик жмется и шифруется. Требуется померять, сколько данных вошло в туннель, в какое количество трафика они превратились при передаче по сети и то же самое - в обратную сторону. Эти 4 числа выдаются на стандарный вывод каждые 20 минут.
192.168.1.2 - IP точки туннеля на машине, где запущен скрипт
10.0.10.32 - IP машины, где запущен скрипт
10.0.10.33 - IP машины, где находится вторая точка туннеля
11111 - это TCP-порт, по которому передаются данные, завернутые в туннель
#!/usr/sbin/dtrace -s
#pragma D option quiet
#pragma D option switchrate=10hz
dtrace:::BEGIN
{
tun0in=0;
tun0out=0;
bge0in=0;
bge0out=0;
}
profile:::tick-20min{
printf("%d\t%d\t%d\t%d\t\n",
tun0in,tun0out,bge0in,bge0out);
tun0in=0;
tun0out=0;
bge0in=0;
bge0out=0;
}
ip:::send
/args[2]->ip_saddr=="192.168.1.2"/
{
tun0in+=args[4]->ipv4_length;
}
ip:::send
/args[2]->ip_saddr=="10.0.10.32" && args[2]->ip_daddr=="10.0.10.33" && args[4]->ipv4_protocol==6 && (unsigned int)(*(((char*)args[4]->ipv4_hdr)+22))*256+(unsigned int)(*(((char*)args[4]->ipv4_hdr)+23))==11111/
{
bge0in+=args[4]->ipv4_length;
}
ip:::receive
/args[2]->ip_daddr=="192.168.1.2"/
{
tun0out+=args[4]->ipv4_length;
}
ip:::receive
/args[2]->ip_daddr=="10.0.10.32" && args[2]->ip_saddr=="10.0.10.33" && args[4]->ipv4_protocol==6 && (unsigned int)(*(((char*)args[4]->ipv4_hdr)+20))*256+(unsigned int)(*(((char*)args[4]->ipv4_hdr)+21))==11111/
{
bge0out+=args[4]->ipv4_length;
}
Более подробное описание применения DTrace для сбора сетевой статистики http://sunhelp.ru/archives/200-DTrace_ip_Provider_budet_vkljuchen_v_Solaris_Express.html#extended
Способ определения порта - чтение TCP-заголовка. В snv_94 работает. Не знаю, будет ли он работать в следующих версиях.
-
В Solaris по умолчанию для графического входа пользователя запущена служба svc:/application/graphical-login/cde-login:default
Прибить иксы в Solaris можно командой svcadm disable cde-login:default.
Русскоязычное описание команд управления службами можно поискать на sunhelp.ru. Если ничего не найдете, сообщите мне и я напишу небольшую статью по ним.
-
"Существует программа для организации туннеля, в котором трафик жмется и шифруется..."
А по какому протоколу организуется туннель? А есть скрипт по подсчету трафика проходящего через интерфейс?
Есть ли аналог mpd5 из фреебсд?
-
В Solaris по умолчанию для графического входа пользователя запущена служба svc:/application/graphical-login/cde-login:default
Спаcибо.
Прибить иксы в Solaris можно командой svcadm disable cde-login:default.
Русскоязычное описание команд управления службами можно поискать на sunhelp.ru. Если ничего не найдете, сообщите мне и я напишу небольшую статью по ним.
На санхелп.ру я не нашел. Если будет возможность предоставить русское описание команд cvsadm, и желательно какими службами она управляет, буду очень признателен.
Спасибо.
-
А по какому протоколу организуется туннель? А есть скрипт по подсчету трафика проходящего через интерфейс?
Есть ли аналог mpd5 из фреебсд?
Туннель организуется моей программой, которую я пишу на работе, передача данных там идет по TCP. Cкрипт по подсчету трафика, проходящего через интерфейс, можно получить сокращением приведенного скрипта почти в 2 раза, так как в нем идет подсчет трафика на двух интерфейсах (туннеля tun0 и сетевой карты bge0). Ну и, конечно, надо указать нужные IP или другие параметров пакетов, размеры которых следует суммировать.
mpd5 - это PPP-сервер?
-
Туннель организуется моей программой, которую я пишу на работе, передача данных там идет по TCP.
А можно ли подключиться к серверу виндузным клиентом?
Cкрипт по подсчету трафика, проходящего через интерфейс, можно получить сокращением приведенного скрипта почти в 2 раза, так как в нем идет подсчет трафика на двух интерфейсах ...
скрипт считает байтики через физический (сетевая карточке) или виртуальный (rtls0 - tun0) и-фейсы?
mpd5 - это PPP-сервер?
Да (клиент - сервер) и очень классно работает. Корректно закрывает зависшие сессии, автоматом создает новые виртуальные интерфейсы (ng0-ngX) и корректно их убирает ... на других XXXbsd - poptop далеко "отстает" (в свое время натрепали нервы звонками из-за пропажи инета). Может быть одновременно и клиентом и сервером. Ща стоит клиентом с АДСЛ - получаю инет и PPPoE сервером отдаю в "народ" (уже забыли мой номер телефона). Фрирадиус плюс "мистер MYSQул" с базами пользователей. Плюс апач, самба, купс, нфс, нтп, фтп, днс и дхсп, ро, цс ... так - чуть - чуть ;). Хочется все это водрузить на солярке :D.
-
А можно ли подключиться к серверу виндузным клиентом?
скрипт считает байтики через физический (сетевая карточке) или виртуальный (rtls0 - tun0) и-фейсы?
Да, имеется клиентская часть, портированная на Windows. Посчет идет на сетевом уровне OSI (виртуальные интерфейсы).
В Solaris у меня скомпилировался клиент rp-pppoe-3.8 (правда пришлось внести небольшие изменения в исходный код). Используя его, я настроил выход в сеть Dom.ru. После компиляции среди исполняемых файлов оказался pppoe-server. Может быть он подойдет. Еще можно поискать инфу на docs.sun.com.
-
Да, имеется клиентская часть, портированная на Windows. Посчет идет на сетевом уровне OSI (виртуальные интерфейсы).
А можно линк на клиента?
В Solaris у меня скомпилировался клиент rp-pppoe-3.8 (правда пришлось внести небольшие изменения в исходный код).
... можно и рррое-3.8?
Спасибо
-
Клиент является нашей закрытой разработкой. Я не могу его предоставить. А вот ссылка на rp-pppoe-3.8 http://perm.citydom.ru/bill/rp-pppoe-3.8.tar.gz При компиляции под Solaris там надо в исходнике у одной функции, которую не найдет линковщик, убрать спецификатор static.
-
Клиент является нашей закрытой разработкой. Я не могу его предоставить.
Понимаю.
А вот ссылка на rp-pppoe-3.8 http://perm.citydom.ru/bill/rp-pppoe-3.8.tar.gz При компиляции под Solaris там надо в исходнике у одной функции, которую не найдет линковщик, убрать спецификатор static.
Сделаем ... знать бы на сколько он стабилен. Попробуем - будем знать :)
А как бы ... построить шейпер? IPF пожалуй единственный из фильтров не имеющий этой возможности.
Есть ли вариации PF ОПЕНБСД под солярку?
Спасибо.
-
Где под неваду - сборка 101 можно взять компилер?
Спасибо
-
Где под неваду - сборка 101 можно взять компилер?
В каталоге /usr/sfw/bin/ находятся всякие GNUшные программы, в том числе gcc и gmake. Можно установить Sun Studio, но для сборки rp-pppoe-3.8 будет достаточно gcc.
-
Где можно нарыть русскую доку по svcadm?
Вот одна из глав хороших русскоязычных учебных курсов по Solaris 10: http://www.intuit.ru/department/os/sysadmsolaris10/13/
наверняка пригодятся заметки про svcs http://solaris.reys.net/categories/7-SMF
-
to keremet: Ссылки очень действенные и полезные. Спасибо.