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


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

Автор Тема: страшное правило для iptables  (Прочитано 2359 раз)

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

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #15 : 19 Марта 2011, 20:38:41 »
-j CONNMARK ставит и fwmark тоже? Из мана это не очевидно.
Хотя... если "MAC source", то СТАВИТЬ fwmark В ЭТОМ СЛУЧАЕ нет смысла.

*mangle
:PREROUTING ACCEPT [61132114:22745233983]
:INPUT ACCEPT [48014244:14217964417]
:FORWARD ACCEPT [13117637:8527245388]
:OUTPUT ACCEPT [48922131:15746257166]
:POSTROUTING ACCEPT [62187682:24300531725]
-A PREROUTING -m conntrack --ctstate NEW,RELATED -m mac --mac-source MAC:OF:GW:2 -j CONNMARK --set-mark 2
А вот дальше что-то у меня затык. Ответ (ACK) на входящий NEW|RELATED как будет классифицироваться? Тоже как NEW (RELATED) ?
Тогда все проверки бессмысленны и просто
-A PREROUTING -j CONNMARK --restore-mark
COMMIT
решит вопрос.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #16 : 20 Марта 2011, 08:10:42 »
-j CONNMARK ставит и fwmark тоже? Из мана это не очевидно.
Меток в терминологии iptables две - ctmark (для сессии) и nfmark (для пакета). fwmark - это и есть nfmark. Соответственно, нет - не ставит.

*mangle
:PREROUTING ACCEPT [61132114:22745233983]
:INPUT ACCEPT [48014244:14217964417]
:FORWARD ACCEPT [13117637:8527245388]
:OUTPUT ACCEPT [48922131:15746257166]
:POSTROUTING ACCEPT [62187682:24300531725]
-A PREROUTING -m conntrack --ctstate NEW,RELATED -m mac --mac-source MAC:OF:GW:2 -j CONNMARK --set-mark 2
А вот дальше что-то у меня затык. Ответ (ACK) на входящий NEW|RELATED как будет классифицироваться? Тоже как NEW (RELATED) ?
Тогда все проверки бессмысленны и просто
-A PREROUTING -j CONNMARK --restore-mark
COMMIT
решит вопрос.
А вот тут я уже не уверен. Я думаю, настал момет сесть и поэкспериментировать. :)
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #17 : 20 Марта 2011, 09:45:10 »
Чет мои эксперименты пока упёрлись в стену. Сложно экспериментировать, гоняя трафик петлёй в свою собственную сетку через интернет.
Но сделал всё вроде бы верно (таблички маршрутов, деф GW в таблице и маркировка пакетов).
Буду с работы мучить.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #18 : 24 Марта 2011, 15:28:04 »
Не работает :(
Ответы уходят на первый маршрутизатор.
# tcpdump -pi eth0 -s 6553 -e -- host 86.62.108.132 and \(\(tcp port 80\) or \(tcp port 81\)\)
(Нажмите, чтобы показать/скрыть)

# ip rule list
0:      from all lookup local
32765:  from all fwmark 0x2 lookup adsl.mtu
32766:  from all lookup main
32767:  from all lookup default

# ip route list table adsl.mtu
default via 192.168.1.2 dev eth0

# iptables-save -t mangle
(Нажмите, чтобы показать/скрыть)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #19 : 24 Марта 2011, 16:54:09 »
вмешаюсь в вашу дискуссию, а что разве маркировка пакета передается в сеть , насколько я знаю она работает только в пределах брандмауэра одного хоста ?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #20 : 24 Марта 2011, 17:35:06 »
Я не ищу марок в дампе. Я привёл его в подтверждение своих слов.
arp забыл...

# arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.1.1              ether   00:1B:11:84:E3:90   C                     eth0
192.168.1.2              ether   00:D0:D0:61:30:2C   C                     eth0

Всё, что приходит с 192.168.1.2, должно уходить на него же. Такова идея, по крайней мере.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #21 : 24 Марта 2011, 17:41:03 »
ну наверное стоит добавить правила в таблицу маршрутизауии adsl.mtu для
локального интерфейса и для самой сети 192.168.1.0

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #22 : 24 Марта 2011, 17:42:44 »
Так есть.
# ip route list table adsl.mtu
default via 192.168.1.2 dev eth0

Или чего не хватает?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #23 : 24 Марта 2011, 18:25:21 »
нет помимо дефолтного роута,
sudo route add 192.168.1.0/24 dev eth0  src 192.168.1.2  table adsl.mtu
sudo route add 127.0.0.0/8 dev lo table adsl.mtu

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #24 : 24 Марта 2011, 18:54:21 »
Добавил, ничего не поменялось (да и не могло поменяться, это правило только на пакеты внутри сети действует)
(Нажмите, чтобы показать/скрыть)
Даже логгинг прикрутил. Коннмарки ставятся. Сейчас FWMARK проверю. Проверил - ставится...
(Нажмите, чтобы показать/скрыть)

ЧЯДНТ?
Может стандартный дефолт GW убить? Как тогда остальной трафик роутить? (Входящий с первого я, положим, замаркирую, а исходящий и форварды - тоже маркировать? >.< )
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #25 : 24 Марта 2011, 19:41:57 »
да тоже заинтересовал этот момент при указании в ip rule не маркой, все нормально ходит и приходит через тот шлюз что нужно, а вот при установке марки судя по iptraf  то уходит и приходит через то что нужно, но в консоли результатов не вижу  (тренируюсь на пингах)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #26 : 24 Марта 2011, 19:43:52 »
Я уже голову сломал. И доломал сервер до того, что он не отвечает вообще.
Благо сервер под столом :)
Люююдии... научите, а?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #27 : 24 Марта 2011, 19:51:21 »
как будт-то все пришедшее убивается в ядре не дойдя до приложения

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #28 : 24 Марта 2011, 19:54:36 »
Второй раунд (попытка маркировать всё вообще) окончился провалом ввиду невозможности проверить коннект на отсутствие марки (я так понимаю).
Третий раунд - экстенсивный лог всегоподряд... Начали!

