|
OpenVPN проброс моста или видимость сети за сервером. | ☑ | ||
---|---|---|---|---|
0
Event_Now
10.05.18
✎
09:41
|
Здравствуйте знатоки.
Разбираюсь тут с OpenVPN и возникла проблема с доступом в локальную сеть за сервером с установленным OpenVPN. Судя по мануалам и той информации, что нашёл в интернете, для меня больше всего подходит подключение типа мост (bridge). Итак, имеется сервер Windows server 2012 R2, две локальных сети размещённых в разных городах. Подсеть офиса №1 имеет адресацию 192.168.94.х Подсеть офиса №2 имеет адресацию 192.168.115.х Задача, настроить мост между офисами. Настройки фаерволов и проброс портов, корректны. Классическое соединение с DHCP, через подсеть 10.10.10.x работает без проблем, пакеты и ping до сервера проходят, но сеть за сервером OpenVPN не видна. Если кто уже настраивал подобную схему, прошу откликнуться. |
|||
1
Event_Now
10.05.18
✎
09:58
|
Вот как я пробую на данный момент.
Конфиг сервера: proto tcp4-server port 30000 dev tap dev-node oVPN tls-server tls-auth "C:\\OpenVPN\\easy-rsa\\keys\\ta.key" 0 tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ca "C:\\OpenVPN\\easy-rsa\\keys\\ca.crt" cert "C:\\OpenVPN\\easy-rsa\\keys\\SrvVPN.crt" key "C:\\OpenVPN\\easy-rsa\\keys\\SrvVPN.key" dh "C:\\OpenVPN\\easy-rsa\\keys\\dh4096.pem" server-bridge 192.168.94.199 255.255.255.0 192.168.94.200 192.168.94.210 client-to-client keepalive 10 120 cipher AES-128-CBC comp-lzo persist-key persist-tun client-config-dir "C:\\OpenVPN\\config" verb 3 route-delay 5 route-method exe |
|||
2
Event_Now
10.05.18
✎
10:03
|
Ну и конфиг клиента:
remote [тут адрес сервера] client port 30000 proto tcp4-client dev tap tls-client tls-auth "C:\\Program Files\\OpenVPN\\config\\ta.key" 1 remote-cert-tls server tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ca "C:\\Program Files\\OpenVPN\\config\\ca.crt" cert "C:\\Program Files\\OpenVPN\\config\\ClientVPN.crt" key "C:\\Program Files\\OpenVPN\\config\\ClientVPN.key" cipher AES-128-CBC comp-lzo persist-key persist-tun verb 3 mute 20 |
|||
3
Event_Now
10.05.18
✎
10:08
|
А теперь суть проблемы.
Соединение устанавливается, сервер с OpenVPN пингуется, доступ есть. А вот к серверам с другими адресами, как и к любой рабочей станции и/или сетевым устройствам, доступа нет. Знает кто, как это победить? Ну или выскажите собственные мысли по этому поводу. |
|||
4
eRik
10.05.18
✎
10:15
|
А маршрутизацию кто настраивать будет, Пушкин?
|
|||
5
Exec
10.05.18
✎
10:16
|
(0) У меня без моста реализовано.
Мой конфиг серва: === port 2033 proto tcp4 dev tun0 ca /etc/openvpn/keys/ca.crt cert /etc/openvpn/keys/server.crt key /etc/openvpn/keys/server.key dh /etc/openvpn/keys/dh4096.pem server 10.192.18.0 255.255.255.0 push "route 10.192.18.0 255.255.255.0" push "route 192.168.18.0 255.255.255.0" client-config-dir /etc/openvpn/ccd auth SHA256 cipher AES-256-CBC keepalive 30 180 max-clients 30 user root group wheel persist-key persist-tun mssfix 0 status /var/log/openvpn/openvpn-status.log log /var/log/openvpn/openvpn.log verb 3 === push - отдаст нужные маршруты клиентам. Если надо каждому клиенту отдельный маршрут, то в файле клиента на сервере указать: push "route 192.168.1.232 255.255.255.255" push "route 192.168.1.233 255.255.255.255" push "route 192.168.3.0 255.255.255.0" Соответственно, помимо указанных в конфиге сервера подсеток - этому клиенту отдадуться еще три маршрута дополнительно. А т.к тебе еще надо при установке связи прописать на сервере маршрут к удалённой сети - дописываются еще такие строчки: iroute "192.168.50.0 255.255.255.0" iroute "10.10.15.20 255.255.255.255" После установления соединения с этим клиентом - ему уходят роуты push, и одновременно на сервере появляется маршрут в дальнюю сеть 192.168.50.0/24 и к одиночному серверу за той же удалённой сетью 10.10.15.20/32 |
|||
6
Event_Now
10.05.18
✎
10:22
|
(4) - Да, наверно его позову. Не могли бы вы более конкретно описать, где их добавлять, в файл конфигурации сервера?
Вы уж извините, был бы я таким умным как вы, то не стал бы создавать данную тему. |
|||
7
Event_Now
10.05.18
✎
10:25
|
(5) -Спасибо за ответ, сейчас попробую. По результату отпишусь.
p.s. Я так понимаю, у вас OpenVPN на линухе крутится. Забавно, что в сети полно инструкций по линуксу на данную тему, а вот про windows очень мало. |
|||
8
Exec
10.05.18
✎
10:28
|
(7) да, центось. На винде по идее то же самое, только у клиента на win 8 и выше не забывай запускать всё от админа, что клиента, что сервер, иначе не будет доступа для изменения таблицы маршрутизации, а так же на стороне клиента прописать в конфиг дополнительно две строчки:
== route-method exe route-delay 2 === p.s: ну и шлюзование на винде-сервере должно быть включено, чтобы она в качестве роутера выступала |
|||
9
arsik
гуру
10.05.18
✎
10:30
|
(8) В новой версии уже все есть. Отдельная служба запускается, которая рулит маршрутами и прочим. Сейчас админские права для запуска перезапуска ненужны боле.
|
|||
10
Event_Now
10.05.18
✎
10:37
|
(9) - Я использую openvpn 2.4.6-I602 (она последняя).
Простите, как видим из моего примера, новая версия "рулит маршрутами" не особо. Ну или я опять пропустил галочку в настройках. Можете подсказать, где всё это глянуть? |
|||
11
arsik
гуру
10.05.18
✎
10:40
|
(10) Тут разбираться надо. Покажи маршруты на
1) Сервере опенвпн 2) Клиенте опенвпн 3) на компе за сервером 4) На компе за клиентом |
|||
12
Event_Now
10.05.18
✎
10:42
|
(5) - Сервер ругается на iroute, мол нет такой команды. Дальше не стартует.
|
|||
13
Event_Now
10.05.18
✎
10:47
|
(11) - Сервер
IPv4 таблица маршрута =========================================================================== Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 0.0.0.0 192.168.94.1 192.168.94.7 276 10.10.0.0 255.255.255.0 10.10.0.2 10.10.0.1 21 10.10.0.0 255.255.255.252 On-link 10.10.0.1 276 10.10.0.1 255.255.255.255 On-link 10.10.0.1 276 10.10.0.3 255.255.255.255 On-link 10.10.0.1 276 127.0.0.0 255.0.0.0 On-link 127.0.0.1 306 127.0.0.1 255.255.255.255 On-link 127.0.0.1 306 127.255.255.255 255.255.255.255 On-link 127.0.0.1 306 192.168.94.0 255.255.255.0 On-link 192.168.94.7 276 192.168.94.7 255.255.255.255 On-link 192.168.94.7 276 192.168.94.255 255.255.255.255 On-link 192.168.94.7 276 224.0.0.0 240.0.0.0 On-link 127.0.0.1 306 224.0.0.0 240.0.0.0 On-link 10.10.0.1 276 224.0.0.0 240.0.0.0 On-link 192.168.94.7 276 255.255.255.255 255.255.255.255 On-link 127.0.0.1 306 255.255.255.255 255.255.255.255 On-link 10.10.0.1 276 255.255.255.255 255.255.255.255 On-link 192.168.94.7 276 |
|||
14
Event_Now
10.05.18
✎
10:50
|
(11) - Клиент (внешний ПК)
IPv4 таблица маршрута =========================================================================== Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 0.0.0.0 192.168.1.14 192.168.1.52 35 0.0.0.0 0.0.0.0 25.0.0.1 e 9256 10.10.0.0 255.255.255.0 10.10.0.5 10.10.0.6 291 10.10.0.4 255.255.255.252 On-link 10.10.0.6 291 10.10.0.6 255.255.255.255 On-link 10.10.0.6 291 10.10.0.7 255.255.255.255 On-link 10.10.0.6 291 127.0.0.0 255.0.0.0 On-link 127.0.0.1 331 127.0.0.1 255.255.255.255 On-link 127.0.0.1 331 127.255.255.255 255.255.255.255 On-link 127.0.0.1 331 192.168.94.0 255.255.255.0 10.10.0.5 10.10.0.6 291 192.168.1.0 255.255.255.0 On-link 192.168.1.52 291 192.168.1.52 255.255.255.255 On-link 192.168.1.52 291 192.168.1.255 255.255.255.255 On-link 192.168.1.52 291 192.168.56.0 255.255.255.0 On-link 192.168.56.1 281 192.168.56.1 255.255.255.255 On-link 192.168.56.1 281 192.168.56.255 255.255.255.255 On-link 192.168.56.1 281 224.0.0.0 240.0.0.0 On-link 127.0.0.1 331 224.0.0.0 240.0.0.0 On-link 192.168.56.1 281 224.0.0.0 240.0.0.0 On-link 192.168.1.52 291 224.0.0.0 240.0.0.0 On-link e 9256 224.0.0.0 240.0.0.0 On-link 10.10.0.6 291 255.255.255.255 255.255.255.255 On-link 127.0.0.1 331 255.255.255.255 255.255.255.255 On-link 192.168.56.1 281 255.255.255.255 255.255.255.255 On-link 192.168.1.52 291 255.255.255.255 255.255.255.255 On-link e 9256 255.255.255.255 255.255.255.255 On-link 10.10.0.6 291 |
|||
15
arsik
гуру
10.05.18
✎
10:51
|
Самое простое - на сервере включить маршрутизацию и включить NAT из опенвпн интерфейса во внутреннюю сеть.
|
|||
16
Event_Now
10.05.18
✎
10:52
|
(15) - И потом на всех машинах прописывать шлюзом этот сервер. Не, не вариант.
|
|||
17
Event_Now
10.05.18
✎
10:53
|
(11) - Судя по строке (192.168.94.0 255.255.255.0 10.10.0.5 10.10.0.6 291 ) Маршрут приходит.
|
|||
18
arsik
гуру
10.05.18
✎
10:54
|
(16) Как раз нет. НАТ же. Все пакеты во внутреннюю сеть пойдут как бы от сервера.
|
|||
19
Event_Now
10.05.18
✎
10:59
|
(18) - Ладно, попробуем данную зверушку. Сразу вопрос, как реализовать?
p.s. Судя по FAQ Community Software, проблема в том, что не происходит маршрутизация между виртуальным и физическим интерфейсами в локальную сеть. Текст: The clients will negotiate a DHCP lease through the tunnel, meaning that both VPN clients and local machines will receive their IP addresses from the DHCP server address pool. The one complexity about this configuration is that you need to modify your DHCP server configuration to differentiate between local clients and VPN clients. The reason for this is that you must not pass out a default gateway to VPN clients. See the Win32 install notes for an example. |
|||
20
eRik
10.05.18
✎
11:06
|
Судя по таблице маршрутов, ни сервер, ни клиент openvpn не являются шлюзами в своих сетях. А значит нужно на шлюзах дописать вручную маршруты в чужую сеть на свой узел openvpn.
Или да, придется делать НАТ. |
|||
21
Event_Now
10.05.18
✎
11:26
|
(20) - Так, ну давай сперва попробуем NAP, а потом уже пущу в ход "тяжелую артиллерию". (полезу прописывать маршруты на шлюзе)
Сразу вопрос, как развернуть NAP в OpenVPN? |
|||
22
Event_Now
10.05.18
✎
11:28
|
(20)- Очипятолся два раза. (NAP = NAT)
|
|||
23
Exec
10.05.18
✎
11:34
|
Штатно - средствами винды (rras в win-server)
Так же можно попробовать обычным расшариванием сетевого подключения, но не уверен что сработает |
|||
24
arsik
гуру
10.05.18
✎
11:35
|
Если есть доступ к маршрутизатору, то проще тогда маршруты на нем добавить.
|
|||
25
eRik
10.05.18
✎
11:45
|
(21) Как раз таки НАТ и является тяжелой артиллерией. Проще маршрут на шлюзе дописать, ну или на рандомных клиентах (если их немного и трогать настройки шлюза нет возможности), которым нужен доступ в чужую подсеть.
|
|||
26
eRik
10.05.18
✎
11:54
|
Хотя, что-то я погорячился с НАТом - он тут вообще не при делах. Ибо исходящие запросы с рандомного компа в чужую сеть все-равно будут уходить на шлюз, и НАТ тут не поможет. Разве что в другую сторону, но там и без него все нормально будет.
В общем, добавлять маршрут на шлюз или на каждый комп, которых будет работать с чужой сетью. |
|||
27
Event_Now
10.05.18
✎
12:07
|
(22) - Спасибо за рекомендацию.
|
|||
28
Event_Now
10.05.18
✎
12:12
|
(26) - Вот и я подумал, причём тут NAT? Ладно, проверю сейчас, светится ли адрес сервака на шлюзе и куда пакеты направляются, а там дальше будет видно.
Вообще, идея с DHCP на OpenVPN и пробросом маршрутов только для нужных адресов, мне импонирует больше, т.к. она более гибкая и подконтрольная. Жаль, что нет особо времени разобраться, т.к. сроки горят. (нужно вчера, как обычно) Спасибо за наводку (на пиво), пойду прописывать маршруты. По завершению, отпишусь о результатах. |
|||
29
Сияющий в темноте
10.05.18
✎
13:50
|
С клиента,когда пакет идет в чужую сеть,то выбирается адаптер с меньшей метрикой,то есть ли на клиента добавлять маршрут,который можно брать с dhcp сервера,или все пакеты пойдут в шлюз по умолчанию,и ловить их там
|
|||
30
Провинциальный 1сник
10.05.18
✎
13:53
|
Я не понимаю логику ТС. Нужен мост, а подсети разные. Нафига тогда козе баян? Мост на то и мост, что это по сути объединение двух локалок патч-кордом.
|
|||
31
Event_Now
11.05.18
✎
10:24
|
(29) - Маршруты идут в любом случае через шлюз, VPN сервер им и является. По логике, маршрутизацию должен сам VPN сервер раздавать клиентам и пускать их только туда, куда им разрешено. (Но это в идеале)
Я с OpenVPN не работал до данного момента, пользовался Kerio VPN, но он платный. А контора, что запросила создать им VPN мост, за софт платить не хочет. Вот и пытаюсь слепить из того, что имеется в наличии. |
|||
32
Event_Now
11.05.18
✎
10:26
|
(30) - С вашей логикой, я вижу лучше не спорить. )))))))) *facepalm*
|
|||
33
Event_Now
11.05.18
✎
11:27
|
Итак.
Решение задачи. --- Конфиг сервера: proto tcp4-server port 30000 dev tun tls-server tls-auth "C:\\OpenVPN\\easy-rsa\\keys\\ta.key" 0 tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ca "C:\\OpenVPN\\easy-rsa\\keys\\ca.crt" cert "C:\\OpenVPN\\easy-rsa\\keys\\SrvVPN.crt" key "C:\\OpenVPN\\easy-rsa\\keys\\SrvVPN.key" dh "C:\\OpenVPN\\easy-rsa\\keys\\dh4096.pem" server 10.10.0.0 255.255.255.0 push "route 10.10.0.0 255.255.255.0" push "route 192.168.94.0 255.255.255.0" client-to-client keepalive 10 120 cipher AES-128-CBC comp-lzo persist-key persist-tun client-config-dir "C:\\OpenVPN\\config" verb 3 route-delay 5 route-method exe --- Конфиг клиента: remote [тут адрес сервера] client port 30000 proto tcp4-client dev tun tls-client tls-auth "C:\\Program Files\\OpenVPN\\config\\ta.key" 1 remote-cert-tls server tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 ca "C:\\Program Files\\OpenVPN\\config\\ca.crt" cert "C:\\Program Files\\OpenVPN\\config\\ClientVPN.crt" key "C:\\Program Files\\OpenVPN\\config\\ClientVPN.key" cipher AES-128-CBC comp-lzo persist-key persist-tun verb 3 mute 20 route-delay 5 route-method exe После этого, заходим в свойства физического адаптера и на закладке "Доступ", ставим галочку напротив "Разрешить другим поль...", а в списке "Подключение домашней сети", выбираем наш виртуальный адаптер OpenVPN. --- Вот собственно и всё. p.s. Всем спасибо за участие, всех вам благ и быстрых решений ваших задач. Тема закрыта. |
|||
34
arsik
гуру
11.05.18
✎
11:31
|
Короче ты все таки НАТ сделал. Ну хозяин барин.
|
|||
35
Event_Now
11.05.18
✎
11:35
|
(34) - Тут у меня пара человек постоянно мотаются по разным офисам и хз какие там адреса у сеток. Дабы исключить проблему с адресацией, я сам с собой посовещался и принял решение об использовании NAT конфигурации. ;)
|
|||
36
arsik
гуру
11.05.18
✎
11:56
|
(35) А при чем тут какая сетка за клиентом? У тебя же трафик будет идти от виртуального интерфейса опенвпн (10.10.0.0 255.255.255.0)
|
|||
37
arsik
гуру
11.05.18
✎
11:57
|
+ (36) Тебе в офисе на основном маршрутизаторе нужно было добавить маршрут 10.10.0.0 255.255.255.0 до сервера опенвпн и все.
|
|||
38
Йохохо
11.05.18
✎
12:00
|
(35) чтобы такое исключить надо выбрать хитрую подсеть, а не натить, 172.29.251.0 рекомендую
|
|||
39
Event_Now
11.05.18
✎
12:10
|
(37) + (38) - Ребята, спасибо за комментарии, но давайте не будем плодить их, т.к. когда появится человек с подобным вопросом как у меня, то ему будет сложно найти решение задачи и придётся опять поднимать текущую тему.
|
|||
40
Йохохо
11.05.18
✎
12:11
|
(39) НАТ не поможет при совпадении подсетей, так норм?
|
|||
41
arsik
гуру
11.05.18
✎
12:13
|
(40) Маршрутизация тоже не поможет. Только NETMAP - но как на винде нетмап сделать это большой вопрос.
|
|||
42
Йохохо
11.05.18
✎
12:14
|
(41) да пока непонятно какой вопрос у ТС остался) нат лучше тем, что порты клиента останутся закрыты, для домашних ноутов это +
|
|||
43
Провинциальный 1сник
12.05.18
✎
19:30
|
(33) "dev tun " и мост как-то слабо сочетаются в итоге.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |