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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: 2 провайдера+проброс до веб-сервера  (Прочитано 2053 раз)

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

Оффлайн RandolEth

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Доброго времени суток форумчане!

Ситуация:
есть локалка(IF0) и 2 провайдера статика(IF1) и pppoe(IF2)
IP статические и не меняются
подключено всё это 2-ым способом https://help.ubuntu.ru/wiki/ip_balancing
изменен вес 1ый провайдер=1, 2ой провайдер=5
маскарад заменен на SNAT
у веб-сервера 2 IP на одном интерфейсе(IP Alias) выпускаются наружу след. правилами

          iptables -t nat -A PREROUTING -i $IF2 -p tcp -m tcp -d $IP2 --dport 80 -j DNAT --to-destination 192.168.0.93:80
          iptables -t nat -A POSTROUTING -o $IF2 -p tcp -m tcp -s 192.168.0.93 --sport 80 -j SNAT --to-source $IP2:80
          iptables -t nat -A PREROUTING -i $IF1 -p tcp -m tcp -d $IP1 --dport 80 -j DNAT --to-destination 192.168.0.193:80
          iptables -t nat -A POSTROUTING -o $IF1 -p tcp -m tcp -s 192.168.0.193 --sport 80 -j SNAT --to-source $IP1:80

rp_filter отключен для всех интерфейсов

Ошибка следующая: в режиме с одним провайдером порт пробрасывается вне зависимости от того какой провайдер активен, но стоит "поднять" обоих провайдеров и проброс работает только через pppoe(IF2).

Ткните дураку пальцем где копать.

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: 2 провайдера+проброс до веб-сервера
« Ответ #1 : 28 Мая 2012, 18:32:20 »
копать в сторону маршрутизации. показывай таблицы маршрутизации когда оба провайдера подняты
ip r
cat /etc/iproute2/rt_tables

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: 2 провайдера+проброс до веб-сервера
« Ответ #2 : 28 Мая 2012, 21:03:31 »
Да, и туда тоже,
Код: (text) [Выделить]
ip -4 r s t all но хотелось бы уточнится:
Цитировать
          iptables -t nat -A PREROUTING -i $IF2 -p tcp -m tcp -d $IP2 --dport 80 -j DNAT --to-destination 192.168.0.93:80
          iptables -t nat -A POSTROUTING -o $IF2 -p tcp -m tcp -s 192.168.0.93 --sport 80 -j SNAT --to-source $IP2:80
          iptables -t nat -A PREROUTING -i $IF1 -p tcp -m tcp -d $IP1 --dport 80 -j DNAT --to-destination 192.168.0.193:80
          iptables -t nat -A POSTROUTING -o $IF1 -p tcp -m tcp -s 192.168.0.193 --sport 80 -j SNAT --to-source $IP1:80
Это опечатка, я правильно понял?
OpenWrt 19.07

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28469
    • Просмотр профиля
Re: 2 провайдера+проброс до веб-сервера
« Ответ #3 : 29 Мая 2012, 15:09:31 »
Туда... http://anr-daemon.livejournal.com/1655.html
Будет что-то непонятно - спрашивайте здесь же.
У вас, я так понял, внешние сети напрямую приходят в компьютер, так что у вас маркировку трафика надо делать по интерфейсам, а не по MAC адресам.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн RandolEth

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: 2 провайдера+проброс до веб-сервера
« Ответ #4 : 29 Мая 2012, 20:26:04 »
Уточню:
настройки производятся на гейте с целью балансировки и отказоустойчивости
задача номер раз выпустить пользователей в интернет через 2-х провайдеров чередуя каналы по "весу"
задача номер два организовать доступ к веб-серверу размещенному в локалке

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

 KT315
Нет 192.168.0.93 и 192.168.0.193 это IP адреса веб-сервера(IP Alias), разделил для удобства

Для удобства понимания выложу конфиг:
Vars
(Нажмите, чтобы показать/скрыть)

Routing
(Нажмите, чтобы показать/скрыть)