Пользователь решил продолжить мысль 24 Марта 2011, 20:04:07:
ip route delete default
ip route add default via 192.168.1.1 dev eth0 src 192.168.1.12 table default

FFFFFFFFFFFFFFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU!!!!!!!!!!!!!!!!!!!!!!!!!!!!

(Первому, кто догадается, что я сделал - моральное удовлетворение)


http://anr-daemon.livejournal.com/1655.html
« Последнее редактирование: 25 Марта 2011, 01:07:54 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: страшное правило для iptables
« Ответ #29 : 26 Марта 2011, 13:43:47 »
Второй раунд (попытка маркировать всё вообще) окончился провалом ввиду невозможности проверить коннект на отсутствие марки (я так понимаю).
Третий раунд - экстенсивный лог всегоподряд... Начали!

Пользователь решил продолжить мысль 24 Марта 2011, 20:04:07:
ip route delete default
ip route add default via 192.168.1.1 dev eth0 src 192.168.1.12 table default

FFFFFFFFFFFFFFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU!!!!!!!!!!!!!!!!!!!!!!!!!!!!

(Первому, кто догадается, что я сделал - моральное удовлетворение)


http://anr-daemon.livejournal.com/1655.html
покопавшись чуток в
этом всем,чуть добавлю свои наблюдения, да работает хорошо. а вот если смоделировать ситуацию, на этом примере
Цитировать
http://anr-daemon.livejournal.com/1655.html
,но если использовать шлюз по умолчанию отличный от тех двух, скажем совсем с другого интерфейса, то все престает работать. восстановить работу получается  если отключить rp_filter на all и на интерфейсе через который необходимо отдать трафик в нужные роутеры. с rp_filter аналогичная ситуация если необходимо скажем , имеея несколько шлюзов на разных интерфейсах  и имея дефолт роут через 1 из них, менять маршрутизацию на  по каким-либо критериям с помошью меток в iptables но не трогая дефолт роут в таблице main

 

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