![]() |
Связать три филиала по Openvpn
Всем привет! Хочу проконсультироваться. Стоит задача связать три филиала организации между собой. Решил применить Openvpn, есть сервер со статикой, куда и накатил openvpn server. Что необходимо сделать, чтобы пользователи с одного филиала имели доступ к сети другого филиала (точнее к файловому серверу)? Можно, знаю, установить всем сотрудникам openvpn, сделать подключение, но сотрудников очень много. Можно ли как-то смаршрутизировать сети на уровне прокси-серверов (в каждом филиале есть шлюз прокси на debian 7)?Можно ли обойтись установкой и подключением openvpn только на шлюзы?Необходимо делать разные подсети в филиалах?
Добавлено: Частично реализовал. Расскажу подробнее. Сервера - шлюза 2 штуки на данный момент. Сервер1 = 192.168.1.51, Сервер2=192.168.2.1. Сеть, к которой все филиалы должны получать прямой доступ: 1) 192.168.1.0 (конкретно интересует файловый сервер 192.168.1.2, пока что). На одном филиале сменил подсеть на 192.168.2.0. Сервер Openvpn стоит на сервере1. Так вот, в конфиге Опенвпн сервера прописал push "route 192.168.1.0 255.255.255.0" , теперь шлюз "Сервер2", подключенный через Openvpn к серверу1 пингует его Ip адреса. и конкретно 192.168.1.2. Но клиенты локальной сети шлюза "Сервер2" ничего не знают об 192.168.1.2. Как настроить маршрутизацию на шлюзе "Сервер2"? Или надо только прописывать маршруты вручную у всех клиентов подсети 192.168.2.0 на их машинах ???? |
Цитата:
|
у всех статика стоит, а привязывать в дхцп всех по мак адресу-долго( появилось много проблем, так как я менял подсеть у клиентов несколько неправильно (я так думаю): я добавлял дополнительные айпишники, шлюзы, и днс, чтобы люди были доступны и так и так, потому что изначально вся структура сети сделана была неверно (спасибо предыдущим Одминам): у некоторых людей были подключены сетевые шары других сотрудников, в результате чего подключение к ним терялось, а изменять шары на компьютерах-долго. потому что нельзя прерывать рабочий процесс, и как быть, ума не приложу, на выходных работать нет возможности. Может быть порекомендуете какой-либо адекватный в моей ситуации способ объединения всех филиалов в одну сеть?
|
если у вас венда и домен, я думаю есть способ всем централизованно поменять настройки сети на DHCP. если не венда - можно наваять скрипт, который обойдёт всем клиентов и поменяет настройки сети опять-таки на DHCP. если структура сети сделана неверно изначально, надо переделывать. разговаривать с начальством, объяснять, почему "сейчас всё работает" не устраивает, объяснять что малейшие изменения в неправильно построенной сети могут привести к проблемам, либо препятствующим решить конкретную задачу (пример - соединить два филиала), либо к простоям. что решение костылями возможно, но вызовет ещё большие осложнения в будущем. Кроме душеспасительной говорильни должен быть в наличии план-график исправления ситуации, с отдельно красным цветом выделенным даунтаймом. с вариантами предложений как его сократить или избежать. Потому что неразрешимые технически проблемы можно решить организационным методом.
очень серьёзный недостаток - одноранговые шары. если удастся их устранить - всё будет сильно лучше. Например, переносом на сервер. если шары устранил - можно не заморачиваться привязкой IP к MAC (или ограничиться списком, куда попадут принт-сервера, и компы сотрудников, перенос шар с которых по какой-то причине невозможен). соответственно потом все переводятся на DHCP, при чём на DHCP-сервере прописаны IP-MAC лишь для некоторых, остальные просто берут из диапазона. В каждой сети свой DHCP. Ну вот после установления порядка в том, что есть, связывание филиалов выглядит легко и просто, и в сети прекращается цепочка подпирания костылей костылями. |
все понял. У нас на заводе собран мною Samba4 PDC, в принципе он работает, групповые политики создает, но к нему подключены лишь с десяток компьютеров (домен новый, раньше там все было без домена). В офисе есть контроллер домена, опять таки не все в нем((((изначально структура сети неверная была, да и нужны все таки статические IP у сотрудников, так как приходится цепляться к ним по VNC, так что привязку IP-MAC делать придется
|
Цитата:
На крайний случай - берёте файлик dhcp.leases и из него изготавливаете записи для конфига dhcpd. Тогда все получают жёстко заданные IP. Этот вариант - плохой, потому что при смене компьютера/сетевухи от админа требуются телодвижения, а это в высшей степени неправильно. Включение компьютеров в домен нужно, ясное дело, ускорить. Я бы предложил работы в таком порядке: - настроить DDNS; - включать оставшиеся компьютеры в домен; - выкидывать шары с локальных машин на сервер. попутно настроить бэкап; - введённые в домен без локальных шар компьютеры перевести на DHCP; - раздавать маршруты по DHCP, завершая объединение филиалов Как-то так. |
CJ F.A.N., Почитайте документацию по OpenVPN, там все расписано.
И еще, совет MakaBooka ерундовый. Когда кто-то из сети 2 посылает пакет в сеть 1, именно шлюз должен принимать решения что делать с данным пакетом, у пользователей ничего трогать не надо. |
Rezor666, да вроде читаю, то ли понять не могу, то ли не исправно что-то. В общем задача то какая. Ндао при минимальных затратах соединить филиалы с одним сервером. Решил: поставить на каждый шлюз филиалов openvpn, и подлключить к нашему серверу, и надо чтобы сеть нашего шлюза видела все сети филиалов, и чтобы сети филиалов видели нашу сеть. Вроде настроил, но только работает, что филиалы нас видят. Но мы филиалы не видим, какие опции ввести надо?
Вот конфиг. Задача: чтобы подсеть 2.0 видела подсеть 3.0 и наоборот Код:
mode server |
Цитата:
Цитата:
Цитата:
заодно посмотришь сам :) |
Трейс со шлюза филиала на наш сервер:
Код:
traceroute to 192.168.3.2 (192.168.3.2), 30 hops max, 60 byte packets Код:
traceroute to 192.168.2.96 (192.168.2.96), 30 hops max, 60 byte packets |
CJ F.A.N., а теперь если можно по порядку.
Три филиала. У всех внешние IP адреса статические? Или динамические? Или у кого-то такие а у кого-то такие? Локальные сети? желательно бы описать адресацию внутри каждой сети, с маской и шлюзом. Серверы на debian, какие у них адреса внутри сети. Логика проста. На одном сервер клиент, на остальных сервер. Клиенты подключаются к серверу, получают некоторые адреса. Сервер добавляет маршруты в клиентские сети, клиенты добавляют маршрут в сеть сервера. Выключается NAT между локальными сетями. Всё работает. |
Tonny_Bennet, на данный момент, основная организация (Сеть1) имеет подсеть 192.168.1.0 (дополнительно назначил некоторым серверам айпишники из подсети 192.168.3.0, чтобы связывать все филиалы более безопасно и желательно без смены подсетей в них). Один из филиалов имеет подсеть 192.168.2.0 (сеть2). Все шлюзы имеют статические адреса. Идея: поставить клиенты опенвпн на все шлюзы всех филиалов, чтобы связать шлюзы с нашим. Проблема в том, что клиенты локальных сетей филиалов видят нашу подсеть (сеть1), а мы видим только шлюзы филиалов, но клиентов локальных сетей этих филиалов не видим и не пингуем. Товарищ выше говорит что надо либо DHCP раздавать всем, либо вручную настраивать маршруты, но это проблемно, тем более что некоторые филиалы находятся в других областях, и боюсь, что перенастройка всех компьютеров тех локальных сетей будет проблематична, поэтому ищу способ, как объединить подсети, настраивая только шлюзы. Почти получилось, вот только как бы в одну сторону....... Я подозреваю, что неверен конфиг сервера опенвпн, собственно по нему и спрашиваю, правильно настроил или нет
Забыл. Наш шлюз имеет адрес 192.168.1.51 (192.168.3.51), адрес шлюза одного из филиалов 192.168.2.1) Все шлюзы построены на Debian 7 |
CJ F.A.N., ещё было бы неплохо нарисовать план-схему сети. Хотя бы такую:
![]() Цитата:
Какой адрес получает OpenVPN клиента на стороне сети2? Вам нужно добавить маршрут на шлюзе сети1 такого вида: Код:
route add -net 192.168.2.0/24 gw <адрес OpenVPN клиента> |
Tonny_Bennet,
![]() вот так вот нужно. Цитата:
Код:
Назначение Шлюз Маска сети Интерфейс про маршрут спасибо, я забыл про это, добавлю. Сейчас нужный мне филиал без электричества стоит))))) как включат, проверю, я думаю должно заработать, потому что пакеты не идут от нас к ним, а обратно идут |
Добавьте маршрут во 2-ю сеть на шлюзе первой сети
Код:
route add -net 192.168.2.0/24 gw 10.8.0.8 Код:
iptables-save |
|
Цитата:
|
Цитата:
Я пробовал в каталоге /etc/openvpn/ccd создать файлик для клиента, в котором директивой iroute добавляется маршрут, но ничего не происходит, как будто Openvpn не подхватывает настройки клиента, ну да ладно. Пока просто сделал скрипт, выполняющийся в rc.local , создающий статический маршрут route add -net 192.168.2.0/24 gw 10.8.0.8 думаю, этого хватит=) |
Цитата:
если непонятное присутствует, с конфигами, логами и вопросами - по форумам. вопрос ясен, давай конфиги и логи :) Цитата:
|
MakaBooka,
server.conf Код:
# cat /etc/openvpn/server.conf Код:
#cat /etc/openvpn/ccd/fil1 Конфиги openvpn-status.log и /var/log/openvpn.log ничего странного не показывают, ошибок там нет, просто данные о том, сколько клиентов подключено и какие им назначены mac и ip адреса |
Цитата:
|
Цитата:
А насколько я вижу, более нигде не фигурирует |
Сам отвечу. Дело в моей невнимательности. Приведу ниже рабочие конфиги и краткий отчет.
server.conf Код:
# cat server.conf Код:
# cat /usr/sbin/openvpn_route.sh Код:
# cat client.conf |
Цитата:
Что с маршрутами? Есть ли ошибки в логах openvpn? |
Rezor666, я же написал, что эту проблему уже решил) не подхватывался мой скрипт из-за того, что надо было sequrity level выставить правильный)
|
CJ F.A.N., это не правильно, зачем нужен скрипт если openvpn сам может добавлять маршруты?
|
это чуть лучше, чем rc.local, но можно дожать :)
|
Цитата:
|
Rezor666, как тогда сделать, чтобы маршруты прописывались автоматом при запуске TUN\TAP ? Если не скриптом?
А еще лучше бы было сделать, чтобы при подключении конкретного пользователя прописывался конкретный маршрут до его сети (например до fil1 - 192.168.,2.0 ) ? А при отключении клиента маршрут удалялся это вроде как делается в каталоге ccd, но как я не старался, ничего из того, что там прописано, не происходит (конфиг клиента выше есть). |
|
Rezor666,
1) совпадает. 2) таблица на сервере с openvpn Код:
Kernel IP routing table Код:
Kernel IP routing table |
Вроде все написал, но тишина.......) в общем, в принципе все работает, уже завязал почти все филиалы и площадки. Хочется, конечно, лучше и красивее, но боюсь уже что-то трогать, ибо куча народа работает через openvpn
|
1- Для начала я бы сменил тип устройства на tun
2- У Вас 3 сетки на одном интерфейсе? 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 и на 1 сервере тоже самое 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2 должно быть вот так 172.50.2.0 * 255.255.255.0 U 0 0 0 eth1 172.50.0.0 172.50.1.13 255.255.255.0 UG 0 0 0 tun0 172.50.1.0 172.50.1.13 255.255.255.0 UG 0 0 0 tun0 Вычистите все лишнии маршруты и потом пробуйте подключаться с опцией verb 5, и после этого логи в студию. |
Rezor666, а чем обусловите именно использование tun? У меня так сложилось, что когда-то давно, когда только знакомился с Openvpn, я пытался tun использовать, работало, но хосты не пинговали друг друга, сменил на tap и заработало) Знаю, что что-то неправильно делал. Просто сейчас в спешке уже всех связал и отключение чревато потерей связи с сервером 1С =( в любом случае, Ваши советы учту и попробую, если не на реальной системе, то на виртуальных машинах. Спасибо!
|
Время: 01:24. |
Время: 01:24.
© OSzone.net 2001-