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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Сложный вопрос по iptables  (Прочитано 3068 раз)

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

Оффлайн Bloodmage

  • Автор темы
  • Участник
  • *
  • Сообщений: 121
  • Just for fun
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #15 : 24 Апреля 2011, 01:49:26 »
Щас попробую сделать то же самое по этому принципу, только сервер повешу на 0.0.0.0, попробую настроить чтоб он отвечал на запросы и через eth1 и не буду заморачиваться с DNAT-ом и т.п. так будет проще и мне почему-то кажется, что DNAT тут может мешать...

Пользователь решил продолжить мысль 24 Апреля 2011, 02:59:32:
Кстати, остальные сервера (и апач, и днс) у меня доступны по обоим аплинкам и без каких либо заморочек с iptables, только при помощи вышеуказаных правил ip route (ip rule)... Но вот игровой сервер... поднял его сейчас на 0.0.0.0, теперь через ppp0 всё норм, т.к. он стоит как default gw, а вот  если отправлю запрос на eth0, то ответ уходит на тот же ip и порт, с того же порта сервера но с ppp0...
« Последнее редактирование: 24 Апреля 2011, 02:59:32 от Bloodmage »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #16 : 24 Апреля 2011, 03:10:06 »
Потому что маркировать надо входящий трафик :)
Тебе проще, у тебя входящий с разных интерфейсов. Даже не надо с MAC'ами заморачиваться.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Bloodmage

  • Автор темы
  • Участник
  • *
  • Сообщений: 121
  • Just for fun
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #17 : 24 Апреля 2011, 03:35:30 »
аа, так они у тебя на один интерфейс... непростой случай :) и всё-таки, где у меня неправильно? И вообще, можно ли как-то посмотреть проходят пакеты через нужные цепочки или нет?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #18 : 24 Апреля 2011, 03:45:11 »
Вот прямо так пакеты, боюсь, нет. Разве что втыкать -j LOG в каждое подозрительное место.
Ключевая точка правил в статье:
-A PREROUTING ! -s 192.168.1.0/28 -m conntrack --ctstate NEW,RELATED -m mac --mac-source 00:1B:11:84:E3:90 -j VPN
-A PREROUTING ! -s 192.168.1.0/28 -m conntrack --ctstate NEW,RELATED -m mac --mac-source 00:D0:D0:61:30:2C -j ADSL

Вот этот каскад заменяешь своими правилами/переходами.
И для каждой марки прописываешь отдельную таблицу со своим дефотным гейтом.
И с масками марок тоже не мудри :) Запутаешься.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Bloodmage

  • Автор темы
  • Участник
  • *
  • Сообщений: 121
  • Just for fun
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #19 : 24 Апреля 2011, 03:54:03 »
маски iptables-save сам пишет :)
А вот эти вот дополнительные таблицы типа VPN ADSL обязательно? по-моему мне достаточно 1 марки, второй-то интерфейс дефолтный... так ведь?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #20 : 24 Апреля 2011, 03:57:16 »
Не обязательно, просто когда через пару лет разбираешь, что к чему, читать внятные слова понятнее, чем голые цифры.
Нет, маркировать надо ВЕСЬ трафик. Дефотный, не дефолтный... Не имеет значения. Иначе распадается схема, и пакеты идут неизвестно куда. (вернее, они-то знают, куда идут, а вот ты - это ещё вопрос...)
« Последнее редактирование: 24 Апреля 2011, 03:58:57 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Bloodmage

  • Автор темы
  • Участник
  • *
  • Сообщений: 121
  • Just for fun
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #21 : 24 Апреля 2011, 04:01:16 »
а с UDP вот это всё тоже надо?
m conntrack --ctstate NEW,RELATED
в UDP же соединение как таковое не устанавливается... или я неправильно понимаю эти опции?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #22 : 24 Апреля 2011, 04:11:29 »
conntrack работает со всеми соединениями, в том числе с мультипротокольными. Но это не важно в данном случае.
Просто надо выстроить схему:
Весь трафик, пришедший с интерфейса "А", уходит через "А" же.
Весь трафик, пришедший с интерфейса "Б", уходит через "Б", же...
Весь новый трафик идёт, куда ему вздумается (читай - через дефолтный гейт или какие там у тебя другие правила маршрутизации в main прописаны)
Да, теоретически, возможно маркировать только один, скажем так, нестандартный трафик, отдавая весь остальной трафик на откуп дефолтным маршрутам. Но. Такую схему не расширить без перепроверки, и не переключить быстро с одного шлюза на другой без полного перепрограммирования.
Так что лучше уж немного поморочиться и раскрасить весь трафик, но уже после того, как он покрашен, сидеть сложа ручки и плевыать в потолок, наблюдая, как всё само бегает.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Bloodmage

  • Автор темы
  • Участник
  • *
  • Сообщений: 121
  • Just for fun
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #23 : 24 Апреля 2011, 10:32:57 »
Сделал вроде как в твоём мануале...

# iptables-save
(Нажмите, чтобы показать/скрыть)
# ip rule list
0: from all lookup local
32763: from all fwmark 0x2 lookup main
32764: from all fwmark 0x1 lookup akado
32765: from 188.123.234.27 lookup akado
32766: from all lookup main
32767: from all lookup default

всё равно Wireshark говорит что ответы уходят через дефолтный гейт а не туда откуда пришли...
AKADO это eth1(с сегодняшнего дня eth2) NBN это для ppp0, который также дефолтный

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #24 : 24 Апреля 2011, 17:08:28 »
Ещё раз. Ты привязываешь марку к конкретному гейту.
Для каждой марки отдельную таблицу. С единственной записью дефолтного гейта.
В main у тебя правила маршрутизации по умолчанию для немаркированных пакетов.
И перезагрузи сервер. У меня тоже были проблемы во время настройки, после ребута всё "вдруг" забегало как должно.

Перечитал последний вариант... а не может быть так, что на 188.123.234.27/32 запросы приходят не на eth0 ? (Или там был eth1?)
И попробуй всё-таки добавить в правила определения маркировки
 -m conntrack --ctstate NEW,RELATED
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Bloodmage

  • Автор темы
  • Участник
  • *
  • Сообщений: 121
  • Just for fun
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #25 : 24 Апреля 2011, 19:11:18 »
теперь уже на eth2 они приходят - через другую сетевуху пустил :) ну это неважно, у меня по-моему этот интерфейс нигде не задан по имени, с conntrack попробую, и обязательно ли для марки делать отдельную таблицу если в ней дефолтный шлюз совпадает со шлюзом в main

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #26 : 24 Апреля 2011, 19:13:22 »
Да, обязательно. Третий раз объясняю - дефолтного шлюза на системе может не быть вообще :)
Ну, просто предположим для простоты, что система не предназначена для общения с внешним миром. Только для приёма и обработки входящих запросов.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Bloodmage

  • Автор темы
  • Участник
  • *
  • Сообщений: 121
  • Just for fun
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #27 : 24 Апреля 2011, 19:32:10 »
Может не быть но он же есть :) Всегда есть... Вечером попробую всё переделать... Пока торопиться особо некуда, поставил временные костыли в виде TCP/IP прокси stone, пока заметил всего 3 минуса - сервер не видит ip клиента, немножко использует процессорное время ну и третье это костыли а я их не люблю :) Хочу чтоб как часы работало

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #28 : 24 Апреля 2011, 19:59:25 »
Я догадываюсь, почему у тебя маршрутизация "from IP" не работает.
В момент маршрутизации адрес пакета, исходящего с амого шлюза,  может быть любым. Вплоть до 0.0.0.0.
А уже после роутинга его адрес переписывается SNAT'ом на правильный в соответствии с исходящим интерфейсом.
« Последнее редактирование: 24 Апреля 2011, 20:01:10 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Bloodmage

  • Автор темы
  • Участник
  • *
  • Сообщений: 121
  • Just for fun
    • Просмотр профиля
Re: Сложный вопрос по iptables
« Ответ #29 : 24 Апреля 2011, 20:39:44 »
from ip как раз работает. для всего (bind9, апач, пинги ходят и т.д.) кроме этого кривого сервера. он отправляет пакет не с нужного ip, куда пакет пришёл, как положено, а с 0.0.0.0 и пакеты идут с дефолтного интерфейса. я и хочу сейчас заставить систему направлять их куда надо раз сервер не в состоянии. разработчики видно кривые да и сделан он году в 2003-2004. был бы он открытым - я бы полазил в исходниках, если бы что-то в них понял поменял бы и перекомпилил бы... но ведь нет, он кривой и закрытый...

 

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