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

Исходное сообщение
"Роутинг сетей"

Отправлено Vladimir , 13-Дек-06 01:13 
Здравствуйте уважаемые форумчане, у меня возникла такая проблема, немогу настроить никак роутинг.

вот схема построение:

eth0 - x.x.x.x реальный ip
tun0 - 192.168.10.x/24
tun1 - 192.168.80.x/24
tun2 - 10.10.10.x/252

и так, задача была поставлена следующая: нужно чтобы весть трафик 192.168.80.x идущий с tun1 заворачивался на tun2 10.10.10.1 (удаленная точка, на которой поднят nat на 192.168.80.x).
tun2 имеет ip 10.10.10.2, и на той стороне 10.10.10.1(на котором поднят для подсети).

вот пытался я сделать это iptables, не выходило. а точнее немогу сообразить, как так и чем завернуть пакеты...

p.s. мне не нужен нат на реальный ip, мне нужно, чтобы трафик пробрасывался по туннелю tun2 до 10.10.10.1 и использовало его в качестве основного шлюза для 192.168.80.x, чтобы клиент прописав основной шлюз 192.168.80.1 спокойно попал в интернет, через нат 10.10.10.1.

Очень нужно, помогите...


Содержание

Сообщения в этом обсуждении
"Роутинг сетей"
Отправлено scripter , 13-Дек-06 07:33 
>Здравствуйте уважаемые форумчане, у меня возникла такая проблема, немогу настроить никак роутинг.
>
>
>вот схема построение:
>
>eth0 - x.x.x.x реальный ip
>tun0 - 192.168.10.x/24
>tun1 - 192.168.80.x/24
>tun2 - 10.10.10.x/252
>
>и так, задача была поставлена следующая: нужно чтобы весть трафик 192.168.80.x идущий
>с tun1 заворачивался на tun2 10.10.10.1 (удаленная точка, на которой поднят
>nat на 192.168.80.x).
>tun2 имеет ip 10.10.10.2, и на той стороне 10.10.10.1(на котором поднят для
>подсети).
>
>вот пытался я сделать это iptables, не выходило. а точнее немогу сообразить,
>как так и чем завернуть пакеты...
>
>p.s. мне не нужен нат на реальный ip, мне нужно, чтобы трафик
>пробрасывался по туннелю tun2 до 10.10.10.1 и использовало его в качестве
>основного шлюза для 192.168.80.x, чтобы клиент прописав основной шлюз 192.168.80.1 спокойно
>попал в интернет, через нат 10.10.10.1.
>
>Очень нужно, помогите...

почитайте про базовые основы роутинга

route add -net 192.168.80.0 netmask 255.255.255.0 gw 10.10.10.1


"Роутинг сетей"
Отправлено sn , 13-Дек-06 08:57 
>>Здравствуйте уважаемые форумчане, у меня возникла такая проблема, немогу настроить никак роутинг.
>>
>>
>>вот схема построение:
>>
>>eth0 - x.x.x.x реальный ip
>>tun0 - 192.168.10.x/24
>>tun1 - 192.168.80.x/24
>>tun2 - 10.10.10.x/252
>>
>>и так, задача была поставлена следующая: нужно чтобы весть трафик 192.168.80.x идущий
>>с tun1 заворачивался на tun2 10.10.10.1 (удаленная точка, на которой поднят
>>nat на 192.168.80.x).
>>tun2 имеет ip 10.10.10.2, и на той стороне 10.10.10.1(на котором поднят для
>>подсети).
>>
>>вот пытался я сделать это iptables, не выходило. а точнее немогу сообразить,
>>как так и чем завернуть пакеты...
>>
>>p.s. мне не нужен нат на реальный ip, мне нужно, чтобы трафик
>>пробрасывался по туннелю tun2 до 10.10.10.1 и использовало его в качестве
>>основного шлюза для 192.168.80.x, чтобы клиент прописав основной шлюз 192.168.80.1 спокойно
>>попал в интернет, через нат 10.10.10.1.
>>
>>Очень нужно, помогите...
>
>почитайте про базовые основы роутинга
>
>route add -net 192.168.80.0 netmask 255.255.255.0 gw 10.10.10.1

Это бред. Это надо делать на машине на которой нат. А на этой машине
route add default gw 10.10.10.1
или, если нужно только сеть 192.168.80.х выпускать, то читать про source-routing  в iproute2



