ASP10.0 с глюкавым iptables или мне /dev/hands пора вправлять?

Автор: Tracer Oute Дата: 18.01.2006 03:00
Собственно, не считает оно ничего. Особо смущает п. в мане:
"BUGS
Bugs? What’s this? ;-) Well... the counters are not reliable on sparc64."

Таким образом, подскажите что делать:
1. Вправить себе руки (все работает - это я бестолковый) Улыбка, тогда заодно и как.
2. Нужно проапдейтить только iptables Смущенный
3. Нужно все апдейтить от кернела, до манов. Грустный

Народ, подскажите, плз, а то беда совсем. Грустный

Re: ASP10.0 с глюкавым iptables или мне /dev/hands пора вправлять? 18.01.2006 13:33wusup
А в чем проблема-то?
Сфрормулируйте вопрос.
Re: ASP10.0 с глюкавым iptables или мне /dev/hands пора вправлять? 18.01.2006 20:19Student
Гы, Не могу удержаться.
Вправлять нужно сначала /dev/right_hand затем /dev/left_hand, ну и, конечно, заставить оба девайса печатать подробнее...
Re: ASP10.0 с глюкавым iptables или мне /dev/hands пора вправлять? 18.01.2006 22:06Tracer Oute
Я затрудняюсь, что именно написать? Логи не ругаются - в пределах нормы. iptables -vxnL отображают все как положено, окромя счетчиков. Какие дополнительные подробности нужны?

1. Раньше на любом правиле (ipfwadm, ipchains, iptables) были счетчики до которых легко добраться iptables -vxnL. Сейчас их значения 0 0 за редким исключением. Считает теперь только по встроеным цепям INPUT(суммарным итогом), OUTPUT(суммарным итогом) & FORWARD(суммарным итогом). Это мне так не повезло или что? Что же вправлять?

2. Вот сегодня перестало работать правило DROP. Может ли это быть от того, что прикрываемый по цепи INPUT IP роутится по другой таблице? Вообще-то по логике вещей, не должен.
iptables -I INPUT -s [прикрываемый_IP] -p tcp --destination-port 4662 -j DROP - что может быть тривиальнее?

Короче, ситуация странная: машина неуправляема. Впечатление такое что тут как минимум 2 админа, причем тот, который не я - гораздо умнее. Улыбка)) до 7.2 линуха у меня такого цирка небыло. Меня это достало: перейду на бздю или более раннюю версию. Грустный

Re: ASP10.0 с глюкавым iptables или мне /dev/hands пора вправлять? 19.01.2006 08:00Woodoo
Да, работают счетчики... работают.

> 2. Вот сегодня перестало работать правило DROP. Может ли это
> быть от того, что прикрываемый по цепи INPUT IP роутится по
> другой таблице? Вообще-то по логике вещей, не должен.
> iptables -I INPUT -s [прикрываемый_IP] -p tcp
> --destination-port 4662 -j DROP - что может быть тривиальнее?

4662 - это ишак?
и порт проброшен куда-нибудь в сетку?
by prerouting-dnat?
В таком случае input не принимает участия.

> перейду на бздю или более раннюю версию. Грустный

"А то разведуся!!!"
Ж)

Re: ASP10.0 с глюкавым iptables или мне /dev/hands пора вправлять? 19.01.2006 11:21Tracer Oute
Не порт переброшен, а [прикрываемый IP]. Вот так:
ip ru add from [прикрываемый IP] lookup [другая таблица роутов]
Это относится к разряду prerouting-dnat?

Ну а почему iptables может не считать пакеты?

Может быть мне подсунули "левый" дистрибутив?

iptables-1.2.11-3.1.10.0asp
kernel-2.6.9-1.667asp

PS. Там какой-то умник запустил осла (бывает даже днем не выключает), а начальству втирает что ничего такого (tcp 4662, udp 4672 - я ж не слепой). А дропнуть не получается - ./hands не то, что кривые, а неустановлены вообще. Грустный

> Не порт переброшен, а [прикрываемый IP]. Вот так:
> ip ru add from [прикрываемый IP] lookup [другая таблица
> роутов]
> Это относится к разряду prerouting-dnat?

По идее "да". В контексте iptables пакеты локальным процессам (цепочка INPUT) не предназначены.

> Может быть мне подсунули "левый" дистрибутив?
>
> iptables-1.2.11-3.1.10.0asp
> kernel-2.6.9-1.667asp

Крайне желательно обновить. Когда я тестил скрипты "на счетчики" под 10 - они работали. )

> PS. Там какой-то умник запустил осла (бывает даже днем не
> выключает), а начальству втирает что ничего такого (tcp 4662,
> udp 4672 - я ж не слепой). А дропнуть не получается - ./hands
> не то, что кривые, а неустановлены вообще. Грустный

Не должно у него работать, если он за nat-ом и порты на него не проброшены.
Если у него "белый" адрес - запретить форвард не него по портам назначения, например. Тут уж нужно "на месте" смотреть.

Re: ASP10.0 с глюкавым iptables или мне /dev/hands пора вправлять? 19.01.2006 15:01Tracer Oute
> По идее "да". В контексте iptables пакеты локальным процессам
> (цепочка INPUT) не предназначены.
Так, значит INPUT только для main table??? Что же, никак завалить ненужные пакеты прямо на входе нельзя? Может оттого и счетчики не становятся?

Нет, неправда: поставил счетчик на аутпут для своего тестового ip - в счетчик попадает почему-то только часть пакетов. Похоже, только те, что относятся непосредственно к самому интерфейсу (например пинг ip интерфейса или traceroute -d rambler.ru), а те что "проходят сквозняком" извне вообще не считаются. Грустный
Машина за eth1: [мой фэйк-адр]
iptables -I OUTPUT -o eth1 -d [мой фэйк-адр] -j ACCEPT
Соответственно после трэйсроута с [мой фэйк-адр], где пакеты проходят ч-з eth1-lo-eth4 в мир, а ответы соответственно обратном порядке, на счетчике +3 пакета.
... а соответствующее INPUT правило вообще не считает.
iptables -I INPUT -i eth1 -s [мой фэйк-адр] -j ACCEPT
"0"(ноль) стоит как влитой. Шайтан. Где мой бубен кожи пингвина? Улыбка
Кстати, этот фэйк роутится согласно main table как положено.

Короче, что за грабли? Я вообще ничего не понимаю в сложившейся ситуации. Сколько лет пользуюсь линухом - такое наблюдаю впервые.

> Если у него "белый" адрес - запретить форвард не него по портам
> назначения, например. Тут уж нужно "на месте" смотреть.
Да, белый. Я понимаю, конечно, изобретательность - ценное качество советского человека, но неужели нельзя нормально? Рубануть на входе - что может быть гуманнее? Катается от смеха

PS. Попытался свой же фэйковый прикрыть на предмет 80 порта:
iptables -I INPUT -i eth1 -s [мой фэйк-адр] -p tcp --destination-port 80 -j DROP
Никаких проблем: хожу по 80 порту аж бегом: редактирую мимо собственного запрета. Улыбка
Единственно что работает - маскарад. Улыбка

Если Вам не трудно, нарисуйте все необходимые действия для создания таблицы iptables вместе со всеми "закидываниями" в /proc/...... если таковые необходимы. Ситуацию возьмем тривиальную:
eth0 - внутр. сеть 192.168.0.0/16
eth1 - мир.
Разрешено ходить всем кроме 192.168.10.10,
а 192.168.20.20 можно все, кроме tcp 80.

Tracer Oute писал(а):

> Так, значит INPUT только для main table???

mangle и filter таблиц.

Я бы предложил такую мнемоническую модель:
INPUT - К локальным процессам.
OUTPUT - ОТ локальных процессов.
(в этом контексте ядро/routing desigion НЕ ЯВЛЯЕТСЯ "локальным процессом";-)

> Что же, никак
> завалить ненужные пакеты прямо на входе нельзя?

Более чем "можно". Для этого нужно только сформулировать "модель" работы.

> Может оттого и
> счетчики не становятся?

Именно. У меня тоже есть правила, на которых "висят нули" - т.е. они до сих пор не сработали, но абстрактно - они нужны. А вот почему они "не сработали" - нужно разбираться отдельно в каждом конкретном случае. Возможно просто не было таких пакетов; возможно - потому что пакеты проходят по другим цепочкам/правилам (неправильная предпосылка или реализация).

> Нет, неправда: поставил счетчик на аутпут для своего тестового
> ip - в счетчик попадает почему-то только часть пакетов. Похоже,
> только те, что относятся непосредственно к самому интерфейсу
> (например пинг ip интерфейса или traceroute -d rambler.ru), а
> те что "проходят сквозняком" извне вообще не считаются. Грустный

Это поведение только подтверждает общую схему.

> Машина за eth1: [мой фэйк-адр]
> iptables -I OUTPUT -o eth1 -d [мой фэйк-адр] -j ACCEPT
> Соответственно после трэйсроута с [мой фэйк-адр], где пакеты
> проходят ч-з eth1-lo-eth4 в мир, а ответы соответственно
> обратном порядке, на счетчике +3 пакета.

Не совсем понимаю терминологию и модель в данном случае. Поэтому не пытаюсь вникать.

> > Если у него "белый" адрес - запретить форвард не него по
> портам
> > назначения, например. Тут уж нужно "на месте" смотреть.
> Да, белый. Я понимаю, конечно, изобретательность - ценное
> качество советского человека, но неужели нельзя нормально?
> Рубануть на входе - что может быть гуманнее? Катается от смеха

> PS. Попытался свой же фэйковый прикрыть на предмет 80 порта:
> iptables -I INPUT -i eth1 -s [мой фэйк-адр] -p tcp
> --destination-port 80 -j DROP
> Никаких проблем: хожу по 80 порту аж бегом: редактирую мимо
> собственного запрета. Улыбка
> Единственно что работает - маскарад. Улыбка
>
> Если Вам не трудно, нарисуйте все необходимые действия для
> создания таблицы iptables вместе со всеми "закидываниями" в
> /proc/...... если таковые необходимы. Ситуацию возьмем
> тривиальную:
> eth0 - внутр. сеть 192.168.0.0/16
> eth1 - мир.
> Разрешено ходить всем кроме 192.168.10.10,
> а 192.168.20.20 можно все, кроме tcp 80.

Попахивает "техзаданием". ;-)
Позже и в разделе "администрирование".

Re: ASP10.0 с глюкавым iptables или мне /dev/hands пора вправлять? 20.01.2006 21:15mescalito
>Не должно у него работать, если он за nat-ом и порты на него не проброшены.
>Если у него "белый" адрес - запретить форвард не него по портам назначения, например. Тут уж нужно >"на месте" смотреть.
работать будет с low-id

что бы отсечь весь нежелательный транзитный трафик проще всего сделать:
iptables -P OUTPUT DROP
и разрешить только то что действительно нужно, используя напремер такой шаблон:
IPT=/sbin/iptables
INTR_LAN="внутр.сетка"
EXTR_IFACE="внешн.интерфейс"
$UNPRIVPORTS="1024:65535"
$IPT -A FORWARD -o $EXTR_IFACE -p tcp \
-s $INTR_LAN --source-port $UNPRIVPORTS \
--destination-port 80 -j ACCEPT
$IPT -A FORWARD -i $EXTR_IFACE -p tcp ! --syn \
-d $INTR_LAN --source-port 80 --destination-port $UNPRIVPORTS \
-m state --state RELATED,ESTABLISHED -j ACCEPT
и так далее для каждого порта, а udp лучше IMHO вообще непускать, если в этом конечно нет необходимости, проще поднять свой DNS
Вот Вам еще и полезная ссылка:
[www.linuxguruz.com]

> работать будет с low-id

Тянуть со статусом lowid - это мееееееедленнная пытка, да... месье знает толк. ;-)

> что бы отсечь весь нежелательный транзитный трафик проще всего
> сделать:
> iptables -P OUTPUT DROP

Это опечатка? Политика по-умолчанию назначается для цепочки FORWARD.

Re: ASP10.0 с глюкавым iptables или мне /dev/hands пора вправлять? 21.01.2006 14:28mescalito
>Тянуть со статусом lowid - это мееееееедленнная пытка, да... месье знает толк. ;-)
Так и есть, но такой паразитный трафик для одного пользователя напр. за день все же будет наверно не желателен.
>Это опечатка? Политика по-умолчанию назначается для цепочки FORWARD.
Совершенно верно, исправляюсь:
iptables -P FORWARD DROP

> >Тянуть со статусом lowid - это мееееееедленнная пытка, да...
> месье знает толк. ;-)
> Так и есть, но такой паразитный трафик для одного пользователя
> напр. за день все же будет наверно не желателен.

Значит, нужно попытаться найти какой-либо абсолютный признак такого соединения.
Это может быть затруднено тем, что хост с "белым" ip изначально имеет широкий спектр запросов услуг internet.

RSS-материал