Здравствуйте уважаемые форумчане, у меня возникла такая проблема, немогу настроить никак роутинг.вот схема построение:
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.
Очень нужно, помогите...
>Здравствуйте уважаемые форумчане, у меня возникла такая проблема, немогу настроить никак роутинг.
>
>
>вот схема построение:
>
>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
>>Здравствуйте уважаемые форумчане, у меня возникла такая проблема, немогу настроить никак роутинг.
>>
>>
>>вот схема построение:
>>
>>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
>>route add -net 192.168.80.0 netmask 255.255.255.0 gw 10.10.10.1
>
>Это бред. Это надо делать на машине на которой нат. А накаюсь, ступил. это для dst
>>>Здравствуйте уважаемые форумчане, у меня возникла такая проблема, немогу настроить никак роутинг.
>>>
>>>
>>>вот схема построение:
>>>
>>>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 пробросить! и всё!!! а там уже всё будет работать, только как это сделать.
понял, что всё только через iproute2 не как по другому, а как обстоит дела с этим в freebsd? Никто не знает?
>понял, что всё только через 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
или то что не надо заворачивать перекинуть через правило заворота ... вариантов может быть не один ... :)если не прав, поправьте ....
>>понял, что всё только через 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 всегда лучше :) А вот мне линуху дают, надо переводить на фрю всё....
мда ниасилил роутинг в linux,а уже хаит всю систему, не кошерно получается
>мда ниасилил роутинг в linux,а уже хаит всю систему, не кошерно получается
>ну во первых, не работают таблицы и для них роутинг нормально в линуксе, банальный пример, настроил работает, после ребута не работает, запускаю скрипт, который занова добаляет в таблицы записи, и делает роутинг, и что ты думаешь? неработает... хотя всё так же как и до ребута... теже правила и теже команды...
просто всё изначально делал в фри всегда, вот привезли сервер, на нём RH сертифицированный, менять нельзя(начальник сказал), вот и ломаем голову, как бы это сделать, думаю после праздников, что нибудь придумаем...
вот поправьте, что не так... уже неделю разобраться немогу...[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(обратная сторона туннеля, через который нужно пропускать трафик), но на той стороне уже тогда незнаю что маскарадить, там прописаны все сетки, которые у меня задействованы для маскарадинга... но не работает....
помогите плиз...
>вот поправьте, что не так... уже неделю разобраться немогу...
>
>[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 и посмотри уходят от тебя пакеты и возвращаются ли ответы.