Имеем:
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
- не работает.
Куда смотреть, чего ковырять?
>Имеем:
>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
>- не работает.
>Куда смотреть, чего ковырять?В чем собственно проблема? Раскидываешь серые адреса по линкам и маскарадишь на выходе.
>В чем собственно проблема? Раскидываешь серые адреса по линкам и маскарадишь на
>выходе.Во!
значитса:
-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
но тута нельзя указать на какой ип натить........
kernel 2.4.20
iptables v1.2.7aмож чего проапгрейдить нужно?
>>В чем собственно проблема? Раскидываешь серые адреса по линкам и маскарадишь на
>>выходе.
>
>Во!
>значитса:
>-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 натит адресом интерфейса и проблем обычно не бывает : )
>>>В чем собственно проблема? Раскидываешь серые адреса по линкам и маскарадишь на
>>>выходе.
>>
>>Во!
>>значитса:
>>-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 натит адресом интерфейса и проблем обычно не бывает
>: )ага, хорошо, спасибо, попозже попробую....
>>>В чем собственно проблема? Раскидываешь серые адреса по линкам и маскарадишь на
>>>выходе.
>>
>>Во!
>>значитса:
>>-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 eth2ip 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 defaultip 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 eth0ip 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 eth2ip 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 eth3ip 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 eth0iptables -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 - НЕ ВИДНЫ!
Вопрос: КАК???
я себе уже весь мозг через трубочку высосал......
>>>>В чем собственно проблема? Раскидываешь серые адреса по линкам и маскарадишь на
>>>>выходе.
>>>
>>>Во!
>>>значитса:
>>>-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и т.д.
>Раз пошел таким путем - пропиши в своих 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
>
>и т.д.ага, доп. маршруты щас пропишу.
А какой ещё другой путь есть? :)
Фиг.
Привёл таблицы к след виду:
[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- не работает.
иMASQUERADE all -- * eth1 192.168.0.0/24 0.0.0.0/0