Я установил соединение OpenVPN между сервером Windows 2012 и машиной Debian Linux. Windows-машина - это сервер, а Linux-машина запускает openvpn как клиент. Я могу пинговать и подключаться друг к другу в сети VPN без проблем.
Моя проблема в том, что я не могу получить доступ к сети клиента с серверной машины. Например. Пинг с 10.10.0.2 & .1 работает без проблем. Пинг с сервера на 192.168.1.X не работает.
Настроить:
OpenVPN Server (Windows 2012 Server) IP: 172.16.1.10/24 VPN IP: 10.10.0.1
Клиент OpenVPN (Debian V6 Linux) IP: 192.168.1.5/24 VPN IP: 10.10.0.2
Я попытался добавить маршрут в Windows, но трафик в сеть VPN все равно не направляется. Например. маршрут добавить 192.168.1.0 маска 255.255.255.0 10.10.0.2
Что мне нужно настроить в Windows / Linux, чтобы получить доступ к внутренней сети на стороне клиента?
ОБНОВЛЕНИЕ 23/04/2015:
После добавления маршрута и iroute в конфигурацию сервера OpenVPN я могу получить доступ к интерфейсу eth0 (192.168.1.5) с Windows Server.
В server.ovpn добавлено:
client-config-dir ccd
route 192.168.1.0 255.255.255.0
Внутри папки ccd создается простой текстовый файл «client» со следующим содержимым:
iroute 192.168.1.0 255.255.255.0
Возможен доступ к другим клиентам в сети но только путем добавления статического маршрута к каждому клиенту (например, маршрут добавляет маску 10.10.0.0 255.255.255.0 192.168.1.5)
Как я могу сделать то же самое без необходимости добавлять статический маршрут или изменять клиентов в локальной сети?
Похоже, вы успешно настроили vpn с удаленным доступом. http://en.wikipedia.org/wiki/Virtual_private_network
В: Что мне нужно настроить в Windows / Linux, чтобы получить доступ к внутренней сети на стороне клиента?
О: Вам необходимо использовать VPN-туннель типа "сеть-сеть".
https://openvpn.net/vpn-server-resources/site-to-site-routing-explained-in-detail/
Re: вторая часть вопроса OP (поскольку он уже решил первую часть):
Вы можете добавить статический маршрут 10.10.0.0/24 -> 192.168.1.5
в таблице статических маршрутов маршрутизатора подсети клиента. Процесс зависит от вашего конкретного маршрутизатора.
Это работает, потому что в настоящее время устройства в вашей клиентской подсети не знают о 10.10.0.0/24
поэтому они пересылают такие пакеты маршрутизатору (вероятно, на 192.168.1.1
). Директива маршрутизации по умолчанию для любого устройства (например, 0.0.0.0 (default) -> 192.168.1.1
) отвечает за это. Если вы не добавите статический маршрут, указанный выше, к маршрутизатору клиентской подсети, он также не знает, что делать с этими пакетами, поэтому они теряются.
Пакеты будут выглядеть следующим образом:
192.168.1.2
(какое-то устройство в клиентской подсети)
к 192.168.1.1
(клиентская подсеть маршрутизатор)
к 192.168.1.5
(клиентская подсеть OpenVPN)
к 10.10.x.x
(подсеть сервера OpenVPN и, в конечном итоге, какое-то устройство в подсети сервера)
Как сказал asysadminboss, вы описываете разницу между VPN для удаленного доступа и VPN между сайтами.
Если пользователю необходимо иметь возможность использовать сетевые ресурсы за брандмауэром, ему необходимо использовать VPN с удаленным доступом. Этот тип VPN создает операторы маршрута в удаленной системе (клиенте) для доступа к внутренним сетевым устройствам.
Если вам нужны обе стороны VPN (клиент и сервер), вам необходимо использовать сайт VPN. VPN-соединение между сайтами - это то, где каждая сторона туннеля работает как сервер и клиент. Это приводит к тому, что оба устройства предоставляют инструкции маршрута для своей локальной сети другому устройству.
Обычно вы настраиваете VPN между сайтами, используя маршрутизатор или VPN-сервер в качестве однорангового узла VPN между сайтами на обеих сторонах канала. Если у вас есть один удаленный пользователь, которому требуется удаленный доступ к внутреннему сетевому устройству, вы должны использовать VPN с удаленным доступом. Если у вас есть два офиса, в каждом из которых есть системы, которые должны взаимодействовать с системами на другой стороне туннеля, вы должны использовать VPN между сайтами.