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

Исходное сообщение
"Полиси роутинг"

Отправлено Tangar , 04-Мрт-05 17:41 
Имеем:
1. Канал#1 сеть 194.*.*.192/255.255.255.224 шлюз 194.*.*.193 ip 194.*.*.212
2. Канал#2 сеть 192.168.6.0/255.255.255.0 шлюз 192.168.6.1 ip 192.168.6.50
+ подсеть 194.*.*.232/255.255.255.255.248 смапаная на 194.*.*.212, из неё я раздаю прямые ипы.
Также есть юзера с серыми ипами из сетей: 192.168.0.0/24 и 10.0.0.0/24 ессно они натяться.
Проблема следующая: как сделать возможность переключать юзерей из серых сетей между каналами?
Вся заморочка в прямых ипах, потому что если меняешь default gw то они работать перестают.
Пробую так:
/sbin/ip rule add from 194.*.*.232/7 to 0/0 table 101 pref 100
/sbin/ip route add table 101 via 194.*.*.193
- не работает.
Куда смотреть, чего ковырять?

Содержание

Сообщения в этом обсуждении
"Полиси роутинг"
Отправлено Beginner , 04-Мрт-05 20:03 
>Имеем:
>1. Канал#1 сеть 194.*.*.192/255.255.255.224 шлюз 194.*.*.193 ip 194.*.*.212
>2. Канал#2 сеть 192.168.6.0/255.255.255.0 шлюз 192.168.6.1 ip 192.168.6.50
>+ подсеть 194.*.*.232/255.255.255.255.248 смапаная на 194.*.*.212, из неё я раздаю прямые ипы.
>
>Также есть юзера с серыми ипами из сетей: 192.168.0.0/24 и 10.0.0.0/24 ессно
>они натяться.
>Проблема следующая: как сделать возможность переключать юзерей из серых сетей между каналами?
>
>Вся заморочка в прямых ипах, потому что если меняешь default gw то
>они работать перестают.
>Пробую так:
>/sbin/ip rule add from 194.*.*.232/7 to 0/0 table 101 pref 100
>/sbin/ip route add table 101 via 194.*.*.193
>- не работает.
>Куда смотреть, чего ковырять?

В чем собственно проблема? Раскидываешь серые адреса по линкам и маскарадишь на выходе.


"Полиси роутинг"
Отправлено Tangar , 05-Мрт-05 10:43 
>В чем собственно проблема? Раскидываешь серые адреса по линкам и маскарадишь на
>выходе.

Во!
значитса:
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source 194.*.*.212
-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j SNAT --to-source 194.*.*.212
так работает на один канал.
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source 192.168.6.50
-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j SNAT --to-source 192.168.6.50
а так не работает.
можно так:
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j MASQUERADE
-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j MASQUERADE
но тута нельзя указать на какой ип натить........


"Полиси роутинг"
Отправлено Tangar , 05-Мрт-05 10:44 
kernel 2.4.20
iptables v1.2.7a

мож чего проапгрейдить нужно?


"Полиси роутинг"
Отправлено Beginner , 05-Мрт-05 11:20 
>>В чем собственно проблема? Раскидываешь серые адреса по линкам и маскарадишь на
>>выходе.
>
>Во!
>значитса:
>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source 194.*.*.212
>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j SNAT --to-source 194.*.*.212
>так работает на один канал.
>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source 192.168.6.50
>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j SNAT --to-source 192.168.6.50
>а так не работает.
>можно так:
>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j MASQUERADE
>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j MASQUERADE
>но тута нельзя указать на какой ип натить........


Тогда вопрос. Надо натить на конкретные адреса?
если так, то можно ввести в правила соответствующие поправочки.

-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o int1 -j SNAT --to-source 194.*.*.212
-A POSTROUTING -s 10.0.0.0/255.255.255.0 -o int1 -j SNAT --to-source 194.*.*.212
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o int2 -j SNAT --to-source *.*.*.*
-A POSTROUTING -s 10.0.0.0/255.255.255.0 -o int2 -j SNAT --to-source *.*.*.*

