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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Маршрутизация на два провайдера  (Прочитано 1695 раз)

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

Оффлайн alex_1993

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Извините за 100500 тему про маршрутизацию, но не получается добиться нужного результата по стандартным мануалам.

Имеется сервер с двумя интерфейсами от двух провайдеров, и нужно чтобы интернет работал на них одновременно. 
ping -I eth0 ya.ru  #проходит (на eth0 маршрут по дефолту)
ping -I eth1 ya.ru  #не проходит

мой скрипт:
#!/bin/sh
IF1="eth0" #провайдер 1
IF2="eth1" #провайдер 2
IP1="x.x.x.10" #IP в подсетке Пр1
IP2="y.y.y.20" #IP в подсетке Пр2
IPG1="x.x.x.1" #ип шлюза Пр1
IPG2="y.y.y.1" #ип шлюза Пр2
NET1="x.x.x.0/24" #сетка Пр1
NET2="x.x.x.0/24" #сетка Пр2

ip route add $NET1 dev $IF1 src $IP1 table T1 #маршруты в Т1 и Т2
ip route add default via $IPG1 table T1

ip route add $NET2 dev $IF2 src $IP2 table T2
ip route add default via $IPG2 table T2

ip route add $NET1 dev $IF1 src $IP1 #маршруты в главной таблице
ip route add $NET2 dev $IF2 src $IP2       
ip route add default via $IPG1        #дефолтный маршрут

#правила
ip rule add from $NET1 table T1 #все пакеты от ip адреса первого провайдера маршрутизировать по таблице T1
ip rule add from $NET2 table T2 #все пакеты от ip адреса второго провайдера маршрутизировать по таблице T2

Нужно чтобы пинги с eth1 шли через Пр2. Что мне нужно поправить?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Маршрутизация на два провайдера
« Ответ #1 : 29 Июля 2015, 14:26:24 »
Показывайте настройки, а не скрипты, их предположительно задающие.

ip rule show; ip route show table all type unicast
И переставайте уже играть в шпионов.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн alex_1993

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Маршрутизация на два провайдера
« Ответ #2 : 29 Июля 2015, 19:46:27 »
Показывайте настройки, а не скрипты, их предположительно задающие.

И переставайте уже играть в шпионов.
А в общем виде вектор гугления задать можете? Мне не нужно скопипастить готовое решение. Хочется самому вникнуть. По статьям c opennet и хабра, скрипт должен решить проблему одновременной работы двух каналов, но у меня все равно работает только дефолтный. Если я верно понимаю, дефолтный должен работать при отсутствии соответствий в таблицах, но таблица для второго интерфейса создана и маршрут прописан. Шлюз для второго интерфейса пингуется нормально, но за него трафик не идет. В какую область копать?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Маршрутизация на два провайдера
« Ответ #3 : 29 Июля 2015, 19:47:43 »
Вектор гугления у вас и так в каждой строчке вашего поста прописан. Очевидно, что гугление не помогает.
Показывайте настройки - будем думать вместе.

P.S.
ip a; iptables-save
тоже для полноты картины.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн alex_1993

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Маршрутизация на два провайдера
« Ответ #4 : 29 Июля 2015, 20:00:34 »
Выхлопы могу скинуть теперь уже завтра, но завтра я и сам решение найду. Все равно спасибо за отклик!

Пользователь решил продолжить мысль 30 Июля 2015, 14:58:48:
решение найдено, но оно ужасно.

для нормальной работы пингов с eth0 и eth1 требуется изменить команды ip rule c


ip rule add from 192.168.1.10 table T1 #ip интерфейсов
ip rule add from 192.168.2.5 table T2
на

ip rule add from 192.168.1.10 to all table T1
ip rule add from all oif eth0 table T1
ip rule add from all table T2
Но почему же не работает первый вариант мне все равно не ясно.
« Последнее редактирование: 30 Июля 2015, 14:58:48 от alex_1993 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Маршрутизация на два провайдера
« Ответ #5 : 31 Июля 2015, 05:10:04 »
Вероятно, потому что у вас каша в таблице маршрутизации. Которую мы от вас так и не увидели.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

 

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