"Роутинг сетей"
Отправлено scripter , 13-Дек-06 09:40 
>>route add -net 192.168.80.0 netmask 255.255.255.0 gw 10.10.10.1
>
>Это бред. Это надо делать на машине на которой нат. А на

каюсь, ступил. это для dst



"Роутинг сетей"
Отправлено Vladimir , 13-Дек-06 13:18 
>>>Здравствуйте уважаемые форумчане, у меня возникла такая проблема, немогу настроить никак роутинг.
>>>
>>>
>>>вот схема построение:
>>>
>>>eth0 - x.x.x.x реальный ip
>>>tun0 - 192.168.10.x/24
>>>tun1 - 192.168.80.x/24
>>>tun2 - 10.10.10.x/252
>>>
>>>и так, задача была поставлена следующая: нужно чтобы весть трафик 192.168.80.x идущий
>>>с tun1 заворачивался на tun2 10.10.10.1 (удаленная точка, на которой поднят
>>>nat на 192.168.80.x).
>>>tun2 имеет ip 10.10.10.2, и на той стороне 10.10.10.1(на котором поднят для
>>>подсети).
>>>
>>>вот пытался я сделать это iptables, не выходило. а точнее немогу сообразить,
>>>как так и чем завернуть пакеты...
>>>
>>>p.s. мне не нужен нат на реальный ip, мне нужно, чтобы трафик
>>>пробрасывался по туннелю tun2 до 10.10.10.1 и использовало его в качестве
>>>основного шлюза для 192.168.80.x, чтобы клиент прописав основной шлюз 192.168.80.1 спокойно
>>>попал в интернет, через нат 10.10.10.1.
>>>
>>>Очень нужно, помогите...
>>
>>почитайте про базовые основы роутинга
>>
>>route add -net 192.168.80.0 netmask 255.255.255.0 gw 10.10.10.1
>
>Это бред. Это надо делать на машине на которой нат. А на
>этой машине
>route add default gw 10.10.10.1
>или, если нужно только сеть 192.168.80.х выпускать, то читать про source-routing  
>в iproute2

А поподробней можно? только iproute2 позволяет? или можно стандартными средствами обойтись? тут дело в том, что основной default gw на машине нельзя делать, так завернёться весь трафик на туннель, возможно даже упадут туннели! Нужно только определённую подсеть, из tun1 в tun2 пробросить! и всё!!! а там уже всё будет работать, только как это сделать.


"Роутинг сетей"
Отправлено Vladimir , 13-Дек-06 23:32 
понял, что всё только через iproute2 не как по другому, а как обстоит дела с этим в freebsd? Никто не знает?

"Роутинг сетей"
Отправлено Grey , 14-Дек-06 00:27 
>понял, что всё только через iproute2 не как по другому, а как
>обстоит дела с этим в freebsd? Никто не знает?

на фре пишется маршрут ... из какой сети ВСЁ посылать через какой шлюз ... но проблема "для каких сетей" ......
если это путь в инет - то это "для любого адреса назначения" ... т.е. маршрут по дефолту ... через дефолтовый шлюз прописанный на этой фре ...
можно форвардить пакеты в ipfw

правило что-то типа:
add fwd 10.10.10.1 all from 192.168.80.0/24 to any in via tun1
по этому правилу все пакеты от указанной сети (192.168.80.0/24) приходяшие по указанному интерфейсу (tun1) и предназначенные для любых адресов (any) будут завёрнуты на указанный адрес (10.10.10.1)
можно ещё сделать так:
add fwd 10.10.10.1 all from 192.168.80.0/24 to not 192.168.10.0/24 in via tun1
или то что не надо заворачивать перекинуть через правило заворота ... вариантов может быть не один ... :)

если не прав, поправьте ....


"Роутинг сетей"
Отправлено Vladimir , 20-Дек-06 01:23 
>>понял, что всё только через iproute2 не как по другому, а как
>>обстоит дела с этим в freebsd? Никто не знает?
>
>на фре пишется маршрут ... из какой сети ВСЁ посылать через какой
>шлюз ... но проблема "для каких сетей" ......
>если это путь в инет - то это "для любого адреса назначения"
>... т.е. маршрут по дефолту ... через дефолтовый шлюз прописанный на
>этой фре ...
>можно форвардить пакеты в ipfw
>
>правило что-то типа:
>add fwd 10.10.10.1 all from 192.168.80.0/24 to any in via tun1
>по этому правилу все пакеты от указанной сети (192.168.80.0/24) приходяшие по указанному
>интерфейсу (tun1) и предназначенные для любых адресов (any) будут завёрнуты на
>указанный адрес (10.10.10.1)
>можно ещё сделать так:
>add fwd 10.10.10.1 all from 192.168.80.0/24 to not 192.168.10.0/24 in via tun1
>
>или то что не надо заворачивать перекинуть через правило заворота ... вариантов
>может быть не один ... :)
>
>если не прав, поправьте ....

Огромное спасибо, вот везет же :) FreeBSD всегда лучше :) А вот мне линуху дают, надо переводить на фрю всё....


"Роутинг сетей"
Отправлено ppp , 20-Дек-06 14:21 
мда ниасилил роутинг в linux,а уже хаит всю систему, не кошерно получается

"Роутинг сетей"
Отправлено Vladimir , 26-Дек-06 04:28 
>мда ниасилил роутинг в linux,а уже хаит всю систему, не кошерно получается
>

ну во первых, не работают таблицы и для них роутинг нормально в линуксе, банальный пример, настроил работает, после ребута не работает, запускаю скрипт, который занова добаляет в таблицы записи, и делает роутинг, и что ты думаешь? неработает... хотя всё так же как и до ребута... теже правила и теже команды...

просто всё изначально делал в фри всегда, вот привезли сервер, на нём RH сертифицированный, менять нельзя(начальник сказал), вот и ломаем голову, как бы это сделать, думаю после праздников, что нибудь придумаем...


"Роутинг сетей"
Отправлено Vladimir , 29-Дек-06 02:36 
вот поправьте, что не так... уже неделю разобраться немогу...

[root@server openvpn]# ip rule list
0:      from all lookup local
32761:  from 192.168.84.0/24 lookup double_vpn
32762:  from 192.168.80.0/24 lookup double_vpn
32763:  from 192.168.43.0/24 lookup double_vpn
32764:  from 192.168.34.0/24 lookup double_vpn
32765:  from 10.10.10.0/24 lookup double_vpn
32766:  from all lookup main
32767:  from all lookup default


[root@server openvpn]# ip route list table local
local 192.168.34.1 dev tun3  proto kernel  scope host  src 192.168.34.1
broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1
local 85.17.45.41 dev eth0  proto kernel  scope host  src 85.17.45.22
broadcast 85.17.45.255 dev eth0  proto kernel  scope link  src 85.17.45.22
local 192.168.200.2 dev tun4  proto kernel  scope host  src 192.168.200.2
local 192.168.43.1 dev tun0  proto kernel  scope host  src 192.168.43.1
local 192.168.80.1 dev tun2  proto kernel  scope host  src 192.168.80.1
local 192.168.84.1 dev tun1  proto kernel  scope host  src 192.168.84.1
local 85.17.45.22 dev eth0  proto kernel  scope host  src 85.17.45.22
broadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1
local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1
local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1

[root@server openvpn]# ip route list table main
192.168.34.2 dev tun3  proto kernel  scope link  src 192.168.34.1
85.17.45.41 dev eth0  scope link  src 85.17.45.41
192.168.43.2 dev tun0  proto kernel  scope link  src 192.168.43.1
192.168.200.1 dev tun4  proto kernel  scope link  src 192.168.200.2
85.17.45.22 dev eth0  scope link
192.168.84.2 dev tun1  proto kernel  scope link  src 192.168.84.1
192.168.80.2 dev tun2  proto kernel  scope link  src 192.168.80.1
192.168.84.0/24 via 192.168.84.2 dev tun1
192.168.34.0/24 via 192.168.34.2 dev tun3
192.168.80.0/24 via 192.168.80.2 dev tun2
192.168.200.0/24 via 192.168.84.2 dev tun1
192.168.43.0/24 via 192.168.43.2 dev tun0
85.17.45.0/24 dev eth0  proto kernel  scope link  src 85.17.45.22
169.254.0.0/16 dev eth0  scope link
default via 85.17.45.254 dev eth0

[root@server openvpn]# ip rule ls
0:      from all lookup local
32761:  from 192.168.84.0/24 lookup double_vpn
32762:  from 192.168.80.0/24 lookup double_vpn
32763:  from 192.168.43.0/24 lookup double_vpn
32764:  from 192.168.34.0/24 lookup double_vpn
32765:  from 10.10.10.0/24 lookup double_vpn
32766:  from all lookup main
32767:  from all lookup default

[root@server openvpn]# ip route list table double_vpn
default via 192.168.200.2 dev tun4

