LINUX.ORG.RU
ФорумAdmin

Форвардинг в файрволле OpenWRT, или «surprise motherfucker!»

 , ,


1

1

Сижу, долблюсь в файрволл опенвртшный. Есть админская зона, есть пользовательская, есть гостевая. Ещё есть VPN'ный интерфейс, который тоже в отдельной зоне (точнее, сразу в двух, по подсетям).

Разрешил форвардинг из VPN'а в нормальную пользовательскую зону, дабы дать человеку remote access к его машине. Обратно, соответственно, по умолчанию, т. е. reject. Проверил, что форвардинг ESTABLISHED/RELATED тоже разрешён. Пингую девайс из пользовательской зоны — хрен. И счётчик реджектов растёт.

Удостоверился в том, что conntrack для ICMP вообще существует в природе. Офигел, почесал репу. Полез на опенвртшное вики. А там —

By default, the firewall will disable connection tracking

Surprise, motherfucker. И зачем так делать, да ещё и по дефолту? И вместе с тем форвардинг между зонами по дефолту однонаправленный, т. е. по сути априори неработающий. Принцип наименьшей неожиданности нервно курит в сторонке.

★★★★★

Последнее исправление: intelfx (всего исправлений: 3)

Ответ на: комментарий от Black_Shadow

Моя задача была объяснить почему это не нужно, и я объяснил. Твоя задача была понять, но ты не справился.

redixin ★★★★
()
Ответ на: комментарий от redixin

Моя задача была объяснить почему это не нужно, и я объяснил.

Нет, такой задачи тебе никто не давал.

Твоя задача была понять, но ты не справился.

Я привёл один пример, ты с ним не справился. Привожу другой, намного проще. С упомянутым выше ftp active. Опять-таки, нет никакого nat (тебе так будет проще). Есть 2 сети, пользователям одной сети нужно разрешить использовать сервис ftp в активном режиме (и только его) в другой сети. В обратную сторону все соединения запрещены. Расскажи, как ты это сделаешь.

Black_Shadow ★★★★★
()
Последнее исправление: Black_Shadow (всего исправлений: 1)
Ответ на: комментарий от redixin

Ты даже не в состоянии отследить нить беседы. До свидания.

Так ты хоть одну из поставленных задач решить в состоянии, или так и будешь балаболить?

Black_Shadow ★★★★★
()
Ответ на: комментарий от anc

Да причем тут нат, я говорю о бессмысленной практике запирания форварда по дефолту и разрешания RELATED,ESTABLISHED.

Например в случае куска пластмассы с опенврт к тебе внутрь и так никто зайти не сможет, но там все равно имеется этот треш в айпитаблах.

redixin ★★★★
()
Ответ на: комментарий от redixin

Да причем тут нат, я говорю о бессмысленной практике запирания форварда по дефолту и разрешания RELATED,ESTABLISHED.

Аж поперхнулся, FORWARD - ACCEPT и все будет работать? Ну да будет и даже то что тебе не хотелось бы тоже будет работать. Какую-то ерунду вы тут пишите. Все верно fw не нужен, его враги придумали, даеш INPUT - ACCEPT, FORWARD - ACCEPT и все, больше нам ничего не нужно в этой жизни.

anc ★★★★★
()
Ответ на: комментарий от anc

А что мне не хотелось бы? Что злой провайдер пропишет у себя роут на мой уютненький 192.168.0/24? Самому не смешно?

redixin ★★★★
()
Ответ на: комментарий от Black_Shadow

...за провайдерским натом.

intelfx ★★★★★
() автор топика
Ответ на: комментарий от redixin

Не, ну че, с таким подходом-то вы конечно же правы, так держать. Прямо настоящий тру одмин!
ЗЫ Открою секрет, что у «злого» провайдера есть еще «добрые» пользователи помимо вас.

anc ★★★★★
()
Ответ на: комментарий от anc

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

redixin ★★★★
()
Ответ на: комментарий от redixin

Лол потому что юзать павила с этими всякими ESTABLISHED это нубство, а нубы должны страдать.

идиот детектед? Обоснуешь?

targitaj ★★★★★
()
Ответ на: комментарий от redixin

Тут конечно да, среди хомячков может найтись злой хацкер.

Вам уже выше Black_Shadow писал: «А что-то чуть сложнее домашней сети ни разу не видел?»
похоже так оно и есть

не приходилось юзать эту поделку в продакшне.

и это вы видимо так локалхост свой называете.

В любом случае это можно перекрыть без заглядывания в коннтрак таблицу. В ipfw2 точно можно.

Да шо вы говорите. Это видимо начинает работать сразу после загрузки libastral.

anc ★★★★★
()
Ответ на: комментарий от anc

Это очень просто сделать в ipfw2, читайте маны. Если в линупсе так нельзя, то еще одна причина не юзать его. Хотя я думаю что можно, просто местные специалисты не в теме.

redixin ★★★★
()
Ответ на: комментарий от targitaj

Ты даже не понял о чем речь. Брысь из треда.

redixin ★★★★
()

ЛОР, однако, забавен. Не находишь? Интересно, сколько здесь еще мамкиных кулхацкеров...

targitaj ★★★★★
()
Ответ на: комментарий от anc

Насчет домашней сети — так всякие линупсы и опенврт только для этого и нужны и айпитаблс кроме как на домашних мыльницах я не видел, упаси Б-г.

redixin ★★★★
()
Ответ на: комментарий от redixin