Тогда выходя из int1 будет натиться 1 адресом, а через int2 - другим. Хотя MASQUERADE натит адресом интерфейса и проблем обычно не бывает : )


"Полиси роутинг"
Отправлено Tangar , 05-Мрт-05 11:51 
>>>В чем собственно проблема? Раскидываешь серые адреса по линкам и маскарадишь на
>>>выходе.
>>
>>Во!
>>значитса:
>>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source 194.*.*.212
>>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j SNAT --to-source 194.*.*.212
>>так работает на один канал.
>>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source 192.168.6.50
>>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j SNAT --to-source 192.168.6.50
>>а так не работает.
>>можно так:
>>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j MASQUERADE
>>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j MASQUERADE
>>но тута нельзя указать на какой ип натить........
>
>
>Тогда вопрос. Надо натить на конкретные адреса?
>если так, то можно ввести в правила соответствующие поправочки.
>
>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o int1 -j SNAT --to-source 194.*.*.212
>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -o int1 -j SNAT --to-source 194.*.*.212
>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o int2 -j SNAT --to-source *.*.*.*
>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -o int2 -j SNAT --to-source *.*.*.*
>
>Тогда выходя из int1 будет натиться 1 адресом, а через int2 -
>другим. Хотя MASQUERADE натит адресом интерфейса и проблем обычно не бывает
>: )

ага, хорошо, спасибо, попозже попробую....


"Полиси роутинг"
Отправлено Tangar , 10-Мрт-05 16:51 
>>>В чем собственно проблема? Раскидываешь серые адреса по линкам и маскарадишь на
>>>выходе.
>>
>>Во!
>>значитса:
>>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source 194.*.*.212
>>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j SNAT --to-source 194.*.*.212
>>так работает на один канал.
>>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source 192.168.6.50
>>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j SNAT --to-source 192.168.6.50
>>а так не работает.
>>можно так:
>>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j MASQUERADE
>>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j MASQUERADE
>>но тута нельзя указать на какой ип натить........
>
>
>Тогда вопрос. Надо натить на конкретные адреса?
>если так, то можно ввести в правила соответствующие поправочки.
>
>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o int1 -j SNAT --to-source 194.*.*.212
>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -o int1 -j SNAT --to-source 194.*.*.212
>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o int2 -j SNAT --to-source *.*.*.*
>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -o int2 -j SNAT --to-source *.*.*.*
>
>Тогда выходя из int1 будет натиться 1 адресом, а через int2 -
>другим. Хотя MASQUERADE натит адресом интерфейса и проблем обычно не бывает
>: )

Вообщем NAT как тут написано выше - не работает.
Используя следующую конфигурацию:
ip ro
194.x.x.232/29 dev eth1  proto kernel  scope link  src 194.x.x.233
194.x.x.192/27 dev eth0  scope link  src 194.x.x.212
192.168.6.0/24 dev eth2  scope link  src 192.168.6.50
10.0.0.0/24 dev eth1  proto kernel  scope link  src 10.0.0.1
10.200.200.0/24 dev eth3  scope link  src 10.200.200.1
169.254.0.0/16 dev eth3  scope link
127.0.0.0/8 dev lo  scope link
default via 192.168.6.1 dev eth2

ip ru
0:      from all lookup local
32762:  from 194.x.x.232/29 lookup T4
32763:  from 10.200.200.1 lookup T3
32764:  from 192.168.6.50 lookup T2
32765:  from 194.x.x.212 lookup T1
32766:  from all lookup main
327x:  from all lookup default

ip ro list table T1
194.x.x.192/27 dev eth0  scope link  src 194.x.x.212
default via 194.x.x.193 dev eth0