Check
(Нажмите, чтобы показать/скрыть)

Таблицы следующие:
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 29 Мая 2012, 20:51:13 от RandolEth »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28469
    • Просмотр профиля
Re: 2 провайдера+проброс до веб-сервера
« Ответ #5 : 29 Мая 2012, 20:51:19 »
У веб-сервера нет исходящих потоков.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн RandolEth

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: 2 провайдера+проброс до веб-сервера
« Ответ #6 : 29 Мая 2012, 20:53:02 »
Пардон, ответов веб-сервера на запросы

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28469
    • Просмотр профиля
Re: 2 провайдера+проброс до веб-сервера
« Ответ #7 : 29 Мая 2012, 21:07:44 »
Ответы должны идти туда же, откуда пришли.
Вы не там копаете.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн RandolEth

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: 2 провайдера+проброс до веб-сервера
« Ответ #8 : 29 Мая 2012, 22:06:17 »
По моему скудному разумению:
  • пакет прилетевший гейту с первого провайдера имеющий адрес назначения $IP1 и порт 80 проходит PREROUTING
  • у пакета адрес назначения меняется на 192.168.0.93, пакет проходит маршрутизацию и уходит в локалку
  • апач отвечает на него пакетом у которого адрес назначения интернет, а адрес отправителя 192.168.0.93 и порт 80
  • пакет проходит POSTROUTING, у него меняется адрес отправителя и по идеи пакет должен отправится через явно указанный интерфейс

С пакетами пришедшими со второго провайдера ситуация должна быть аналогична, только IP веб-сервера в этом случае будет 192.168.0.193


Но судя по tcpdump пакеты уходят согласно правилам "веса" провайдеров.


Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28469
    • Просмотр профиля
Re: 2 провайдера+проброс до веб-сервера
« Ответ #9 : 29 Мая 2012, 22:58:14 »
По моему скудному разумению:
  • пакет прилетевший гейту с первого провайдера имеющий адрес назначения $IP1 и порт 80 проходит PREROUTING
  • у пакета адрес назначения меняется на 192.168.0.93, пакет проходит маршрутизацию и уходит в локалку
  • апач отвечает на него пакетом у которого адрес назначения интернет, а адрес отправителя 192.168.0.93 и порт 80
  • пакет проходит POSTROUTING, у него меняется адрес отправителя и по идеи пакет должен отправится через явно указанный интерфейс
Я дал ссылку, куда читать...
Не надо пытаться порвать TCP протокол на сотню маленьких медвежат - всё выдумано ещё до вас. DNAT сам разберётся, как менять адреса пакетов.

Цитировать
С пакетами пришедшими со второго провайдера ситуация должна быть аналогична, только IP веб-сервера в этом случае будет 192.168.0.193
C какого перепугу? Если адрес веб-сервера в локальной сети 192.168.0.93, то он такой и будет, независимо от того, с какого роутера ты к нему отсылаешь пакеты.
А вот на какой роутер возвращать ответы - читать ссылку выше.

Цитировать
Но судя по tcpdump пакеты уходят согласно правилам "веса" провайдеров.
С какого перепугу на веб сервере какие-то "весы" фигурируют?

У меня есть предложение, вы берёте в руки Dia, GIMP или Paint, рисуете свою сеть и внятно объясняете, чего вы хотите добиться.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн AlDemin

  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
Re: 2 провайдера+проброс до веб-сервера
« Ответ #10 : 29 Мая 2012, 23:12:57 »
Но судя по tcpdump пакеты уходят согласно правилам "веса" провайдеров.

ну разрули их правилами типа:
ip rule add from x.x.x.93 table isp1
ip rule add from x.x.x.193 table isp2
только они должны стоять раньше правил "балансировки"

а POSTROUTING-и тут действительно лишние, у тебя скорее всего уже есть более глобальные правила для обоих провов.
« Последнее редактирование: 29 Мая 2012, 23:21:06 от AlDemin »

 

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