Ну так просветите нас убогих. А то вот начали как крикун ненужности conntrack в linux, резко перешли на bsd, так и до винды докатитесь.

anc ★★★★★
()
Ответ на: комментарий от anc

А, чето я торможу. Элементарно закрываешь -m state --state NEW или как оно там. Заглядывать в коннтрак таблицу это дорого и тупо.

redixin ★★★★
()
Ответ на: комментарий от redixin

Но в любом случае должен быть способ получше. Я не верю что разработчики сети в линуксе такие же идиоты как и вы. Хотя всякое бывает.

redixin ★★★★
()
Ответ на: комментарий от redixin

И таки да NEW - это первый пакет в соединении, понимаете - первый пакет, не имея таблицы соединений они все станут первыми.

anc ★★★★★
()

Подумаешь, а вот ddwrt вообще дропает входящие на 1194, даже если OVPN включен. То есть подсоединиться-то можно, но только изнутри. И опять же, включить можно только ручками, т.к. через гуй настроить можно только FORWARD а не INPUT

morse ★★★★★
()
Ответ на: комментарий от redixin

Вобщем ребята, не хватает вам понимания сути. Учитесь.

Повторюсь: Ну так просветите нас убогих. Причем без разницы на каком примере, знаете bsd - ок мы и это схаваем.

anc ★★★★★
()
Ответ на: комментарий от redixin

А как с udp быть? Или тоже по вашему «это миф как и active ftp» ?

anc ★★★★★
()
Ответ на: комментарий от anc

Например вот типичная натилка.

1000 nat 10 ip from any to ${nat} in em0 # тут идет лукап в таблице. дорогая операция, но одна
2000 nat 10 ip from ${inetrnal} to any out em0 # еще один лукап таблицы, но для исходящего пакета
3000 allow ip from ${internal} to me in em1
4000 allow ip from me to ${internal} out em1

Максимум один лукап в таблице для одного пакета. Наверное по этой причине линукс не ставят на железках, а ставят только на пластмасках.

Кстати, с этим конфигом активный фтп тоже работает (если включить модуль alias_ftp)

redixin ★★★★
()
Ответ на: комментарий от anc

Ну или более наглядный пример:

100 ipfw deny ip from any to ${intnet} in em0 # режем все попытки явно идти снаружи внутрь
200 ipfw nat 10 ip from any to ${nat} in em0 # натим внутрь

В линуксе же в «таблице» FORWARD пакеты будут уже после трансляции, и там хрен поймешь это после ната, или просто ктото лезет снаружи.

redixin ★★★★
()
Ответ на: комментарий от redixin

Вобщем ребята, не хватает вам понимания сути. Учитесь.

АХАХАХАХА, повеселил, читать твои сообщения в этом треде так весело, ты поднял мне настроение, спасибо тебе!

Black_Shadow ★★★★★
()
Ответ на: комментарий от redixin

Вот! Мы начали подбираться к сути вопроса, а теперь давайте раскроем тему что действительно происходит при нате?

anc ★★★★★
()
Ответ на: комментарий от redixin

Это очень просто сделать в ipfw2, читайте маны. Если в линупсе так нельзя, то еще одна причина не юзать его. Хотя я думаю что можно, просто местные специалисты не в теме.

А, ну, то есть, ты решил спорить в теме, в которой вообще не разбираешься?

Black_Shadow ★★★★★
()
Ответ на: комментарий от redixin

Насчет домашней сети — так всякие линупсы и опенврт только для этого и нужны и айпитаблс кроме как на домашних мыльницах я не видел, упаси Б-г.

Не напомнишь, чьей мыльницей в домашней сети является Google? Да! Это теперь тред BSD vs Linux!

Black_Shadow ★★★★★
()
Последнее исправление: Black_Shadow (всего исправлений: 1)

В общем, вполне себе мирный тред превратился в цирк одного клоуна :-)

Black_Shadow ★★★★★
()
Ответ на: комментарий от redixin

Причем тут это?

При том, вы же знаток и пытаетесь тут доказать что в bsd все так легко и без всяких там таблиц работает, вот я и прошу расскажите что реально происходит при нат, например отправил я пакетик из внутренней сети с 192.168.0.10:12345 после ната он отправился с адреса внешнего интерфейса 1.1.1.1 прилетает пакет в ответ на адрес 1.1.1.1, вот как определяется что пакет нужно отправить на 192.168.0.10:12345 ?

Расскажи лучше что происходит во время проверки пакета на предмет RELATED

Батенька это не так банально усе от протоколов зависит. Для этого люди отдельные модули пишут. В вашей bsd кстати тоже.

anc ★★★★★
()
Ответ на: комментарий от anc

192.168.0.10:12345 после ната он отправился с адреса внешнего интерфейса 1.1.1.1

Ну не обязательно адреса внешнего интерфейса, это зависит от настроек инстанса ната номер 10.

Вобщем пакет не просто отправился, но в таблицу заносится инфа об этом пакете.

Когда приходит ответ — он совпадает с правилом «nat 10 from any to ${nat}» и происходит поиск в этой таблице и дальнейшее преобразование адреса-порта получателя согласно найденному.

Батенька это не так банально усе от протоколов зависит. Для этого люди отдельные модули пишут.

Ну например в случае ТЦП.

redixin ★★★★
()
Ответ на: комментарий от targitaj

Угу. Нахожу. Говорю же, в /Admin/ теперь есть свой царь.

intelfx ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.