The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Несколько каналов интернет, маршрутизация, !*! luft, 08-Фев-12, 15:45  [смотреть все]
Есть сервер, он же шлюз, на Debian Lenny iptables+squid+sams. Пытаюсь распределить выход в интернет для локальных компьютеров через два канала (далее планируется более двух). Интернет поднимается по средсвом PPPoE, соответственно появляются интерфейсы PPP0, PPP1 ... PPPn, и получают динамические IP адреса, кроме PPP1 - у него статический внешний адрес 212.*.*.*
eth1 - сюда подключен первый модем - PPP0
eth0.999 - второй модем - PPP1
eth0.100-eth0.250 - локальная сеть (виртуальные интерфейсы VLAN)

Маршрутизацию настраиваю с помощью iproute2. В rt_tables добавляю таблицу Т1, и прописываю правила:
Код:

ip route add 192.168.130.0/24 dev eth0.230 table T1
ip route add 192.168.67.0/24 dev eth0.999 table T1
ip route add default dev ppp1 table T1

ip rule add from 212.*.*.* table T1

192.168.130.0/24 - локальная подсеть, которая должна выходить наружу через ppp1, eth0.230 - соответствующий ей интерфейс
192.168.67.0/24 - подсеть, в которой находится модем, eth0.999 - соответствующий интерфейс
212.*.*.* - внешний айпи на ppp1

В iptables все натится таким правилом:
Код:

iptables -t nat -A POSTROUTING -o PPP+ -j MASQUERADE

Т.е. должно получиться, что по умолчанию все выходит в инет через PPP0 (главная таблица), а те, кого маршрутизируем по PPP1
Если с сервера проверять ping -I ppp1 yandex.ru - пинг идет, traceroute ya.ru с локального компа тоже показывает, что идет через ppp1. Но если через браузер зайти, допустим, на 2ip.ru - айпишник показывается ppp0.

Подскажите, пожалуйста, в чем может быть ошибка!

  • Несколько каналов интернет, маршрутизация, !*! КуКу, 16:07 , 08-Фев-12 (1)
    зацепился за "iptables+squid+sams" и "Но если через браузер зайти".

    Браузер идет через сквид? сквид идет через ppp0?

  • Несколько каналов интернет, маршрутизация, !*! PavelR, 22:04 , 08-Фев-12 (5)

    показывай вывод

    ip ru sh

    ip ro sh table main
    ip ro sh table default

    ip ro sh table PROVIDER для каждого провайдера.

    • Несколько каналов интернет, маршрутизация, !*! luft, 22:19 , 08-Фев-12 (6)

      > показывай вывод
      > ip ru sh
      > ip ro sh table main
      > ip ro sh table default
      > ip ro sh table PROVIDER для каждого провайдера.

      ip rule show
      0:      from all lookup local
      32764:  from 212.*.*.* lookup T1
      32765:  from 192.168.130.* lookup T1
      32766:  from all lookup main
      32767:  from all lookup default

      ip route show table main
      212.12.10.* dev ppp0  proto kernel  scope link  src 95.139.*.*
      212.12.10.* dev ppp1  proto kernel  scope link  src 212.*.*.*
      192.168.67.0/24 dev eth0.999  proto kernel  scope link  src 192.168.67.5
      192.168.130.0/24 dev eth0.190  proto kernel  scope link  src 192.168.90.5
      default dev ppp0  scope link

      default - пустая

      ip ro sh t T1
      192.168.130.0/24 dev eth0.230  scope link
      192.168.67.0/24 dev eth0.999  scope link
      127.0.0.0/8 dev lo  scope link
      default dev ppp1  scope link

      таблицу сделал только одну T1 для ppp1 подключения, остольные по умолчанию через главную

      • Несколько каналов интернет, маршрутизация, !*! PavelR, 22:48 , 08-Фев-12 (7)
        В общем всё верно.

        > ip ro sh t T1
        > 192.168.130.0/24 dev eth0.230  scope link
        > 192.168.67.0/24 dev eth0.999  scope link
        > 127.0.0.0/8 dev lo  scope link
        > default dev ppp1  scope link

        Возможно, что тут надо бы маленько исправить скрипт, и в T1 делать правило с указанием src. Т.е. чтобы ip ro sh t T1 показало последней строкой  "default dev ppp1  scope link src 1.2.3.4".
        Может быть в этом дело, но я не уверен, ничего не указывает на необходимость данного действа.
        К сожалению 100% рабочего скрипта у меня не сохранилось.


        > таблицу сделал только одну T1 для ppp1 подключения, остольные по умолчанию через
        > главную

        При таком конфиге следующее не возможно:

        " >traceroute ya.ru с локального компа тоже показывает, что идет через ppp1 "

        Также рекомендую проверять не "ping -I pppX" а командой "ping -I 1.2.3.4", дополнительно tcpdump-ом контролировать, что пакет уходит действительно через правильный интерфейс.

        Ну и не забываем про "ip ro flu ca".




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

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