ip ro list table T2
192.168.6.0/24 dev eth2  scope link  src 192.168.6.50
default via 192.168.6.1 dev eth2

ip ro list table T3
10.200.200.0/24 dev eth3  scope link  src 10.200.200.1
default via 10.200.200.200 dev eth3

ip ro list table T4
194.x.x.232/29 dev eth1  scope link  src 194.x.x.233
default via 194.x.x.193 dev eth0

iptables -nL -t nat
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  192.168.0.0/24       0.0.0.0/0
MASQUERADE  all  --  10.0.0.0/24          0.0.0.0/0

,я добился того, что простой сменой default gw скриптом юзверя с канала скопом переключаются.
НО! хосты из подсетки 194.x.x.232/255.255.255.248 от клиентов 10.0.0.0/24 и 192.168.0.0/24 - НЕ ВИДНЫ!
Вопрос: КАК???
я себе уже весь мозг через трубочку высосал......


"Полиси роутинг"
Отправлено Beginner , 10-Мрт-05 17:31 
>>>>В чем собственно проблема? Раскидываешь серые адреса по линкам и маскарадишь на
>>>>выходе.
>>>
>>>Во!
>>>значитса:
>>>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source 194.*.*.212
>>>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j SNAT --to-source 194.*.*.212
>>>так работает на один канал.
>>>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j SNAT --to-source 192.168.6.50
>>>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j SNAT --to-source 192.168.6.50
>>>а так не работает.
>>>можно так:
>>>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -j MASQUERADE
>>>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -j MASQUERADE
>>>но тута нельзя указать на какой ип натить........
>>
>>
>>Тогда вопрос. Надо натить на конкретные адреса?
>>если так, то можно ввести в правила соответствующие поправочки.
>>
>>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o int1 -j SNAT --to-source 194.*.*.212
>>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -o int1 -j SNAT --to-source 194.*.*.212
>>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o int2 -j SNAT --to-source *.*.*.*
>>-A POSTROUTING -s 10.0.0.0/255.255.255.0 -o int2 -j SNAT --to-source *.*.*.*
>>
>>Тогда выходя из int1 будет натиться 1 адресом, а через int2 -
>>другим. Хотя MASQUERADE натит адресом интерфейса и проблем обычно не бывает
>>: )
>
>Вообщем NAT как тут написано выше - не работает.
>Используя следующую конфигурацию:
>ip ro
>194.x.x.232/29 dev eth1  proto kernel  scope link  src 194.x.x.233
>
>194.x.x.192/27 dev eth0  scope link  src 194.x.x.212
>192.168.6.0/24 dev eth2  scope link  src 192.168.6.50
>10.0.0.0/24 dev eth1  proto kernel  scope link  src 10.0.0.1
>
>10.200.200.0/24 dev eth3  scope link  src 10.200.200.1
>169.254.0.0/16 dev eth3  scope link
>127.0.0.0/8 dev lo  scope link
>default via 192.168.6.1 dev eth2
>
>ip ru
>0:      from all lookup local
>32762:  from 194.x.x.232/29 lookup T4
>32763:  from 10.200.200.1 lookup T3
>32764:  from 192.168.6.50 lookup T2
>32765:  from 194.x.x.212 lookup T1
>32766:  from all lookup main
>327x:  from all lookup default
>
>ip ro list table T1
>194.x.x.192/27 dev eth0  scope link  src 194.x.x.212
>default via 194.x.x.193 dev eth0
>
>ip ro list table T2
>192.168.6.0/24 dev eth2  scope link  src 192.168.6.50
>default via 192.168.6.1 dev eth2
>
>ip ro list table T3
>10.200.200.0/24 dev eth3  scope link  src 10.200.200.1
>default via 10.200.200.200 dev eth3
>
>ip ro list table T4
>194.x.x.232/29 dev eth1  scope link  src 194.x.x.233
>default via 194.x.x.193 dev eth0
>
>iptables -nL -t nat
>Chain POSTROUTING (policy ACCEPT)
>target     prot opt source    
>          destination
>
>MASQUERADE  all  --  192.168.0.0/24      
> 0.0.0.0/0
>MASQUERADE  all  --  10.0.0.0/24      
>    0.0.0.0/0
>
>,я добился того, что простой сменой default gw скриптом юзверя с канала
>скопом переключаются.
>НО! хосты из подсетки 194.x.x.232/255.255.255.248 от клиентов 10.0.0.0/24 и 192.168.0.0/24 - НЕ
>ВИДНЫ!
>Вопрос: КАК???
>я себе уже весь мозг через трубочку высосал......

Раз пошел таким путем - пропиши в своих table T1 и т. д. не только дефолт, но и маршруты до остальных сетей. И при маскарадинге надо маскарадить не все пакеты что уходят от внутренних адресов, а только то, что уходит во внешние каналы, то есть добавить в правила интерфейсы типа


-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth1 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth2 -j MASQUERADE

и т.д.


"Полиси роутинг"
Отправлено Tangar , 10-Мрт-05 17:49 
>Раз пошел таким путем - пропиши в своих table T1 и т.
>д. не только дефолт, но и маршруты до остальных сетей. И
>при маскарадинге надо маскарадить не все пакеты что уходят от внутренних
>адресов, а только то, что уходит во внешние каналы, то есть
>добавить в правила интерфейсы типа
>
>
>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth1 -j MASQUERADE
>-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth2 -j MASQUERADE
>
>и т.д.

ага, доп. маршруты щас пропишу.

А какой ещё другой путь есть? :)


"Полиси роутинг"
Отправлено Tangar , 10-Мрт-05 18:24 
Фиг.
Привёл таблицы к след виду:
[root@router_1 etc]# ip ro list table T1
194.x.x.232/29 dev eth1  scope link  src 194.x.x.233
194.x.x.192/27 dev eth0  scope link  src 194.x.x.212
192.168.6.0/24 dev eth2  scope link  src 192.168.6.50
10.200.200.0/24 dev eth3  scope link  src 10.200.200.1
default via 194.x.x.193 dev eth0
[root@router_1 etc]# ip ro list table T2
194.x.x.232/29 dev eth1  scope link  src 194.x.x.233
194.x.x.192/27 dev eth0  scope link  src 194.x.x.212
192.168.6.0/24 dev eth2  scope link  src 192.168.6.50
10.200.200.0/24 dev eth3  scope link  src 10.200.200.1
default via 192.168.6.1 dev eth2
[root@router_1 etc]# ip ro list table T3
194.x.x.232/29 dev eth1  scope link  src 194.x.x.233
194.x.x.192/27 dev eth0  scope link  src 194.x.x.212
192.168.6.0/24 dev eth2  scope link  src 192.168.6.50
10.200.200.0/24 dev eth3  scope link  src 10.200.200.1
default via 10.200.200.200 dev eth3
[root@router_1 etc]# ip ro list table T4
194.x.x.232/29 dev eth1  scope link  src 194.x.x.233
194.x.x.192/27 dev eth0  scope link  src 194.x.x.212
192.168.6.0/24 dev eth2  scope link  src 192.168.6.50
10.200.200.0/24 dev eth3  scope link  src 10.200.200.1
default via 194.x.x.193 dev eth0

и

MASQUERADE  all  --  *      eth0    192.168.0.0/24          0.0.0.0/0
MASQUERADE  all  --  *      eth2    192.168.0.0/24          0.0.0.0/0
MASQUERADE  all  --  *      eth3    192.168.0.0/24          0.0.0.0/0

- не работает.


"Полиси роутинг"
Отправлено Tangar , 10-Мрт-05 18:38 
и

MASQUERADE  all  --  *      eth1    192.168.0.0/24          0.0.0.0/0