URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 74062
[ Назад ]

Исходное сообщение
"Пожайлуста помогите с роутингом на два канала..."

Отправлено Cyber , 15-Май-07 10:04 
Не могу ло конца понять как все это организовать нужны советы.
Вот моя конфигурация:
линух РедХат9
eth0 - пров №1, серый IP 172.30.2.126
eth1 - локальная сеть 172.17.0.1/16
eth2 - пров №2, серый IP 192.168.1.2 смотрит в ДСЛ модем 192.168.1.1
поднят НАТ и прозрачный сквид:
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
REDIRECT   tcp  --  172.20.2.0/24        0.0.0.0/0          tcp dpt:80 redir ports 3128

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       all  --  172.20.2.0/24        0.0.0.0/0          to:172.30.2.126

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
При помощи pptpd+радиус раздаю пользователям IP с поднятием ррр интерфесов.

Пров №1 основной, но канал узковат и поэтому решил расширить его при помощи дополнительного ДСЛ соеденения. Т.е. при переполнении канала №1 начинал использоваться канал №2.

Делаю вот так:
# Provider 1
IF1=eth0
IP1=172.30.2.126
NET1=172.30.2.124
GW1=172.30.2.125

# Provider 2
IF2=eth2
IP2=192.168.1.2
NET2=192.168.1.0
GW2=192.168.1.1

# Local Net
IF3=eth1
IP3=172.17.0.1
NET3=172.17.0.0

ip route add $NET1 dev $IF1 src $IP1 table 100
ip route add default via $GW1 table 100
ip route add $NET2 dev $IF2 src $IP2 table 200
ip route add default via $GW2 table 200

ip route add $NET1 dev $IF1 src $IP1
ip route add $NET2 dev $IF2 src $IP2

# pravila priema paketov
ip rule add from $IP1 table 100
ip rule add from $IP2 table 200

ip route add $NET3 dev $IF3 table 100
ip route add $NET2 dev $IF2 table 100
ip route add 127.0.0.0/8 dev lo table 100
ip route add $NET3 dev $IF3 table 200
ip route add $NET1 dev $IF1 table 200
ip route add 127.0.0.0/8 dev lo table 200

ip route add default scope global nexthop via $GW1 dev $IF1 weight 2 nexthop via $GW2 dev $IF2 weight 1
ip route flush cache

Что бы это работало я так понимаю надо поднять второй нат и добавлять еще одно правило для сквида?
Но возникает еще вопрос, что у разных провов и разные днс, а пользователи при создании ВПН соеденения явно указывают днс прова №1. Как сделать так, что бы днс присваивались автоматически и взависимости от используемого канала?


Содержание

Сообщения в этом обсуждении
"Пожайлуста помогите с роутингом на два канала..."
Отправлено Oyyo , 15-Май-07 13:55 
>Что бы это работало я так понимаю надо поднять второй нат и
>добавлять еще одно правило для сквида?
>Но возникает еще вопрос, что у разных провов и разные днс, а
>пользователи при создании ВПН соеденения явно указывают днс прова №1. Как
>сделать так, что бы днс присваивались автоматически и взависимости от используемого
>канала?

подними свой ДНС (хотябы кеширующий) и отдавай его пользователям


"Пожайлуста помогите с роутингом на два канала..."
Отправлено cyber , 15-Май-07 16:57 
>подними свой ДНС (хотябы кеширующий) и отдавай его пользователям

Подскажите правильно ли я делаю:
содержимое named.conf:

options {
        directory "/var/named/";
        dump-file "/var/log/named.db";
        statistics-file "/var/log/named.stat";
        forwarders { 172.30.2.126; 172.17.0.1; };
        forward first;
        listen-on port 53 { any; };
        notify no;
};

zone "." in {
    type hint;
    file "root.hint";
};

zone "localhost" in {
    type master;
    file "localhost.zone";
};

zone "0.0.127.in-addr.arpa" in {
    type master;


zone "snet" in {
    type master;
    file "snet.zone";
};

содержимое файла localhost.zone:

$TTL 86400
$ORIGIN localhost.
@ 1D IN SOA @ root (
        42; serial (d. adams)
        3H; refresh
        15M; retry
        1W; expiry
        1D ); minimum
1D IN NS @
1D IN A 127.0.0.1

содержимое файла named.local:

$TTL 86400
@ IN SOA localhost. root.localhost. (
            1997022700 ; Serial
            28800      ; Refresh
            14400      ; Retry
            3600000    ; Expire
            86400 )    ; Minimum
IN NS localhost.
1 IN PTR localhost.

содержимое файла snet.zone:

$TTL 1W
@ IN SOA @ root (
42 ; serial (d. adams)
2D ; refresh
4H ; retry
6W ; expiry
1W ) ; minimum
IN NS @
IN A 172.17.0.1
ica A 172.17.0.1
ns1 CNAME ice
ns2 A 172.20.2.1
stat CNAME ns2

я вот только не пойму можно ли указать в опции forwarders ип всех провайдеров?

p.s. заранее извиняюсь за тупость...


"Пожайлуста помогите с роутингом на два канала..."
Отправлено Oyyo , 15-Май-07 20:30 
>>подними свой ДНС (хотябы кеширующий) и отдавай его пользователям
>
>Подскажите правильно ли я делаю:
>содержимое named.conf:
>
>options {
>        directory "/var/named/";
>        dump-file "/var/log/named.db";
>        statistics-file "/var/log/named.stat";
>        forwarders { 172.30.2.126; 172.17.0.1;
>};
>        forward first;
>        listen-on port 53 {
>any; };
>        notify no;
>};
>
>zone "." in {
>    type hint;
>    file "root.hint";
>};
>
>zone "localhost" in {
>    type master;
>    file "localhost.zone";
>};
>
>zone "0.0.127.in-addr.arpa" in {
>    type master;
>
>
>zone "snet" in {
>    type master;
>    file "snet.zone";
>};
>
>содержимое файла localhost.zone:
>
>$TTL 86400
>$ORIGIN localhost.
>@ 1D IN SOA @ root (
>        42; serial (d. adams)
>
>        3H; refresh
>        15M; retry
>        1W; expiry
>        1D ); minimum
>1D IN NS @
>1D IN A 127.0.0.1
>
>содержимое файла named.local:
>
>$TTL 86400
>@ IN SOA localhost. root.localhost. (
>            
>1997022700 ; Serial
>            
>28800      ; Refresh
>            
>14400      ; Retry
>            
>3600000    ; Expire
>            
>86400 )    ; Minimum
>IN NS localhost.
>1 IN PTR localhost.
>
>содержимое файла snet.zone:
>
>$TTL 1W
>@ IN SOA @ root (
>42 ; serial (d. adams)
>2D ; refresh
>4H ; retry
>6W ; expiry
>1W ) ; minimum
>IN NS @
>IN A 172.17.0.1
>ica A 172.17.0.1
>ns1 CNAME ice
>ns2 A 172.20.2.1
>stat CNAME ns2
>
>я вот только не пойму можно ли указать в опции forwarders ип
>всех провайдеров?
>
>p.s. заранее извиняюсь за тупость...

Как и говорится в комментариях, если вы хотите получить эффект от использования кэша провайдера, то можно включить раздел forwarders. В обычном случае сервер имён будет рекурсивно опрашивать определённые серверы имён Интернет до тех пор, пока не получит ответ на свой запрос. При включении этого раздела он будет автоматически опрашивать сервер имён вашего провайдера (или тот, который здесь указан), используя преимущества его кэша. наличия нужной информации. Если соответствующий сервер имён провайдера работает быстро и имеет хороший канал связи, то в результате такой настройки вы можете получить хороший результат.
Внимание: 127.0.0.1 здесь работать не будет. Измените его на IP-адрес сервера имён провайдера.


"Пожайлуста помогите с роутингом на два канала..."
Отправлено cyber , 16-Май-07 10:37 
Хорошо, а если особо не заморачиваться и сделать например так:
www трафик пускать через один канал а все остально через второй.
нат добавляю вот такой командой:
iptables -t nat -A POSTROUTING -s 172.20.2.0/24 -o eth0 -j SNAT --to-source 172.30.2.126
как надо модифицировать параметры, что бы НАТ работал для сети 172.20.2.0 и порт 80 ?



"Пожайлуста помогите с роутингом на два канала..."
Отправлено cyber , 18-Май-07 09:28 
>Хорошо, а если особо не заморачиваться и сделать например так:
>www трафик пускать через один канал а все остально через второй.
>нат добавляю вот такой командой:
>iptables -t nat -A POSTROUTING -s 172.20.2.0/24 -o eth0 -j SNAT --to-source
>172.30.2.126
>как надо модифицировать параметры, что бы НАТ работал для сети 172.20.2.0 и
>порт 80 ?


up