Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: icq через iproute2+iptables  (Прочитано 2055 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: icq через iproute2+iptables
« Ответ #15 : 23 Сентября 2010, 19:35:52 »
Ещё одна картинка. В ней первичная маршрутизация также до цепочек.
Да сколько я не видел картинок, на них эта глупость тянется от художника к художнику. Я более склонен доверять официальным man'ам, нежли свободным писателям... Сам подумай, как может работать nat/OUTPUT после маршрутизации? А ведь без проблем можно за'dnat'ить трафик, предназначавшийся в инет, себе обратно в сеть! Такое возможно только до маршрутизации..

Если нет, то подскажи где я неправильно делаю?
Да в том то и дело, что я не вижу ошибок в твоих действиях... И у меня похожая схема без проблем работает, о чем я выше и писал...

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: icq через iproute2+iptables
« Ответ #16 : 23 Сентября 2010, 20:37:46 »
Проблема не в картинке, проблема в её читателе.
Там же английским по белому нарисовано, где происходит (должна происходить) перезапись маршрутизирующей информации.
+-------+-------+
|    OUTPUT     |
|    ROUTING    |
+-------+-------+
        |
+-------+-------+
|    IPTABLES   |
|     OUTPUT    |
| +-----------+ |
| | conntrack |
| +-----+-----+ |
| |   mangle  | | <- MARK WRITE
| +-----+-----+ |
| |    nat    | | <-DEST REWRITE
| +-----+-----+ |     DNAT or REDIRECT
| |   filter  | |
| +-----+-----+ |
+-------+-------+

Да, вашу мать, OUTPUT ROUTING происходит до попадания пакетов на разбор в таблицы, но вы то своим умишком тоже должны соображать, что это предварительный роутинг, так сказать, настоятельные пожелания отправителя о том, куда пакет должен быть доставлен. Которые вовсе не обязательно соответствуют реалиям локальной сети. Каковые (реалии) вы вправляете в пакет в таблице nat.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: icq через iproute2+iptables
« Ответ #17 : 23 Сентября 2010, 21:28:22 »
Не ругайся.
Я и не говорил. что пакеты не уходят куда надо, я попытался объяснить свою теорию, почему клиент не соединяется.
Считаешь что я не прав? Видишь где я ошибаюсь? Помоги, подтолкни... только не в яму ;)
Где у меня косяк? За тем тему и создал, тем более гугл пока тоже не раскрыл сию тайну.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: icq через iproute2+iptables
« Ответ #18 : 23 Сентября 2010, 23:10:35 »
Чисто эмпирически - обратные пакеты не попадают к программе.
А конкретно - надо смотреть дампы, чтобы понять.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: icq через iproute2+iptables
« Ответ #19 : 23 Сентября 2010, 23:40:43 »
Да, вашу мать, OUTPUT ROUTING происходит до попадания пакетов на разбор в таблицы
Белым по чёрному написано в мане
OUTPUT (for  altering  locally-generated packets [u]before routing[/u])
и чья мать по вашему права?

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

Вопросов бы не возникло, если этот блок назывался бы "source distinction", т.е. выбор адреса источника в зависимости от узла назначения в зависимости от возможного маршрута. Но на громкое "routing" это действие как то не тянет...

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: icq через iproute2+iptables
« Ответ #20 : 23 Сентября 2010, 23:51:05 »
Как без роутинга определить, через какой интерфейс пакет пойдёт?
А ведь эта информация доступна в PREROUTING.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: icq через iproute2+iptables
« Ответ #21 : 24 Сентября 2010, 00:09:50 »
через какой интерфейс пакет пойдёт? А ведь эта информация доступна в PREROUTING.
Цитировать
sudo iptables -t nat -A PREROUTING -o eth1
iptables v1.4.4: Can't use -o with PREROUTING

Try `iptables -h' or 'iptables --help' for more information.


Вот нарыл диаграмму из документа "Linux netfilter Hacking HOWTO"
Код: (http://www.netfilter.org/documentation/HOWTO//netfilter-hacking-HOWTO-3.html#ss3.2) [Выделить]
   --->PRE------>[ROUTE]--->FWD---------->POST------>
       Conntrack    |       Mangle   ^    Mangle
       Mangle       |       Filter   |    NAT (Src)
       NAT (Dst)    |                |    Conntrack
       (QDisc)      |             [ROUTE]
                    v                |
                    IN Filter       OUT Conntrack
                    |  Conntrack     ^  Mangle
                    |  Mangle        |  NAT (Dst)
                    v                |  Filter
Но все равно что то сомнения относительно output/filter

Пользователь решил продолжить мысль 24 Сентября 2010, 09:58:47:
Хм. А ведь действительно, информация о исходящем интерфейсе отлично доступна в nat/OUTPUT. Захрена только она там нужна, если после все равно еще раз маршрутизируется, хз...
 
Тогда, кмк, получается так:
local process -> prerouting -> mangle/OUTPUT -> nat/OUTPUT -> routing -> filter/OUTPUT
« Последнее редактирование: 24 Сентября 2010, 09:58:47 от Mam(O)n »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: icq через iproute2+iptables
« Ответ #22 : 24 Сентября 2010, 10:09:50 »
Остаётся только развести руками и пожать плечами.
Сделали так... Зачем - не ведаю. Видимо, кому-то нужно было.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.016 секунд. Запросов: 20.