The OpenNET Project / Index page

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



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

Оглавление

Проблемы маршрутизации (3 сети, 2 пров.), outloader (ok), 14-Фев-11, (0) [смотреть все]

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


1. "Проблемы маршрутизации (3 сети, 2 пров.)"  +/
Сообщение от StreSS.t (ok), 14-Фев-11, 23:11 
Ну почти все правильно
Вы прописали куда должны уходить пакеты от провайдеров.
Таблицы есть, а вот как туда попадать пакеты?

Добавляем правило маркировки (здесь именно IP, с dev у меня не завелось)


iptables -t mangle -A OUTPUT -s 192.168.1.2 -j MARK --set-mark 2

Добавляем дефолтный маршрут для таблицы WIMAX (это у вас уже есть)
 
ip route add default via 192.168.1.1 dev eth2 table WIMAX

Добавляем правило работы с метками

ip rule add from all fwmark 2 lookup WIMAX

И конечно же SNAT/MASQUERADE

После этого ping -I eth0 8.8.8.8 должно выполняться нормально.
Если нет то смотрите tcpdump -i eth0 -n host 8.8.8.8 какой IP подставляется.

На объективность метода не претендую
Если нужна балансировка то это в LARTC (там пример есть).

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

2. "Проблемы маршрутизации (3 сети, 2 пров.)"  +/
Сообщение от PavelR (??), 15-Фев-11, 06:16 
> Ну почти все правильно
> Вы прописали куда должны уходить пакеты от провайдеров.
> Таблицы есть, а вот как туда попадать пакеты?

Вообще начнем с того, что до этой проблемы топикстартер еще не дошел. Эта проблема возникнет, когда он натить локалки начнет... Тогда и решит, маркировкой это делать или доп. правилами.

> Таблицы есть, а вот как туда попадать пакеты?

Как туда должны попадать пакеты - тоже известно:

Вывод ip ru:
0:    from all lookup local
32764:    from 80.242.156.56 lookup provider_metrocom
32765:    from 10.8.5.14 lookup provider_lenreg

Вы маленько не обратили внимание на проблему:

>Судя по ругани браузера - сквид не может определить DNS-сервера.

И это ведь так и есть :-)

>Т.е. если вставить один кабель в сетевуху и указать соответствующий дефолтный шлюз в
>таблице main (именно в main!!!)

Ну дык - ведь вы его нигде не указали :-) Поэтому и не работает. По какому каналу должен работать сам сервер, инициированные им соединения, в том числе и DNS-запросы ?

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


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

3. "Проблемы маршрутизации (3 сети, 2 пров.)"  +/
Сообщение от PavelR (??), 15-Фев-11, 06:17 

>>Т.е. если вставить один кабель в сетевуху и указать соответствующий дефолтный шлюз в
>>таблице main (именно в main!!!)

Можно еще в таблице default указать :-)

>Вывод ip ru:
>0:    from all lookup local
>32764:    from 80.242.156.56 lookup provider_metrocom
>32765:    from 10.8.5.14 lookup provider_lenreg
>32766:    from all lookup main
>32767:    from all lookup default

Кагбэ поймите для себя, что это последовательность поиска маршрута, как нашел - так и закончил поиск )

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

4. "Проблемы маршрутизации (3 сети, 2 пров.)"  +/
Сообщение от outloader (ok), 15-Фев-11, 15:15 
> Ну дык - ведь вы его нигде не указали :-) Поэтому и
> не работает. По какому каналу должен работать сам сервер, инициированные им
> соединения, в том числе и DNS-запросы ?
> Добавьте указание дефолтного шлюза для сервера, и это будет решением.

При добавлении дефолтного шлюза ситуация изменилась. Теперь работает так: если дефолтный шлюз и "tcp_outgoing_address" относятся к одному интерфейсу, то инет есть. Если outgoing-адрес меняется - dns не резолвится!
По идее какая разница откуда брать dns? Может же сервер dns'ы резолвить через одного провайдера (дефолтный шлюз), а tcp-запросы пересылать через другого (шлюз из доп. таблицы по "tcp_outgoing_address")... Или я чего-то не понимаю...?

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

7. "Проблемы маршрутизации (3 сети, 2 пров.)"  +/
Сообщение от PavelR (??), 15-Фев-11, 16:45 
> По идее какая разница откуда брать dns? Может же сервер dns'ы резолвить
> через одного провайдера (дефолтный шлюз), а tcp-запросы пересылать через другого (шлюз
> из доп. таблицы по "tcp_outgoing_address")...

Как-бы да, так и ожидалось.

Надо смотреть на полный вывод "ip ru sh" и "ip ro" по всем таблицам.
Без этих данных - разговаривать собственно не о чем...

;-)

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

8. "Проблемы маршрутизации (3 сети, 2 пров.)"  +/
Сообщение от outloader (ok), 16-Фев-11, 09:45 
> Надо смотреть на полный вывод "ip ru sh" и "ip ro" по
> всем таблицам.
> Без этих данных - разговаривать собственно не о чем...
> ;-)

Вывод ip ru:
0:    from all lookup local
32764:    from 80.247.156.56 lookup provider_1
32765:    from 10.8.5.14 lookup provider_2
32766:    from all lookup main
32767:    from all lookup default

Вывод ip ro по таблицам:
local:
broadcast 192.168.0.255 dev eth0  proto kernel  scope link  src 192.168.0.10
broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1
local 192.168.0.10 dev eth0  proto kernel  scope host  src 192.168.0.10
broadcast 10.8.0.0 dev eth1  proto kernel  scope link  src 10.8.5.14
broadcast 80.247.156.56 dev eth2  proto kernel  scope link  src 80.247.156.56
local 10.8.5.14 dev eth1  proto kernel  scope host  src 10.8.5.14
local 80.247.156.56 dev eth2  proto kernel  scope host  src 80.247.156.56  
broadcast 192.168.0.0 dev eth0  proto kernel  scope link  src 192.168.0.10
broadcast 80.247.156.56 dev eth2  proto kernel  scope link  src 80.247.156.56
broadcast 10.8.255.255 dev eth1  proto kernel  scope link  src 10.8.5.14
local 127.0.0.2 dev lo  proto kernel  scope host  src 127.0.0.1
broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1
local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1
local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1

provider_1:
192.168.0.0/24 dev eth0  scope link
10.8.0.0/16 dev eth1  scope link  src 10.8.5.14
127.0.0.0/8 dev lo  scope link
default via 10.8.0.1 dev eth1

provider_2:
80.247.156.56/30 dev eth2  scope link  src 80.247.156.56
192.168.0.0/24 dev eth0  scope link
127.0.0.0/8 dev lo  scope link
default via 80.247.156.55 dev eth2

main:
80.247.156.56/30 dev eth2  proto kernel  scope link  src 80.247.156.56
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.10
10.8.0.0/16 dev eth1  proto kernel  scope link  src 10.8.5.14
169.254.0.0/16 dev eth0  scope link
127.0.0.0/8 dev lo  scope link
default via 10.8.0.1 dev eth1

В default ничего не заносил.

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

9. "Проблемы маршрутизации (3 сети, 2 пров.)"  +/
Сообщение от outloader (ok), 17-Фев-11, 13:06 
Кажется дело тронулось! В сквиде ставлю "udp_outgoing_address 80.242.156.56" и все работает! Т.о. сквид берет dns'ы из сети второго провайдера. Выходит первый провайдер как-то хитро блокирует dns-запросы (до этого шло через дефолтный шлюз первого провайдера). Продолжаю разбираться.
Ответить | Правка | Наверх | Cообщить модератору

10. "Проблемы маршрутизации (3 сети, 2 пров.)"  +/
Сообщение от PavelR (??), 18-Фев-11, 07:47 
> Кажется дело тронулось! В сквиде ставлю "udp_outgoing_address 80.242.156.56" и все работает!
> Т.о. сквид берет dns'ы из сети второго провайдера. Выходит первый провайдер
> как-то хитро блокирует dns-запросы (до этого шло через дефолтный шлюз первого
> провайдера). Продолжаю разбираться.

Добавьте маршруты к DNS-серверам через правильного провайдера (в таблицу main, можно обычными командами route). для повышения надежности мы хотим использовать DNS-ы обеих провайдеров, верно ?  Маршруты к ним всегда должны идти через своего провайдера, поскольку "не своим клиентам" обычно рекурсивный DNS не предоставляют.

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

5. "Проблемы маршрутизации (3 сети, 2 пров.)"  +/
Сообщение от StreSS.t (ok), 15-Фев-11, 16:12 
Согласился бы с Вами. Если бы не пара экспериментов на Debian "Squeeze".
Года полтора назад делал все по руководству LARTC и  все работало.
Недавно делал роутер для одной компании и точно такие же настройки уже не прокатили (настройки переносил один в один).
Создаю таблицы и добавляю default для них. (в первой 10.10.1.1, во второй 192.168.1.1, моя сеть 192.168.0.0/24)
В таблице main, в качестве дефолтного стоит 10.10.1.1
делаю ping -i eth0 8.8.8.8 (это первый провайдер со шлюзом 10.10.1.1) - все прекрасно работает.
Делаю ping -i eth1 8.8.8.8 (второй интерфейс со шлюзом 192.168.1.1) - нет ответов, и глядя tcpdump -i eth0 -n host 8.8.8.8 (да, да нахожу их именно на первом интерфейсе).
Сам долго не мог понять как это происходит но факт на лицо причем даже не применяются политики SNAT.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

6. "Проблемы маршрутизации (3 сети, 2 пров.)"  +/
Сообщение от PavelR (??), 15-Фев-11, 16:43 
>[оверквотинг удален]
> Создаю таблицы и добавляю default для них. (в первой 10.10.1.1, во второй
> 192.168.1.1, моя сеть 192.168.0.0/24)
> В таблице main, в качестве дефолтного стоит 10.10.1.1
> делаю ping -i eth0 8.8.8.8 (это первый провайдер со шлюзом 10.10.1.1) -
> все прекрасно работает.
> Делаю ping -i eth1 8.8.8.8 (второй интерфейс со шлюзом 192.168.1.1) - нет
> ответов, и глядя tcpdump -i eth0 -n host 8.8.8.8 (да, да
> нахожу их именно на первом интерфейсе).
> Сам долго не мог понять как это происходит но факт на лицо
> причем даже не применяются политики SNAT.

всему есть объяснение. В Вашем случае надо смотреть на полный вывод "ip ru sh" и "ip ro" по всем таблицам. Без этих данных - разговаривать собственно не о чем...

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

11. "Проблемы маршрутизации (3 сети, 2 пров.)"  +/
Сообщение от out_t (?), 18-Фев-11, 16:28 
для тех у кого работало - задача усложняется: оба линка от одного провайдера, но на одном статика, а на втором dhcp. провайдер ессно юзает нат и имеет в свою очередь тоже 2 аплинка...)
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

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

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




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

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