The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Маршрут через tun0 (openvpn)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"Маршрут через tun0 (openvpn)"  +/
Сообщение от stakado email(ok) on 24-Дек-13, 09:58 
Здравствуйте! С утра выхватил лёгкий тупнячок и что-то никак не могу найти решение.
Есть сервер с openvpn (openvpn ip 10.0.2.1), к нему подключен удаленный клиент - роутер c openwrt (по openvpn получает ip 10.0.2.78). На втором интерфейсе на роутере настроен ип 10.100.100.1 и к нему подключена сеть 10.100.100.0/24.
Необходимо маршрутизировать траффик к сети 10.100.100.0/24 через 10.0.2.78 и интерфейс tun0.
Пробую сделать следующее и получаю ошибку:
[root@gtw new_router]# route add -net 10.100.100.0 netmask 255.255.255.0 gw 10.0.2.78
SIOCADDRT: No such process
[root@gtw new_router]# route add -net 10.100.100.0 netmask 255.255.255.0 gw 10.0.2.78 dev tun0
SIOCADDRT: No such process

Что я делаю не так? Каким образом добавить маршрут к сети 10.100.100.0?
До кучи выкладываю действующую таблицу маршрутизации:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.2.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
85.ХХ.255.ХХ    0.0.0.0         255.255.255.252 U     0      0        0 eth2
10.20.0.0       10.0.1.10       255.255.255.0   UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     5      0        0 eth0
10.0.1.0        0.0.0.0         255.255.255.0   U     5      0        0 eth0
10.0.2.0        10.0.2.2        255.255.255.0   UG    0      0        0 tun0
10.0.3.0        0.0.0.0         255.255.255.0   U     5      0        0 eth1
10.0.10.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     5      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     5      0        0 eth1
0.0.0.0         85.ХХ.255.ХХ    0.0.0.0         UG    0      0        0 eth2

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Маршрут через tun0 (openvpn)"  +/
Сообщение от stakado email(ok) on 24-Дек-13, 10:43 
Решил описать полностью задачу, которую пытаюсь реализовать, может где в другом месте ошибаюсь.
Есть сервер gtw с openvpn, интерфейс tun0, сеть openvpn 10.0.2.0/24, клиентам выдаются ip-адреса 10.0.2.4/30, 10.0.2.8/30, ...
Так же к этому серверу напрямую подключена сеть 10.0.0.0/24, ip сервера 10.0.0.1, интерфейс eth0. Есть в этой сети клиент Admin - 10.0.0.2, дефолтным шлюзом у него указан 10.0.0.1.
Так же к серверу через openvpn подключается клиент openwrt и получает ip 10.0.2.78, интерфейс tun0. У openwrt есть второй интерфейс br-lan (ip 10.100.100.1), к нему подключена сеть 10.100.100.0/24. В этой сети есть клиент AP 10.100.100.2, дефолтным шлюзом у клиента указан 10.100.100.1.
Задача - пробросить траффик от клиента Admin (10.0.0.2) к клиенту AP (10.100.100.2).

На сервере gtw включен маскарад из 10.0.0.0/24 в 10.0.2.0/24. При запуске пинга с клиента Admin на сервер OpenWRT пакеты доходят, в tcpdump на openwrt видно:
06:46:42.154522 IP 10.0.2.1 > 10.0.2.78: ICMP echo request, id 512, seq 56429, length 40
06:46:42.154703 IP 10.0.2.78 > 10.0.2.1: ICMP echo reply, id 512, seq 56429, length 40
т.е. маскарад тут работает.

Схема получается такая:
Admin (10.0.0.2) -> (10.0.0.1, eth0) gtw (tun0, 10.0.2.1) -> (10.0.2.78, tun0) openwrt (br-lan, 10.100.100.1) -> (10.100.100.2) AP.

Каким образом её реализовать?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Маршрут через tun0 (openvpn)"  +/
Сообщение от reader (ok) on 24-Дек-13, 13:37 
>[оверквотинг удален]
>   5      0  
>      0 eth0
> 10.0.1.0        0.0.0.0    
>      255.255.255.0   U  
>   5      0  
>      0 eth0
> 10.0.2.0        10.0.2.2    
>     255.255.255.0   UG    
> 0      0    
>    0 tun0

10.0.2.78 не в вашей подсети, поэтому ошибка, а пакеты до него идут по этому маршруту

>[оверквотинг удален]
>  5      0    
>     0 eth0
> 169.254.0.0     0.0.0.0      
>   255.255.0.0     U    
>  5      0    
>     0 eth1
> 0.0.0.0         85.ХХ.255.ХХ  
>  0.0.0.0         UG
>    0      0  
>       0 eth2

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Маршрут через tun0 (openvpn)"  –1 +/
Сообщение от Дум Дум on 24-Дек-13, 14:47 
> 10.0.2.78 не в вашей подсети, поэтому ошибка, а пакеты до него идут
> по этому маршруту

Да. Нет маршрута до 10.20.2.78.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Маршрут через tun0 (openvpn)"  +/
Сообщение от stakado email(ok) on 08-Янв-14, 08:50 
>> 10.0.2.78 не в вашей подсети, поэтому ошибка, а пакеты до него идут
>> по этому маршруту
> Да. Нет маршрута до 10.20.2.78.

Вернулись с Нового года - продолжаем.
10.0.2.78 находится в подсети 10.0.2.0/24, маршрут к этой сети указан:
10.0.2.0        10.0.2.2        255.255.255.0   ... tun0

Но маршрут указан к сети 10.0.2.0/24, а не непосредственно к хосту 10.0.2.78. По указанным выше рекомендациям добавил маршрут к 10.0.2.78:
10.0.2.78       10.0.2.2        255.255.255.255 ... tun0
Пинги к 10.0.2.78 через интерфейс tun0 по-прежнему идут.
Далее пытаюсь добавить маршрут к сети 10.100.100.0/24 через 10.0.2.78 и вижу снова же No such process:
[root@gtw new_router]# route add -net 10.100.100.0 netmask 255.255.255.0 gw 10.0.2.78 dev tun0
SIOCADDRT: No such process

На всякий случай привожу измененную таблицу маршрутизации:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.2.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.0.2.78       10.0.2.2        255.255.255.255 UGH   0      0        0 tun0
85.ХХ.255.ХХ    0.0.0.0         255.255.255.252 U     0      0        0 eth2
10.20.0.0       10.0.1.10       255.255.255.0   UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     5      0        0 eth0
10.0.1.0        0.0.0.0         255.255.255.0   U     5      0        0 eth0
10.0.2.0        10.0.2.2        255.255.255.0   UG    0      0        0 tun0
10.0.3.0        0.0.0.0         255.255.255.0   U     5      0        0 eth1
10.0.10.0       0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     5      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     5      0        0 eth1
0.0.0.0         85.ХХ.255.ХХ    0.0.0.0         UG    0      0        0 eth2

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Маршрут через tun0 (openvpn)"  +/
Сообщение от PavelR (ok) on 08-Янв-14, 20:57 
1) Изучите, что такое iroute в OpenVPN.
2) Маршрутизируйте  удаленную подсеть на 10.0.2.2 (на OpenVPN), а не на 10.0.2.78. дальше оно замаршрутизируется по настроенному iroute. возможно что можно просто указать так:
ip ro add 10.100.100.0/24 via tun0
3) в случае использования tap такой ситуации не возникло бы.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру