LINUX.ORG.RU

Сообщения IR0N

 

HDD, badblocks, время доступа к секторам

Форум — Linux-hardware

Дано: проблемный внешний винт 2,5' с usb переходником.
Задача: использовать его в качестве хранилища для торрентокачалки. Цена потери данных (вместе с винтом) соответственно минимальна.
Суть проблемы:
Винт отлично проходит тесты чтения как в программе badblocks, так и в MHDD и Victoria. В то же время тесты записи на винт во всех этих программах выявляют разбросанные по всему диску сектора, время записи в которые неприлично высоко. Тем не менее, запись в них и последующее чтение ошибок не выявляют.
По данным Victoria, таких секторов при записи около 5 тысяч. При чтении их нет, то есть чтение проходит без проблем/дефектов.

Хочу пометить данные сектора как бад блоки на уровне файловой системы.
Запускаю badblocks, fsck, mkfs - результат один и тот же, все они считают нормальным записывать один блок по полминуты. Ни одна из них не считает, что это бад блок.
Вопрос: можно ли каким-либо образом составить список таких вот «дефектных» секторов? К сожалению, не нашел в man badblocks ничего про таймаут операции.

IR0N
()

TC не видит метки CONNMARK

Форум — Admin

Пытаюсь наваять скрипт для шейпинга торрент трафика. Использую IMQ и l7-layer.

modprobe imq
modprobe ipt_IMQ
modprobe xt_connmark
modprobe ipt_connmark
modprobe imq numdevs=2
ip link set imq0 up
ip link set imq1 up
##############################################################ingress##############################################################
tc qdisc add dev imq0 root handle 1: htb default 1
tc class add dev imq0 parent 1: classid 1:1 htb rate 1100Kbit # общая пропускная способность - 10%
tc class add dev imq0 parent 1:1 classid 1:10 htb rate 512kbit ceil 1100kbit # HTTP
tc class add dev imq0 parent 1:1 classid 1:11 htb rate 100kbit ceil 300kbit # Torrent
tc qdisc add dev imq0 parent 1:10 handle 10: sfq perturb 10 # дисциплины
tc qdisc add dev imq0 parent 1:11 handle 11: sfq perturb 10 # дисциплины
tc filter add dev imq0 parent 1:0 protocol ip prio 1 handle 2 fw flowid 1:10 # Распихиваем, метка 2 - HTTP
tc filter add dev imq0 parent 1:0 protocol ip prio 2 handle 1 fw flowid 1:11 # Распихиваем, метка 1 - Torrent
iptables -t mangle -A PREROUTING -i ppp0 -j IMQ --todev 0 # Перенаправляем трафик на IMQ

####### метим #######
iptables -t mangle  -A PREROUTING -m layer7 --l7proto http -j CONNMARK --set-mark 0x2
iptables -t mangle  -A PREROUTING -m layer7 --l7proto bittorrent -j CONNMARK --set-mark 0x1

Проблема в том, что tc почему-то не понимает помеченные CONNMARK пакеты, в результате ничего не шейпится, классы 10-11 по нулям (tc -s qdisc ls dev imq0 показывает, что все запихивается в дефолтный класс.) Если метить пакеты через MARK, то в классы 10 и 11 что-то попадает, но 80% торрент-трафика все равно идет через дефолтный, хотя должна идти в 11.
Как можно маркировать все пакеты в соединении, чтобы это было понятно tc?

IR0N
()

Некорректное удаление скомпиленной программы

Форум — Admin

Slackware 13.
Нужно было пересобрать iptables.
Прекрасно знаю о компиляции программ в пакеты для слаки для последующей установки. Тут что-то моча в голову ударила.
Вообщем по порядку:
1. Был таблес, что шел в дистрибутиве.

2. Скачал исходники нового, configure, make, make install.

3. Обнаружил, что теперь по разным путям раскиданы разные версии iptables. Сделал removepkg <родной_пакет>.

4. Решил сделать все как у людей и поставить таки из самособранного пакета. При помощи утилиты Src2Pkg сделал пакет.

5. Решил удалить установленный через make install таблес. Сделал whereis iptables, он показал /usr/local/sbin/iptables. Сделал rm /usr/local/sbin/iptables.

6. Поставил самособранный пакет.

Результат довольно предсказуем. По всей системе разбросаны куски таблесов разных версий и компиляций, но самое плохое вот что:

whereis iptables
iptables: /usr/sbin/iptables /usr/man/man8/iptables.8.gz /usr/share/man/man8/iptables.8.gz /usr/X11/man/man8/iptables.8.gz

iptables
-bash: /usr/local/sbin/iptables: Нет такого файла или каталога

Если обратиться напрямую к /usr/sbin/iptables то все нормально.

Главный вопрос: как заставить систему по команде iptables обращаться по новому пути (/usr/sbin/iptables)? Где искать соответствие команда-бинарник?

Второстепенный вопрос: как лучше подчистить мусор от разных версий и сборок iptables?

IR0N
()

Slackware, pppd. Соединения наглухо виснут.

Форум — Admin

Slackware 13, ядро ванильное.
ppp 2.4.4, rp-pppoe-3.10.
Линуксовый комп работает в роли роутера, раздает локалку и инет двум домашним компам через айпитаблес-маскардинг.
Проблема следующая: после нескольких недель непрерывной работы несколько раз замечал, что соединения повисают. Проблема возникала пока только пару раз, но сегодня доставила немало нервов пользователям, пока меня не было.
Симптомы: ни с сервака, ни с клиентов не пингуется ничего. Ни по айпишнику, ни по имени. ifconfig показывает, что значения принято/передано байт на pppX не меняются, т.е по pppX ничего не отправляется и ничего не принимается, соединения подняты.
Соединений два, одно для инета, второе для локалки местного провайдера.
Поднимаются след. образом:
#!/bin/sh
/sbin/ip link set eth1 up
/usr/sbin/pppd pty \
«/usr/sbin/pppoe -p /var/run/pppoelocal.pid -I eth1 -T 80 -U -m 1412» \
file /etc/ppp/optionlocal.pppoe


#!/bin/sh
sleep 5
# зачем тут нужен sleep уже не помню, но вроде при одновременном поднятии двух интерфейсов при старте системы иногда происходил конфликт.
/sbin/ip link set eth1 up
/usr/sbin/pppd pty \
«/usr/sbin/pppoe -p /var/run/pppoe.pid -I eth1 -T 80 -U -m 1412» \
file /etc/ppp/option.pppoe

optionlocal.pppoe:
noipdefault
#defaultroute
#replacedefaultroute
hide-password
#lcp-echo-interval 30
#lcp-echo-failure 4
noauth
persist
noipv6
mtu 1492
noproxyarp
maxfail 0
#holdoff 20
plugin rp-pppoe.so eth1
user «user/local»
#usepeerdns
unit 1

option.pppoe:
noipdefault
defaultroute
#replacedefaultroute
hide-password
#lcp-echo-interval 30
#lcp-echo-failure 4
noauth
persist
mtu 1492
noproxyarp
maxfail 0
plugin rp-pppoe.so eth1
noipv6
#holdoff 20
user «user»
usepeerdns
unit 0
#nodetach

Сегодня чисто случайно удалось повторить ситуацию.
При работающих сетевых интерфейсах pppX (которые идут через eth1) выдернул кабель из сетевухи eth1. К моему удивлению, через 10 минут не упали ни ppp, ни eth. Все интерфейсы остались висеть, но счетчики пакетов замерли (что и понятно).
Вставил назад кабель-пинги не идут, интерфейсы висят, интернета нет.
killall pppd, стартуем опять pppd и все работает.
Не понимаю почему при вытащенном кабеле интерфейсы (причем все) остаются в состоянии up. Мне казалось, должны опускаться.
Задача: заставить падать интерфейс при выдергивании кабеля, а позже разрулить запуск/убивание pppd через if-up if-down.

P.S:
Начало http://www.linux.org.ru/forum/admin/5329467
Новая тема т.к «многа букаф», и все на неверном пути.

IR0N
()

Как работает приоретизация трафика

Форум — Admin

Много чего перечитал про приоретизацию трафика, но мало чего понял, а еще меньше сделал.
К примеру задача-задать наименьший приоритет торрент-трафику. Чтобы типа можно было лазить по инету с включенным инетом, а торрент автоматом понижал скорость.
Во всех руководствах большими жирными буквами пишут: «Управлять можно только исходящим трафиком». Как же тогда люди реализовывают систему приоретизации торрент трафика?
Я так понял, что создается виртуальный интерфейс, куда валятся все пакеты с реального интерфейса, а уже на этом виртуальном интерфейсе эмулируются очереди пакетов, после чего торрент клиент рассылает сигналы на понижение скорости передачи.

В некоторых руководствах говорится о уничтожении каждого n исходящего пакета, чтобы снизить число запросов, а соответственно и число входящих пакетов.
К торренту это ИМХО малоприменимо, т.к торрент может ничего не качать а раздавать по полной, или наоборот.

Вообщем я не могу понять, как вообще реализовывается приоретизация трафика. Не говоря о том, чтобы ее таки настроить.
И все таки, как это работает?

IR0N
()

Slackware, pppd. Соединения наглухо виснут.

Форум — Admin

Slackware 13, ядро ванильное.
ppp 2.4.4, rp-pppoe-3.10.
Линуксовый комп работает в роли роутера, раздает локалку и инет двум домашним компам через айпитаблес-маскардинг.
Проблема следующая: после нескольких недель непрерывной работы несколько раз замечал, что соединения повисают. Проблема возникала пока только пару раз, но сегодня доставила немало нервов пользователям, пока меня не было.
Симптомы: ни с сервака, ни с клиентов не пингуется ничего. Ни по айпишнику, ни по имени. ifconfig показывает, что значения принято/передано байт на pppX не меняются, т.е по pppX ничего не отправляется и ничего не принимается, соединения подняты.
Соединений два, одно для инета, второе для локалки местного провайдера.
Поднимаются след. образом:
#!/bin/sh
/sbin/ip link set eth1 up
/usr/sbin/pppd pty \
«/usr/sbin/pppoe -p /var/run/pppoelocal.pid -I eth1 -T 80 -U -m 1412» \
file /etc/ppp/optionlocal.pppoe


#!/bin/sh
sleep 5
# зачем тут нужен sleep уже не помню, но вроде при одновременном поднятии двух интерфейсов при старте системы иногда происходил конфликт.
/sbin/ip link set eth1 up
/usr/sbin/pppd pty \
«/usr/sbin/pppoe -p /var/run/pppoe.pid -I eth1 -T 80 -U -m 1412» \
file /etc/ppp/option.pppoe

optionlocal.pppoe:
noipdefault
#defaultroute
#replacedefaultroute
hide-password
#lcp-echo-interval 30
#lcp-echo-failure 4
noauth
persist
noipv6
mtu 1492
noproxyarp
maxfail 0
#holdoff 20
plugin rp-pppoe.so eth1
user «user/local»
#usepeerdns
unit 1

option.pppoe:
noipdefault
defaultroute
#replacedefaultroute
hide-password
#lcp-echo-interval 30
#lcp-echo-failure 4
noauth
persist
mtu 1492
noproxyarp
maxfail 0
plugin rp-pppoe.so eth1
noipv6
#holdoff 20
user «user»
usepeerdns
unit 0
#nodetach

По логам - в syslog пусто, в messages есть кой чего, но оно мне мало что говорит.

IR0N
()

Slackware. Падение скорости pppoe

Форум — Admin

Не так давно мигрировал на слаку с дебиана. Слака стоит на домашнем сервачке, который качает торренты и раздает инет и локалку двум домашним компам через софтварный мост и iptables masquerade.
И локалка, и инет работают через pppoe.
Настроено по след. статье: http://old.slackware.ru/article.ghtml?ID=3083
Проблема в том, что процессы pppoe при скачке/отдаче чего-нибудь жрут до 40% процессорного времени. Насколько я помню, я не сталкивался с таким в дебиане.
Но главная проблема в том, что скорость в 100 мегабитной локалке (фулл дуплекс, витая пара) не поднимается выше 2 мегабайт/сек, в то время как если воткнуть провайдерский кабель напрямую в домашний комп под форточками, скорость легко поднимается до 5 метров/сек.
Подозреваю, что вышеуказанная настройка кривовата. Коллеги, а ваше мнение?

IR0N
()

Slckware. libsasl2.la

Форум — Admin

При компиляци рторрент ругается на отсутствие /usr/lib/libsasl2.la.
Уже убился, поставил и GNU SASL Library (http://www.gnu.org/software/gsasl/) , и SASL (http://asg.web.cmu.edu/sasl/), все равно нет такого файла ни в этой дире, ни в системе. Откуда взять эту гребаную библиотеку?

IR0N
()

Slackware. Работа с checkinstall

Форум — Admin

слака 13. Локаль в ютф8 ру, поднято 2 пппое коннекта, прописаны правила айпитаблеса. Ничего другого не трогал.
Вообщем уже обматерил все что можно, начиная с себя и заканчивая девелоперами checkinstall.
Скачку сорцов и их распаковку с вашего позволения опущу.
Есть каталог /home/checkinstall/checkinstall-1.6.2. Там лежат сорцы программы checkinstall.
Читаем INSTALL:
=========================
INSTALLATION INSTRUCTIONS
=========================

Simple enough:

make
su
make install
checkinstall

make - без проблем.
su - не надо, сижу от рута
make install - нет проблем
checkinstall -S -d 3 (макс. уровень отладки) и:
root@ironnet:/home/checkinstall/checkinstall-1.6.2# checkinstall -S -d 3

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
Эта программа распространяется на условиях GNU GPL

The checkinstallrc file was not found at:
/usr/local/sbin/../checkinstallrc

Подразумеваются значения по умолчанию.
debug: TAR=/bin/tar-1.13
debug: VISUAL=/usr/bin/vi

debug: Setting umask => 0022
debug: The temporary directory is: [ /var/tmp/tmp.csIwK9 ]


********************************************
**** Slackware package creation selected ***
********************************************

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

1 - Summary: [ CheckInstall installations tracker, version 1.6.2 ]
2 - Name: [ checkinstall ]
3 - Version: [ 1.6.2 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ Applications/System ]
7 - Architecture: [ i386 ]
8 - Source location: [ checkinstall-1.6.2 ]
9 - Alternate source location: [ ]

Введите номер для изменения параметра или нажмите ВВОД для продолжения:
debug: CK_INCLUDE_FILE =

Installing with make install...
*** многа букаф ***
========================================================

An existing checkinstallrc file has been found.
The one from this distribution can be found at:

/usr/local/lib/checkinstall/checkinstallrc-dist


========================================================


======================== Установка успешно завершена ======================

Copying documentation directory...
./
FAQ
BUGS
TODO
README
RELNOTES
INSTALL
Changelog
COPYING
CREDITS
debug: BASE_TMP_DIR: /var/tmp
debug: EXCLUDE=

Файлы копируются во временный каталог...OK

Stripping ELF binaries...OK

Сжимаются страницы руководства...OK

Построение списка файлов...OK

Создается установочная директория Slackware...OK

Записывается описание пакета...OK

Creating package checkinstall-1.6.2-i386-1... FAILED!
mv: невозможно выполнить stat для `checkinstall-1.6.2-i386-1.tgz': Нет такого файла или каталога

ПРЕДУПРЕЖДЕНИЕ: Этот пакет не был установлен.

Удаляются временные файлы...OK

Записывается пакет с резервной копией...OK
OK

Собирается пакет с отладочной информацией.../usr/local/sbin/checkinstall: line 2818: rpm: command not found
OK

**********************************************************************

Done. The new package has been saved to

/home/checkinstall/checkinstall-1.6.2/checkinstall-1.6.2-i386-1.tgz
You can install it in your system anytime using:

installpkg checkinstall-1.6.2-i386-1.tgz

**********************************************************************

Естественно что пакет нихрена не был saved и нихрена в этой дире нету.
Гуглил по данной ошибке, читал маны-нихрена не понимаю чего ей не хватает.

Кстати: The checkinstallrc file was not found at: /usr/local/sbin/../checkinstallrc C удовольствием всунул бы в нее конфиг для слаки, да даже не пойму в какой файл оно пытается обратиться =/

IR0N
()

Slackware. Запуск скрипта после поднятия pppoe

Форум — Admin

Нужно запустить скрипт после запуска pppoe.
Есть проблема. А именно:
из темы (http://www.linux.org.ru/forum/admin/4028151) я понял что можно просто бросить скрипт в /etc/ppp/if-up . Но ведь название скрипта должно совпадать с логином, с которым поднимается pppoe соединение, так? А у меня логин вида 'user/local'... И как быть?

IR0N
()

Slackware. Настройка моста

Форум — Admin

Есть домашний недосвервер, бегающий под дебианом. Настраивал когда-то сам, но теперь хочется большего-хочу сменить дебиан на слаку.
Взял второй жестак, поставил. Проблема выплыла сразу после попытки создания моста между двумя домашними компами.
В дебиане работал след. код:
#!/bin/bash
# Установка моста
brctl addbr bridge # Создаем устройство-мост
brctl addif bridge eth0 # Включаем туда eth0
brctl addif bridge eth2 # Включаем туда eth2
ifconfig bridge 192.168.0.1 netmask 255.255.255.0 up # Поднимаем мост с айпишником 192.168.0.1

В слаке-нивкакую. Самая подлая бага-ошибок нет, мост создан, в интерфейсах видится. Но с подключенного к нему компа не пингуется, также не получается пигновать с слаки подключенный комп. Опускаю мост, назначаю айпишник сетевому интерфейсу-пинги идут. Роут на 192.168.0.* есть.
Как так?
P.S: из возможных идей и причин-только то, что я выключал некоторые утилиты при установке. Но это касалось серверов, таких как майлсервер, апач, мускул и прочее.

IR0N
()

Работа с разделами из командной строки

Форум — General

Имеется домашний недосервер под дебианом, доступ на него по ssh.
Нужно сделать из командной строки ресайз раздела, который сейчас примонтирован как /, т.е сократить его с 80 текущих гб до 15.
Чем можно это сделать? Поиск выдет очень много мусора, связанного с «разбиение диска-очень важный шаг в процессе установки линукс».
P.S: в дальнейшем планирую получившийся /dev/hdaX объединить в рейд с еще одним разделом.

IR0N
()

Debian+deluged+автозапуск

Форум — Admin

Поставил себе чудо-торрент клиент deluge, а именно только демон от него-deluged. Стоит на домашнем сервере, качает и раздает торренты. Цепляюсь к нему виндовой машиной через тот же deluge под винду и работаю с торрентами. Очень удобно, но есть одна грабля.
Почему-то неправильно стартует при запуске сервера.
Симптомы:
1. Процесс заводится, начинает жрать память и судя по всему повисает, т.к интернет канал не используется.
2. Порт процесс слушает, правда в нестате написано python, как и после ручного старта.
3. Приконнектиться виндовым клиентом не выходит.
После запуска командой deluged все запускается легко и просто.
Пробовал писать скрипт
#!/bin/sh
#
#Deluge daemon startup script
/usr/bin/deluged
и его пихать в автозапуск через rcconf. Скрипт срабатывает, т.к процесс вообще появляется, но тем не менее, демон просто висит.
Есть предположение, что проблема в том, что старт производится без каких-либо модулей/библиотек, либо с неподнятыми сетевыми интерфейсами.
В этом ли проблема и как можно устранить?

IR0N
()

Один сервер, 2 локалки, одно доменное имя

Форум — Admin

Есть 1 доменное имя, оно в данный момент ссылается на ip сервера в первой локалке.
Подключаю вторую локалку.
Цель-обеспечить из обоих локалок обращение к серверу по его доменному имени.

Мои варианты:
1) Попросить админа второй локалки присвоить мне тот же ip, что у меня уже есть в первой локалке. Остается только вопрос как разрулить проблему 2 сетевых интерфейсов с одинаковыми айпишниками. Есть возможность решить такую проблему, учитвая, что настройки сети (маски, шлюзы) и маршрутов разные?

2) Попытаться "повесить" на одно доменное имя два айпишника. Честно не представляю как это сделать, т.к даже в глаза не видел админку днс-сервиса (просил другого человека, чтобы он мне привязал айпи к имени)

3) Заставить каждого пользователя прописывать в хостах айпишник и доменное имя. Крайний вариант.

Что посоветуете? Идти ли одним из этих путей, и если идти то в какую сторону копать, или предложите свой путь?

IR0N
()

iptables. Блокировать все, кроме...

Форум — Admin

Возникла следующая задача: Есть сеть с айпи из пула 10.* В ней есть несколько айпи, которым нужно разрешить доступ к 411 порту. Всем остальным-запретить.

Пробовал вот как в надежде что более общее правило будет перекрыто более частным:

iptables -A INPUT -i eth1 --protocol tcp --dport 411 -j DROP iptables -A INPUT -s <доверенный айпи> --protocol tcp --dport 411 -j ACCEPT

Но нет, первое правило наглухо режет все остальные. Какие есть варианты реализации? Думал над указанием диапазнов айпишников, но больно это геморно выходит, особенно когда "доверенных" более 5 человек.

IR0N
()

Проблемы с DC хабом и пробросом портов

Форум — Admin

Итак, ситуация довольно запутанная:

Домашняя сеть. В ней все айпи из пула 192.168.0.*.

Локальная сеть местного провайдера. В ней все айпи 10.*

Есть сервер, который соединяет мою домашнюю сеть и локальную сеть провайдера. На этом сервере ОС Debian Etch, при помощи маскардинга я имею доступ к сети провайдера. Специально для работы DC++ проброшены tcp и udp порты.

Все было хорошо и прекрасно, пока не решил поднять свой хаб. Хаб поднят естественно на сервере. Проблема в том, что у сервера есть 2 ip адреса, что естественно, т.к он смотрит и в мою домашнюю сеть, и в сеть провайдера. Подключаясь к хабу на любой из двух адресов ("локальный" или "домашний")-получаю одно и то же: Хаб определяет мой ip как 192.168.0.2. Это верно, но я так не могу качать файлы с пользователей моей локальной сети, нахоядщихся на моем хабе, а они в свою очередь не могут ничего качать с меня.

Решением проблемы я вижу такой заход на хаб, чтобы он определил мой ip не как 192.168.0.1, а как ip самого сервера. В этом случае я попадаю в одну подсеть с локальными пользователями и файлообмен работает.

Вопрос-как реализовать работу DC клиента с файлообменом в активном режиме?

Прикладываю рисунок, как смог попытался донести картину... http://img208.imageshack.us/i/25972935.jpg/ Если не ясно-говорите, буду переделывать.

IR0N
()

Debian. Репозитарий из DVD дисков.

Форум — Admin

Добрый день. Ситуация следующая: есть собственный http сервер под дебианом 4 (этч). Находится в локальной сети. Требуется доставить на него несколько пакетов. Физический доступ к серверу затруднен, тем не менее, есть ssh и ftp. Также крайне затруднен доступ с сервера в интернет (репозитарии из инета юзать не получится). Достал 5 DVD дисков Debian Lenny. Я так понимаю, это полный репозитарий. Хочу попытаться собрать из этих дисков определенный набор пакетов, сгрузить их на сервер и прописать как репозитарий.

Я так понимаю, что для этого будет достаточно сгрузить с каждого диска 2 папки-pool и main. Именно там насколько я понял хранятся пакеты. Скажите, возможно ли, сгрузив с каждого диска эти папки в один каталог и прописав это в sources как репозитарий, получить локальный репозитарий с возможностью обновления оттуда?

P.S: репозитарий создается исключительно для личного пользования, вывод в локальную сеть не планируется.

IR0N
()

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