вот почему не идут пакеты в tun4 от tun0/1/2/3. От этого и неработает схема реализации. вот если в iptables делаешь маскарадинг адресов, то тогда уже начинает пропускать их до 192.168.200.1(обратная сторона туннеля, через который нужно пропускать трафик), но на той стороне уже тогда незнаю что маскарадить, там прописаны все сетки, которые у меня задействованы для маскарадинга... но не работает....

помогите плиз...


"Роутинг сетей"
Отправлено sn , 29-Дек-06 08:43 
>вот поправьте, что не так... уже неделю разобраться немогу...
>
>[root@server openvpn]# ip rule list
>0:      from all lookup local
>32761:  from 192.168.84.0/24 lookup double_vpn
>32762:  from 192.168.80.0/24 lookup double_vpn
>32763:  from 192.168.43.0/24 lookup double_vpn
>32764:  from 192.168.34.0/24 lookup double_vpn
>32765:  from 10.10.10.0/24 lookup double_vpn
>32766:  from all lookup main
>32767:  from all lookup default
>
>
>[root@server openvpn]# ip route list table local
>local 192.168.34.1 dev tun3  proto kernel  scope host  src
>192.168.34.1
>broadcast 127.255.255.255 dev lo  proto kernel  scope link  src
>127.0.0.1
>local 85.17.45.41 dev eth0  proto kernel  scope host  src
>85.17.45.22
>broadcast 85.17.45.255 dev eth0  proto kernel  scope link  src
>85.17.45.22
>local 192.168.200.2 dev tun4  proto kernel  scope host  src
>192.168.200.2
>local 192.168.43.1 dev tun0  proto kernel  scope host  src
>192.168.43.1
>local 192.168.80.1 dev tun2  proto kernel  scope host  src
>192.168.80.1
>local 192.168.84.1 dev tun1  proto kernel  scope host  src
>192.168.84.1
>local 85.17.45.22 dev eth0  proto kernel  scope host  src
>85.17.45.22
>broadcast 127.0.0.0 dev lo  proto kernel  scope link  src
>127.0.0.1
>local 127.0.0.1 dev lo  proto kernel  scope host  src
>127.0.0.1
>local 127.0.0.0/8 dev lo  proto kernel  scope host  src
>127.0.0.1
>
>[root@server openvpn]# ip route list table main
>192.168.34.2 dev tun3  proto kernel  scope link  src 192.168.34.1
>
>85.17.45.41 dev eth0  scope link  src 85.17.45.41
>192.168.43.2 dev tun0  proto kernel  scope link  src 192.168.43.1
>
>192.168.200.1 dev tun4  proto kernel  scope link  src 192.168.200.2
>
>85.17.45.22 dev eth0  scope link
>192.168.84.2 dev tun1  proto kernel  scope link  src 192.168.84.1
>
>192.168.80.2 dev tun2  proto kernel  scope link  src 192.168.80.1
>
>192.168.84.0/24 via 192.168.84.2 dev tun1
>192.168.34.0/24 via 192.168.34.2 dev tun3
>192.168.80.0/24 via 192.168.80.2 dev tun2
>192.168.200.0/24 via 192.168.84.2 dev tun1
>192.168.43.0/24 via 192.168.43.2 dev tun0
>85.17.45.0/24 dev eth0  proto kernel  scope link  src 85.17.45.22
>
>169.254.0.0/16 dev eth0  scope link
>default via 85.17.45.254 dev eth0
>
>[root@server openvpn]# ip rule ls
>0:      from all lookup local
>32761:  from 192.168.84.0/24 lookup double_vpn
>32762:  from 192.168.80.0/24 lookup double_vpn
>32763:  from 192.168.43.0/24 lookup double_vpn
>32764:  from 192.168.34.0/24 lookup double_vpn
>32765:  from 10.10.10.0/24 lookup double_vpn
>32766:  from all lookup main
>32767:  from all lookup default
>
>[root@server openvpn]# ip route list table double_vpn
>default via 192.168.200.2 dev tun4
>
>вот почему не идут пакеты в tun4 от tun0/1/2/3. От этого и
>неработает схема реализации. вот если в iptables делаешь маскарадинг адресов, то
>тогда уже начинает пропускать их до 192.168.200.1(обратная сторона туннеля, через который
>нужно пропускать трафик), но на той стороне уже тогда незнаю что
>маскарадить, там прописаны все сетки, которые у меня задействованы для маскарадинга...
>но не работает....
>
>помогите плиз...


tcpdump -i tun4 и посмотри уходят от тебя пакеты и возвращаются ли ответы.