The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"linux pbr"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"linux pbr"  +/
Сообщение от makky email(ok) on 28-Мрт-12, 00:40 
Доброй ночи.

В FreeBSD я могу сделать так:
add 150 fwd GATE_IP ip from HOST_IP to any
и т.д.

при этом входящие пакеты, маршрутизация и локальные сервисы работают правильно.

Теперь в linux... Мучался, я мучался и домучался до следующего:
#!/bin/sh

IF1="eth0"
P1="gw_ip_1"
P1_NET="gw_net_1"
IP1="ip1"
IF2="eth1"
P2="gw_ip_2"
P2_NET="gw_net_2"
IP2="ip2"

ip route add $P1_NET dev $IF1 src $IP1 table T0
ip route add default via $P1 table T0
ip route add $P2_NET dev $IF2 src $IP2 table T1
ip route add default via $P2 table T1

ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2

ip route add default via $P1

ip rule add from $IP1 table T0
ip rule add from $IP2 table T1

route add -host 10.0.0.0/16 gw $P2 dev eth1

#ip route add $P0_NET dev $IF0 table T1
#ip route add $P2_NET dev $IF2 table T1
#ip route add 127.0.0.0/8 dev lo   table T1
#ip route add $P0_NET dev $IF0 table T2
#ip route add $P1_NET dev $IF1 table T2
#ip route add 127.0.0.0/8 dev lo   table T2

разумеется таблицы созадны в rt_tables. Это чудо вцелом работает как предполагается, но установленый bind, который должен форвардить одну зону на сервер, расположенный в сети 10. Почему-то он этого не делает, хотя если я делаю с консоли host name 10.x.x.x, то все работает отлично. Такое ощущение, что он вообще не дает ядру маршрутизировать трафик.

Посоветуйте, как разрешается такая проблема.
Вариант с iptables - мне не очень понравился, переходить на обратно freebsd - не есть решение, делать по 2 севрера на одну туже задачу, но с разными default gw - мне, кажется, не очень тоже.

Спасибо.

PS:Если необходимы какие-то ещё данные,я с радостью предоставлю их...

Ответить | Правка | Cообщить модератору

Оглавление

  • linux pbr, тень_pavel_simple, 07:30 , 28-Мрт-12, (1)  
  • linux pbr, PavelR, 07:56 , 28-Мрт-12, (2)  
    • linux pbr, makky, 10:10 , 28-Мрт-12, (4)  
      • linux pbr, PavelR, 11:24 , 28-Мрт-12, (6)  
        • linux pbr, makky, 20:55 , 28-Мрт-12, (7)  
          • linux pbr, PavelR, 23:09 , 28-Мрт-12, (8)  
            • linux pbr, makky, 07:13 , 29-Мрт-12, (9)  

Сообщения по теме [Сортировка по времени | RSS]


1. "linux pbr"  +/
Сообщение от тень_pavel_simple on 28-Мрт-12, 07:30 
>[оверквотинг удален]
> сети 10. Почему-то он этого не делает, хотя если я делаю
> с консоли host name 10.x.x.x, то все работает отлично. Такое ощущение,
> что он вообще не дает ядру маршрутизировать трафик.
> Посоветуйте, как разрешается такая проблема.
> Вариант с iptables - мне не очень понравился, переходить на обратно freebsd
> - не есть решение, делать по 2 севрера на одну туже
> задачу, но с разными default gw - мне, кажется, не очень
> тоже.
> Спасибо.
> PS:Если необходимы какие-то ещё данные,я с радостью предоставлю их...

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

не понимаю зачем для двух сетей использовать policy routing , и при чём тут bind

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "linux pbr"  +/
Сообщение от makky email(ok) on 28-Мрт-12, 10:05 
> про то что yаписал что сделал это конечно правильно , забыл только
> написать чего добиться нужно и что при этом не работает.
> не понимаю зачем для двух сетей использовать policy routing , и при
> чём тут bind

Цитирую: "... но установленый bind, который должен форвардить одну зону на сервер, расположенный в сети 10. Почему-то он этого не делает, хотя если я делаю с консоли host name 10.x.x.x, то все работает отлично." Можно понять, что у сервера белый ип, с дефолт гейтвеем в глобальную сеть, и серый ип с гейтом в серую сеть, где расположен некий днс, на который надо форвардить некоторые зоны. Очевидно, что при этом необходимо использовать полиси роутинг, чтобы можно было получать и отправлять трафик по соответвующим гейтам.

named - это сервис, который не отрабатывает как необходимо. При данной конфигурации все отрабатывает отлично ssh, ping (как с консоли, так и с сетей, которые сервер обслуживает), кроме бинд, который шлет пакеты в гейт по умолчанию.

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

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "linux pbr"  +/
Сообщение от тень_pavel_simple on 28-Мрт-12, 11:18 
> Очевидно, что
> при этом необходимо использовать полиси роутинг, чтобы можно было получать и
> отправлять трафик по соответвующим гейтам.

ниразу не очевидно и не необходимо
есть дефолт gw
есть серая сеть,для неё написан маршрут

ip r g ip_из_серой_сети говорит что шлюз именно тот что необходим

при этом ^^^^ bind не ходит туда куда нужно?

если так - то нужно смотреть именyо настрjйки bind'а а не крутить policy route'инг

> named - это сервис, который не отрабатывает как необходимо. При данной конфигурации
> все отрабатывает отлично ssh, ping (как с консоли, так и с
> сетей, которые сервер обслуживает), кроме бинд, который шлет пакеты в гейт
> по умолчанию.
> Собственно, вопрос и был задан почему же оно так.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

2. "linux pbr"  +/
Сообщение от PavelR (ok) on 28-Мрт-12, 07:56 
> Доброй ночи.

откройте для себя команду "ip ru sh" и переосмыслите, как это всё работает.

Тезисно:

- предполагаю, что исходящие бинда привязаны к определенному айпи
- ip ru add без указания pref добавили правила ухода в T0/T1 выше, чем проверка в table main
- пакет уходит не в ту таблицу.

Читаем http://opennet.ru/tips/2009_policy_route_linux.shtml для просветления.


>[оверквотинг удален]
> сети 10. Почему-то он этого не делает, хотя если я делаю
> с консоли host name 10.x.x.x, то все работает отлично. Такое ощущение,
> что он вообще не дает ядру маршрутизировать трафик.
> Посоветуйте, как разрешается такая проблема.
> Вариант с iptables - мне не очень понравился, переходить на обратно freebsd
> - не есть решение, делать по 2 севрера на одну туже
> задачу, но с разными default gw - мне, кажется, не очень
> тоже.
> Спасибо.
> PS:Если необходимы какие-то ещё данные,я с радостью предоставлю их...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "linux pbr"  +/
Сообщение от makky email(ok) on 28-Мрт-12, 10:10 
> откройте для себя команду "ip ru sh" и переосмыслите, как это всё
> работает.

Да я открыл, только оно не открывается пока что =)

> Тезисно:
> - предполагаю, что исходящие бинда привязаны к определенному айпи

Ага, тоже так думаю, но не очень понимаю как это возможно. Ведь программа должна отправлять трафик в ядро, грубо говоря, которое уже определяет куда отправлять этот трафик.

> - ip ru add без указания pref добавили правила ухода в T0/T1
> выше, чем проверка в table main

Да, наверное, попробую это проверить. Скорее всего в этом моя проблема.

> - пакет уходит не в ту таблицу.

Очевидно.

> Читаем http://opennet.ru/tips/2009_policy_route_linux.shtml для просветления.

Большое спасибо, этого я не смог найти.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "linux pbr"  +/
Сообщение от PavelR (ok) on 28-Мрт-12, 11:24 
>> Тезисно:
>> - предполагаю, что исходящие бинда привязаны к определенному айпи
> Ага, тоже так думаю, но не очень понимаю как это возможно.

Ну как - в конфигах написано может быть, а код бинда работает в соответствии с конфигом.

> Ведь программа должна отправлять трафик в ядро, грубо говоря, которое уже определяет
> куда отправлять этот трафик.

Именно так.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "linux pbr"  +/
Сообщение от makky email(ok) on 28-Мрт-12, 20:55 
> Ну как - в конфигах написано может быть, а код бинда работает
> в соответствии с конфигом.

Он слушает определенные адреса, которые указаны в конфигах, но никак не принимает решение "куда отправить трафик", этим занимается ядро, как уже обсудили выше. Другой вопрос: почему он не форвардит запрос в днс, который описан как форвард-зона.

Но это видимо разрешится, когда я в указанном вами документе разберусь достаточно хорошо...

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "linux pbr"  +/
Сообщение от PavelR (ok) on 28-Мрт-12, 23:09 

> Он слушает определенные адреса, которые указаны в конфигах, но никак не принимает
> решение "куда отправить трафик", этим занимается ядро, как уже обсудили выше.

Если вы прекратите читать по диагонали, вы заметите, что я писал:

>> - предполагаю, что исходящие бинда привязаны к определенному айпи

Таким образом, если рассмотреть настройки в целом (а именно так их и следует рассматривать), можно (наверное) увидеть, что исходящие запросы бинд-а пойдут "туда-то" а не "туда-то".

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "linux pbr"  +/
Сообщение от makky email(ok) on 29-Мрт-12, 07:13 
У меня все получилось. Проблема была в сервере имен: я прикрыл некоторые сети на обслуживание и серые сети тоже, а в разрешенных указать забыл. Таким образом тот самый отдельный днс оказался "вне закона". Так что зря я писал в форум, у меня все работало "как надо" с самого начала. Хотя я получил ссылку на интересную заметку и перечитал массу важного о маршрутизации в linux..

Спасибо большое за помощь.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру