The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"два провайдера - как легче реализать?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Маршрутизаторы CISCO и др. оборудование. (Public)
Изначальное сообщение [Проследить за развитием треда]

"два провайдера - как легче реализать?" 
Сообщение от NZ Искать по авторуВ закладки on 08-Июн-05, 13:40  (MSK)
есть следующая схема работы: локальная сеть - линукс - циска -Инет,
рассматриваю варианты подключения в Инет через двух провайдеров:
есть два варианта:
1-  на линуксе поставить третью сетевую карту и при помощи пакета iproute2 рзарулить почту и траффик Инета.
2- на cisco использовать свободный порт G703 и через него подключиться ко второму провайдеру.
Как на циске сделать, чтобы при пропадании первого прова все шло через второго и при появлении первого возвращалось на первого?  и при этом часть юзерей постоянно ходили через второго прова?
Насколько это легко реализвать на циске или лучше все-ткаи использовать линукс решение.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "два провайдера - как легче реализать?" 
Сообщение от Nailer Искать по авторуВ закладки(??) on 08-Июн-05, 13:59  (MSK)
>есть следующая схема работы: локальная сеть - линукс - циска -Инет,
>рассматриваю варианты подключения в Инет через двух провайдеров:
>есть два варианта:
>1-  на линуксе поставить третью сетевую карту и при помощи пакета
>iproute2 рзарулить почту и траффик Инета.
>2- на cisco использовать свободный порт G703 и через него подключиться ко
>второму провайдеру.
>Как на циске сделать, чтобы при пропадании первого прова все шло через
>второго и при появлении первого возвращалось на первого?  и при
>этом часть юзерей постоянно ходили через второго прова?
>Насколько это легко реализвать на циске или лучше все-ткаи использовать линукс решение.
>

Лучше cisco. Все зависит от того, насколько точно вы хотите делать балансировку.

Можно сдеать так:

ip route 1.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx
ip route 1.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy 250
ip route 2.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx 250
ip route 2.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy
ip route 3.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx
ip route 3.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy 250
ip route 4.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx 250
ip route 4.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy
ip route 5.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx
ip route 5.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy 250

где xxx.xxx.xxx.xxx - default gateway одного провайдера, yyy.yyy.yyy.yyy - второго. 250 - метрика, чтобы при падении первого шло во второго.

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

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "два провайдера - как легче реализать?" 
Сообщение от NZ Искать по авторуВ закладки on 09-Июн-05, 11:24  (MSK)
>>есть следующая схема работы: локальная сеть - линукс - циска -Инет,
>>рассматриваю варианты подключения в Инет через двух провайдеров:
>>есть два варианта:
>>1-  на линуксе поставить третью сетевую карту и при помощи пакета
>>iproute2 рзарулить почту и траффик Инета.
>>2- на cisco использовать свободный порт G703 и через него подключиться ко
>>второму провайдеру.
>>Как на циске сделать, чтобы при пропадании первого прова все шло через
>>второго и при появлении первого возвращалось на первого?  и при
>>этом часть юзерей постоянно ходили через второго прова?
>>Насколько это легко реализвать на циске или лучше все-ткаи использовать линукс решение.
>>
>
>Лучше cisco. Все зависит от того, насколько точно вы хотите делать балансировку.
>
>
>Можно сдеать так:
>
>ip route 1.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx
>ip route 1.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy 250
>ip route 2.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx 250
>ip route 2.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy
>ip route 3.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx
>ip route 3.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy 250
>ip route 4.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx 250
>ip route 4.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy
>ip route 5.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx
>ip route 5.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy 250
>
>где xxx.xxx.xxx.xxx - default gateway одного провайдера, yyy.yyy.yyy.yyy - второго. 250 -
>метрика, чтобы при падении первого шло во второго.
>
>Можно сделать при помощи ната, чтобы часть юзеров шла в один канал,
>часть в другой, но тут хуже с переключением..
А как циска узнает, что отвалился первый канал и надо идти на второго? - а при появлении первого снова вернуться к нему (в нашем случае канал до прова при пропадании инета живой, а пропадает связь у провайдера с Москвой) и сколько времени произойдет прежде чем циска переключится?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "два провайдера - как легче реализать?" 
Сообщение от Nailer Искать по авторуВ закладки(??) on 09-Июн-05, 12:06  (MSK)
>>>есть следующая схема работы: локальная сеть - линукс - циска -Инет,
>>>рассматриваю варианты подключения в Инет через двух провайдеров:
>>>есть два варианта:
>>>1-  на линуксе поставить третью сетевую карту и при помощи пакета
>>>iproute2 рзарулить почту и траффик Инета.
>>>2- на cisco использовать свободный порт G703 и через него подключиться ко
>>>второму провайдеру.
>>>Как на циске сделать, чтобы при пропадании первого прова все шло через
>>>второго и при появлении первого возвращалось на первого?  и при
>>>этом часть юзерей постоянно ходили через второго прова?
>>>Насколько это легко реализвать на циске или лучше все-ткаи использовать линукс решение.
>>>
>>
>>Лучше cisco. Все зависит от того, насколько точно вы хотите делать балансировку.
>>
>>
>>Можно сдеать так:
>>
>>ip route 1.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx
>>ip route 1.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy 250
>>ip route 2.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx 250
>>ip route 2.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy
>>ip route 3.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx
>>ip route 3.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy 250
>>ip route 4.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx 250
>>ip route 4.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy
>>ip route 5.0.0.0 255.0.0.0 xxx.xxx.xxx.xxx
>>ip route 5.0.0.0 255.0.0.0 yyy.yyy.yyy.yyy 250
>>
>>где xxx.xxx.xxx.xxx - default gateway одного провайдера, yyy.yyy.yyy.yyy - второго. 250 -
>>метрика, чтобы при падении первого шло во второго.
>>
>>Можно сделать при помощи ната, чтобы часть юзеров шла в один канал,
>>часть в другой, но тут хуже с переключением..
>А как циска узнает, что отвалился первый канал и надо идти на
>второго? - а при появлении первого снова вернуться к нему (в
>нашем случае канал до прова при пропадании инета живой, а пропадает
>связь у провайдера с Москвой) и сколько времени произойдет прежде чем
>циска переключится?

Циска может узнать только о падении connected-каналов или из протокола динамической маршрутизации. В новых иос-ах появилась фича, позволяющая остлеживать работоспособность сети путем пропинговки какого-либо хоста, как называется - не помню, что-то типа Tracking Tool, BOJIKA про нее писал, ищите его пост..

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "два провайдера - как легче реализать?" 
Сообщение от citrin emailИскать по авторуВ закладки(ok) on 09-Июн-05, 12:26  (MSK)
http://www.cisco.com/en/US/products/sw/iosswrel/ps5413/products_feature_guide09186a00801d862d.html
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "два провайдера - как легче реализать?" 
Сообщение от Nailer Искать по авторуВ закладки(??) on 09-Июн-05, 12:52  (MSK)
>http://www.cisco.com/en/US/products/sw/iosswrel/ps5413/products_feature_guide09186a00801d862d.html

Угу, оно самое :-)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "два провайдера - как легче реализать?" 
Сообщение от NZ Искать по авторуВ закладки on 09-Июн-05, 13:00  (MSK)
спасибо за ответы,
еще один вопрос, не могу сообразить: у меня за cisco стоит linux (две сетевые), а за linux уже только локальная сеть.
Все пользователи находятся в одной сети и ходят в Инет через сквид на Linux, у кот. def gateway указан cisco, а на cisco для linux сделан нат. Могу ли я оставшись при такой схеме, разделить часть пользователей, чтобы часть пользователей ходила через одного прова, а часть через второго?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "два провайдера - как легче реализать?" 
Сообщение от Akmal emailИскать по авторуВ закладки(??) on 11-Июн-05, 18:11  (MSK)
4.2. Routing for multiple uplinks/providers
A common configuration is the following, in which there are two providers that connect a local network (or even a single machine) to the big Internet.

                                                                 ________
                                          +------------+        /
                                          |            |       |
                            +-------------+ Provider 1 +-------
        __                  |             |            |     /
    ___/  \_         +------+-------+     +------------+    |
  _/        \__      |     if1      |                      /
/             \     |              |                      |
| Local network -----+ Linux router |                      |     Internet
\_           __/    |              |                      |
   \__     __/       |     if2      |                      \
      \___/          +------+-------+     +------------+    |
                            |             |            |     \
                            +-------------+ Provider 2 +-------
                                          |            |       |
                                          +------------+        \________

There are usually two questions given this setup.

4.2.1. Split access
The first is how to route answers to packets coming in over a particular provider, say Provider 1, back out again over that same provider.

Let us first set some symbolical names. Let $IF1 be the name of the first interface (if1 in the picture above) and $IF2 the name of the second interface. Then let $IP1 be the IP address associated with $IF1 and $IP2 the IP address associated with $IF2. Next, let $P1 be the IP address of the gateway at Provider 1, and $P2 the IP address of the gateway at provider 2. Finally, let $P1_NET be the IP network $P1 is in, and $P2_NET the IP network $P2 is in.

One creates two additional routing tables, say T1 and T2. These are added in /etc/iproute2/rt_tables. Then you set up routing in these tables as follows:


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

Nothing spectacular, just build a route to the gateway and build a default route via that gateway, as you would do in the case of a single upstream provider, but put the routes in a separate table per provider. Note that the network route suffices, as it tells you how to find any host in that network, which includes the gateway, as specified above.

Next you set up the main routing table. It is a good idea to route things to the direct neighbour through the interface connected to that neighbour. Note the `src' arguments, they make sure the right outgoing IP address is chosen.

    ip route add $P1_NET dev $IF1 src $IP1
    ip route add $P2_NET dev $IF2 src $IP2
  
Then, your preference for default route:
    ip route add default via $P1
  
Next, you set up the routing rules. These actually choose what routing table to route with. You want to make sure that you route out a given interface if you already have the corresponding source address:
    ip rule add from $IP1 table T1
    ip rule add from $IP2 table T2
  
This set of commands makes sure all answers to traffic coming in on a particular interface get answered from that interface.

Reader Rod Roark notes: 'If $P0_NET is the local network and $IF0 is its interface, the following additional entries are desirable:

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                          
'


Now, this is just the very basic setup. It will work for all processes running on the router itself, and for the local network, if it is masqueraded. If it is not, then you either have IP space from both providers or you are going to want to masquerade to one of the two providers. In both cases you will want to add rules selecting which provider to route out from based on the IP address of the machine in the local network.

4.2.2. Load balancing
The second question is how to balance traffic going out over the two providers. This is actually not hard if you already have set up split access as above.

Instead of choosing one of the two providers as your default route, you now set up the default route to be a multipath route. In the default kernel this will balance routes over the two providers. It is done as follows (once more building on the example in the section on split-access):

    ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \
    nexthop via $P2 dev $IF2 weight 1
  
This will balance the routes over both providers. The weight parameters can be tweaked to favor one provider over the other.

Note that balancing will not be perfect, as it is route based, and routes are cached. This means that routes to often-used sites will always be over the same provider.

Furthermore, if you really want to do this, you probably also want to look at Julian Anastasov's patches at http://www.ssi.bg/~ja/#routes , Julian's route patch page. They will make things nicer to work with.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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