The OpenNET Project / Index page

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

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

"OpenVPN и маршрутизация"  +/
Сообщение от serjsk8 (ok) on 20-Ноя-09, 15:46 
Добрый день!
У меня возникла следующая проблема...
На Debian установлен OpenVPN, всё работает нормально и всё идёт через default gateway! Но мне бы хотелось сохранить прежний gateway и пустить весть VPN трафик на другой маршрутизатор.

tun0 inet addr:192.168.13.1 P-t-P:192.168.13.2 Mask:255.255.255.255
eth0 inet addr:192.168.1.12 Bcast:192.168.1.255 Mask:255.255.255.0

Kernel IP routing table
Destination   Gateway   Genmask   Flags Metric Ref Use Iface
192.168.13.2   *             255.255.255.255  UH   0  0  0  tun0
192.168.20.0  192.168.13.2   255.255.255.0   UG 0  0  0     tun0
192.168.3.0   192.168.13.2   255.255.255.0   UG 0 0 0       tun0
localnet       *             255.255.255.0   U   0 0   0    eth0
192.168.13.0  192.168.13.2   255.255.255.0   UG 0 0 0       tun0
default       192.168.1.1    0.0.0.0   UG 0 0 0             eth0


Сети 192.168.20.0 и 192.168.3.0 - это подсети клиентов.

Тоесть мой старый маршрутизатор 192.168.1.1 но теперь в сети появился новый 192.168.1.69 и мне бы хотелось весть VPN трафик пустить через х.х.1.69 но при этом сохранить мой default gateway х.х.1.1
Возможно ли вообще такое?
Заранее благодарю за помощь!!

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

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


1. "OpenVPN и маршрутизация"  +/
Сообщение от ALex_hha (ok) on 20-Ноя-09, 16:05 
Конфиг Vpn покажи на обоих сторонах
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "OpenVPN и маршрутизация"  +/
Сообщение от serjsk8 (ok) on 20-Ноя-09, 16:27 
>Конфиг Vpn покажи на обоих сторонах

# Sample OpenVPN 2.0 config file for            
# multi-client server.                          
port 194
proto udp

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key  # This file should be kept secret
crl-verify /etc/openvpn/easy-rsa/keys/crl.pem
dh /etc/openvpn/easy-rsa/keys/dh1024.pem

server 192.168.13.0 255.255.255.0
ifconfig-pool-persist ipp.txt

push "route 192.168.1.0 255.255.255.0"
push "route 192.168.20.0 255.255.255.0"
push "route 192.168.3.0 255.255.255.0"

route 192.168.3.0 255.255.255.0 #LAN Miguelturra Spain
route 192.168.20.0 255.255.255.0 #LAN Suwanee USA

push "dhcp-option DNS 192.168.1.10"
push "dhcp-option DNS 192.168.1.11"
push "dhcp-option WINS 192.168.1.10"

client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "OpenVPN и маршрутизация"  +/
Сообщение от ALex_hha (ok) on 20-Ноя-09, 19:24 
Я же попросил на обоих сторонах!!!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "OpenVPN и маршрутизация"  +/
Сообщение от serjsk8 (ok) on 23-Ноя-09, 16:06 
>Я же попросил на обоих сторонах!!!

Да да извини... вот конфиг клиента...
На работе закрутился и забыл выложить...

##############################################
# Sample client-side OpenVPN 2.0 config file #

client
dev tun
proto udp
remote 8х.ххх.хх.хх 194
resolv-retry infinite
nobind
user nobody
group nobody
persist-key
persist-tun
ca "C:\\Program Files\\OpenVPN\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\keys\\DPVPNclientulabjfr_test.crt"
key "C:\\Program Files\\OpenVPN\\keys\\DPVPNclientulabjfr_test.key"
ns-cert-type server
comp-lzo
verb 3

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "OpenVPN и маршрутизация"  +/
Сообщение от reader (ok) on 21-Ноя-09, 12:11 
это сервер и он за этими шлюзами?
на 192.168.1.1 что то делалось для работы vpn? если да, то и на 192.168.1.69 делай это.
прописывай маршрут к ip_клиента через 192.168.1.69.
к 192.168.1.1 и к 192.168.1.69 клиент подключается через разные IP, если да , то и у клиента изменить адрес сервера.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "OpenVPN и маршрутизация"  +/
Сообщение от serjsk8 (ok) on 23-Ноя-09, 16:33 
>это сервер и он за этими шлюзами?
>на 192.168.1.1 что то делалось для работы vpn? если да, то и
>на 192.168.1.69 делай это.
>прописывай маршрут к ip_клиента через 192.168.1.69.
>к 192.168.1.1 и к 192.168.1.69 клиент подключается через разные IP, если да
>, то и у клиента изменить адрес сервера.

Да, ВПН сервер находиться за маршрутизатором 192.168.1.1 и он служит как default gateway для сервера впн. Маршрутизатор это железо GTA GB-250 на нём ничего не делалось для работы ВПН. Теперь в сети появился другой маршрутизатор 192.168.1.69 тоже железо.
Для всех пользователей сети ВПН это как default gateway и потом весь трафик выходит через х.х.1.1
И мне бы хотелось разделить трафик, пустить трафик ВПН через х.х.1.1 а "интернет" трафик через х.х.1.69

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "OpenVPN и маршрутизация"  +/
Сообщение от ALex_hha (ok) on 23-Ноя-09, 18:31 
Набросай схему, так будет легче
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "OpenVPN и маршрутизация"  +/
Сообщение от Slavaz (ok) on 24-Ноя-09, 03:34 
>>Конфиг Vpn покажи на обоих сторонах
># Sample OpenVPN 2.0 config file for            
># multi-client server.                          
>port 194
>proto udp
>Тоесть мой старый маршрутизатор 192.168.1.1 но теперь в сети появился новый 192.168.1.69
>и мне бы хотелось весть VPN трафик пустить через х.х.1.69 но
>при этом сохранить мой default gateway х.х.1.1
>Возможно ли вообще такое?

iptables -t nat -A OUTPUT -o eth0 -p udp --dport  194 -j DNAT --to-destination=192.168.1.69

>Заранее благодарю за помощь!!

Не за что. Если что: абсолютно точный ответ на поставленную задачу.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "OpenVPN и маршрутизация"  +/
Сообщение от serjsk8 (ok) on 24-Ноя-09, 12:50 
>[оверквотинг удален]
>>и мне бы хотелось весть VPN трафик пустить через х.х.1.69 но
>>при этом сохранить мой default gateway х.х.1.1
>>Возможно ли вообще такое?
>
>iptables -t nat -A OUTPUT -o eth0 -p udp --dport  194
>-j DNAT --to-destination=192.168.1.69
>
>>Заранее благодарю за помощь!!
>
>Не за что. Если что: абсолютно точный ответ на поставленную задачу.

Спасибо большое за помощь!
Сейчас попробую...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "OpenVPN и маршрутизация"  +/
Сообщение от serjsk8 (ok) on 24-Ноя-09, 16:32 
>[оверквотинг удален]
>>
>>iptables -t nat -A OUTPUT -o eth0 -p udp --dport  194
>>-j DNAT --to-destination=192.168.1.69
>>
>>>Заранее благодарю за помощь!!
>>
>>Не за что. Если что: абсолютно точный ответ на поставленную задачу.
>
>Спасибо большое за помощь!
>Сейчас попробую...

Нет к сожелению я не достиг результата... может я не так что то сделал.
Опишу еще раз свою задачу...
Так же нарисовал простенькую схему для наглядности:
http://cs4330.vkontakte.ru/u2511181/29008972/x_4f01528e.jpg

Мне бы хотелось разделить ВПН и "Интернет" трафик.

Как работает сейчас:
1. На машине с IP 192.168.1.12 установлен OpenVPN и SQUID
2. Она служит как Default gateway для всех клиентов сети
3. Сама же использует как gateway маршрутизатор+фаервол 192.168.1.1
4. Всё проходит через "ROUTER 1"

Так как в сети появился ещё один маршрутизатор+фаервол 192.168.1.69 "ROUTER 69" мне бы хотелось:
1. Разделить трафик ВПН и "интернет"
2. Оставить для всех пользователей сети прежний Default gateway 192.168.1.12

Может быть будет легче оставить ВПН без изменений и не трогать gateway 192.168.1.1 "ROUTER 1" а перенаправлять "Интернет тафик" на маршрутизатор 192.168.1.69 "ROUTER 69"
Такое решение мне очень подходит!

У меня устанвлен SQUID как прозрачный прокси (и я перенаправляю всё на порт 3128) и моя таблица iptables следующая:
# Generated by iptables-save v1.3.6 on Tue Nov 24 13:59:42 2009
*nat
:PREROUTING ACCEPT [7081:727356]
:POSTROUTING ACCEPT [5736:439580]
:OUTPUT ACCEPT [55:3396]
-A PREROUTING -d 192.168.1.0/255.255.255.0 -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
COMMIT
# Completed on Tue Nov 24 13:59:42 2009
# Generated by iptables-save v1.3.6 on Tue Nov 24 13:59:42 2009
*filter
:INPUT ACCEPT [3813682:3710456038]
:FORWARD ACCEPT [3253116:1389808482]
:OUTPUT ACCEPT [3334068:1121937915]
-A INPUT -i tun+ -j ACCEPT
-A INPUT -i tap+ -j ACCEPT
-A FORWARD -i tun+ -j ACCEPT
-A FORWARD -i tap+ -j ACCEPT
COMMIT
# Completed on Tue Nov 24 13:59:42 2009

Так как я нахожусь за "железным" фаерволом то в IPtables нет никаких правил.
К сожелению с IPtables я знаком очень плохо, могли бы вы дать мне пару советов или идей...
Пробывал сделать как мне советовали раньше, но для порта 80
iptables -t nat -A OUTPUT -o eth0 -p tcp --dport 80 -j DNAT --to-destination=192.168.1.69
Не получилось, прокси стал просить авторизацию...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "OpenVPN и маршрутизация"  +/
Сообщение от ALex_hha (ok) on 24-Ноя-09, 17:15 
А у openvpn клиента, который подключается к 1.12 в качестве шлюза указан 1.69?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "OpenVPN и маршрутизация"  +/
Сообщение от serjsk8 (ok) on 24-Ноя-09, 18:41 
>А у openvpn клиента, который подключается к 1.12 в качестве шлюза указан
>1.69?

Вот таблица маршрутизации клиента
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.13.5    *               255.255.255.255 UH    0      0        0 tun0
192.168.20.0    192.168.13.5    255.255.255.0   UG    0      0        0 tun0
192.168.3.0     *               255.255.255.0   U     0      0        0 eth0
192.168.1.0     192.168.13.5    255.255.255.0   UG    0      0        0 tun0
192.168.13.0    192.168.13.5    255.255.255.0   UG    0      0        0 tun0
link-local      *               255.255.0.0     U     1000   0        0 eth0
default         192.168.3.1     0.0.0.0         UG    0      0        0 eth0

Клиент находится в другом городе в подсети 192.168.3.0/24
И там все точно так же...
Дебиан с ВПН-клиентом служит для пользователей сети как "default gateway"
Сам же находится за маршрутизатором-фаерволом 192.168.3.1

##############################################
# Sample client-side OpenVPN 2.0 config file #
client
dev tun
proto udp
remote 8х.ххх.ххх.42 194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/DPVPNclientMiguelturra.crt
key /etc/openvpn/keys/DPVPNclientMiguelturra.key
comp-lzo
verb 3

Да и забыл сказать, что на "железных" маршрутизаторах-фаерволах сделано правило в NAT -> Inbound Tunnels. Перенаправлять все запросы UDP пришедшие на порт 194 на ВПН-сервер 192.168.1.12 Так ВПН-клиент и ВПН-сервер конектятся

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "OpenVPN и маршрутизация"  +/
Сообщение от ALex_hha (ok) on 24-Ноя-09, 20:18 
Какой внешний ip у клиента?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "OpenVPN и маршрутизация"  +/
Сообщение от reader (ok) on 24-Ноя-09, 20:57 
у клиента внешний IP ( я так понимаю он все таки есть ) постоянный?

на 192.168.1.12-машине прописать маршрут к ip-клиента через 192.168.1.1,
а по умолчанию 192.168.1.69

route add -host ip-клиента gw 192.168.1.1

заставить squid ходить не через шлюз по умолчанию по моему будет сложней.

если у клиента ip не постоянный это не приятней, но если у железяки на интерфейсе 192.168.1.1 можно сделать SNAT, то работать тоже будет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "OpenVPN и маршрутизация"  +/
Сообщение от serjsk8 (ok) on 25-Ноя-09, 11:43 
>[оверквотинг удален]
>а по умолчанию 192.168.1.69
>
>route add -host ip-клиента gw 192.168.1.1
>
>заставить squid ходить не через шлюз по умолчанию по моему будет сложней.
>
>
>если у клиента ip не постоянный это не приятней, но если у
>железяки на интерфейсе 192.168.1.1 можно сделать SNAT, то работать тоже будет.
>

Да у клиента есть внешний IP но он к сожелению динамический, я уже думал об этом чтобы прописать его в таблице маршрутизациию. И у железяки нет поддержки SNAT, только NAT

Читал вчера ОпенНет и нашёл статьи про IProte и маркировку пакетов по типу трафика через iptables. Тоесть сначала моркировать весть трафик который идёт через порты 80,20,21, а потом через IProute создать правило что бы отмеченные пакеты шли на другой gateway... Вот только меня смущает SQUID... Но надо попробывать!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "OpenVPN и маршрутизация"  +/
Сообщение от ALex_hha (ok) on 25-Ноя-09, 11:49 
>Читал вчера ОпенНет и нашёл статьи про IProte и маркировку пакетов по
>типу трафика через iptables. Тоесть сначала моркировать весть трафик который идёт
>через порты 80,20,21, а потом через IProute создать правило что бы
>отмеченные пакеты шли на другой gateway... Вот только меня смущает SQUID...
>Но надо попробывать!

а в чем проблема со squid?


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "OpenVPN и маршрутизация"  +/
Сообщение от serjsk8 (ok) on 25-Ноя-09, 12:03 
>>Читал вчера ОпенНет и нашёл статьи про IProte и маркировку пакетов по
>>типу трафика через iptables. Тоесть сначала моркировать весть трафик который идёт
>>через порты 80,20,21, а потом через IProute создать правило что бы
>>отмеченные пакеты шли на другой gateway... Вот только меня смущает SQUID...
>>Но надо попробывать!
>
>а в чем проблема со squid?

Мммм... да так то ни вчём ))... Надо просто попробывать!
Но если есть другие предложения/советы я их внимательно выслушаю!!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "OpenVPN и маршрутизация"  +/
Сообщение от ALex_hha (ok) on 25-Ноя-09, 12:42 
>>>Читал вчера ОпенНет и нашёл статьи про IProte и маркировку пакетов по
>>>типу трафика через iptables. Тоесть сначала моркировать весть трафик который идёт
>>>через порты 80,20,21, а потом через IProute создать правило что бы
>>>отмеченные пакеты шли на другой gateway... Вот только меня смущает SQUID...
>>>Но надо попробывать!
>>
>>а в чем проблема со squid?
>
>Мммм... да так то ни вчём ))... Надо просто попробывать!
>Но если есть другие предложения/советы я их внимательно выслушаю!!

Как я могу дать совет, если не знаю в чем проблема? :)

Перефразирую по другому - Что нужно получить от squid?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "OpenVPN и маршрутизация"  +/
Сообщение от serjsk8 (ok) on 25-Ноя-09, 13:36 
>[оверквотинг удален]
>>>
>>>а в чем проблема со squid?
>>
>>Мммм... да так то ни вчём ))... Надо просто попробывать!
>>Но если есть другие предложения/советы я их внимательно выслушаю!!
>
>Как я могу дать совет, если не знаю в чем проблема? :)
>
>
>Перефразирую по другому - Что нужно получить от squid?

Понимаю...
Моя проблема всё таже, разделить трафик ВПН и "Интернет".
Отпишусь позже когда попробую с iptables и iproute

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "OpenVPN и маршрутизация"  +/
Сообщение от serjsk8 (ok) on 27-Ноя-09, 18:37 
>[оверквотинг удален]
>>>Но если есть другие предложения/советы я их внимательно выслушаю!!
>>
>>Как я могу дать совет, если не знаю в чем проблема? :)
>>
>>
>>Перефразирую по другому - Что нужно получить от squid?
>
>Понимаю...
>Моя проблема всё таже, разделить трафик ВПН и "Интернет".
>Отпишусь позже когда попробую с iptables и iproute

Ну вот всё !!!
Расскажу что сделал, может поможет комунибудь.
Установил iproute, iptables был уже установлен.
В iptables создал правило следующего вида:
Маркируем всё пакеты которые идут на порты 80,20,21
-A PREROUTING -s 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 80 -j MARK --set-mark 0x1
-A PREROUTING -s 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 20:21 -j MARK --set-mark 0x1
Тоже самое делаем для пакетов прошедших через SQUID
-A OUTPUT -p tcp -m tcp --dport 80 -j MARK --set-mark 0x1

Теперь когда всё промаркировано надо это отправить на другой gateway!
Для этого на помощь пришёл ipruote.
Создадим в /etc/iprute2/rt_trable новую таблицу, например с именем gw_69
# echo 200 gw_69 >> /etc/iprute2/rt_trable
Теперь заполним таблицу:
# ip rule add fwmark 1 table gw_69
# ip route add default via 192.168.1.69 dev eth0 table gw_69

Вот теперь трафик направленный на порты 80,20,21 пойдет на маршрутизатор 1.69, а всё остальное в том числе и ВПН будет идти через default gateway 1.10

Вроде всё!

Большое спасибо ALex_hha и Slavaz за помощь и уделённое время!!!!!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема




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

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