Страница 1 из 1

OpenVPN DNS

Добавлено: 2009-11-14 9:36:01
reLax
Я, конечно, понимаю, что решение вопроса где-то рядом и совсем простое. Но что-то пока никак не въеду :)
Вообщем, есть филиал.
172.17.4.0/24 - IP-адресация филиала
172.17.3.0/24 - IP-адресация VPN
172.17.2.0/24 - IP-адресация главного офиса
Клиенты коннектятся через OpenVPN к главному офису (ГО). В ГО стоит контроллер домена, и клиенты филиала являются его членами. На PDC в DNS прописаны IP tap-интерфейсов клиентов. Проблема - в общих ресурсах и сетевых принтерах филиала. На данный момент у них прописан внутренний кеширующий DNS ГО. В итоге что получается - Себастьян Гиацинтович посылает на печать документ. В итоге чтобы попасть на принтер, находящийся от Себастьяна Гиацинтовича в 3-х метрах, документ проходит через OpenVPN в ГО и обратно, по сути проходит несколько десятков километров (оно и неудивительно, если в DNS компьютер Макара Арнольдовича, к которому подключен принтер имеет адрес из виртуальной подсети). Такая же ситуация, соответственно, и с общими ресурсами филиала. Можно конечно в филиале поставить свой DNS c указанием IP подсети самого филиала. Но. Мне также нужно будет и периодическое обновление зон с PDC, с указанием записей ГО. Если я на PDC явно укажу IP-адресацию филиала - то в сети компьютеров филиала видно не будет.
Вообщем, пока что-то не въеду как правильно сделать, чтобы пакеты во внутренней сети филиала проходили между собой по адресации самого филиала, а не через tap-интерефейс...

Re: OpenVPN DNS

Добавлено: 2009-11-14 20:12:50
Alex Keda
а добавить себастьяну маршрут руками - не?

Re: OpenVPN DNS

Добавлено: 2009-11-15 7:06:05
reLax
Нет. Тут только DNS решит. Лис, на DNS все построено. Ну обращаюсь я допустим к принтеру на компьютере \\nadezhda\ . Резольв IP Надежды автоматом берется с DNS. Ну причем тут route...
Есть костыль - файл hosts на клиентах. Но хотелось бы автоматизировать все это как-то.

Re: OpenVPN DNS

Добавлено: 2009-11-16 10:08:44
opt1k
не до конца понимаю почему у тебя через тап интерфейс ходит. У меня ситуация аналогичная, но всё работает как надо, .т.е. локальный трафик ходит только локально.

Re: OpenVPN DNS

Добавлено: 2009-11-16 11:21:54
Moraddin
Не понимаю почему обязательно в ДНС вбивать IP адреса tap интерфейсов?
Для того, чтобы из ГО ходить на ресурсы офиса? так проще статик роуты как раз прописать...
если ты в ДНС пропишешь IP адреса локальные, а в ГО на машины добавишь статик роут - ходить в подсеть Филиала через ВПН, у тебя все заработает: вася пупкин из филиала при обращении к компу маши звездной по имени \\маша будет получать локальный ИП и трафик у него будет крутится только в филиале.

Re: OpenVPN DNS

Добавлено: 2009-11-16 15:28:28
reLax
в смысле прописать что-то типа

Код: Выделить всё

route -p add 172.17.4.0 (адресация филиала) mask 255.255.255.0 172.17.2.100 (шлюз в ГО)
Работать не будет. Или как ?
Сейчас прописано так на клиентах ГО:

Код: Выделить всё

route -p add 172.17.3.0 (адресация VPN) mask 255.255.255.0 172.17.2.100 (шлюз в ГО)

Re: OpenVPN DNS

Добавлено: 2009-11-16 15:44:38
opt1k
перечитал ещё раз 1ый пост и понял.
Вобщем у меня это сделано так:
В ГО стоит фршяный опенвпн сервер. В филиалах есть по одному компу который работает дольше всех(как правило бухгалтерский), на нём крутиться впн клиент.
в ГО сеть 0.0
в офисах 1.0, 2.0, 3.0 и т.д.
В ГО всем компам в качестве шлюза я указал фряху с опенвпном, в офисах на местных маршрутизаторах я добавил следующую запись:
route add 10.0.0.0 mask 255.255.255.0 10.0.1.200(это комп который выступает как впн клиент).
Итого если у меня в филиале больше одного компа у меня не создаётся n-1 лишних тунелей и плюсом адресация нормальная.

Re: OpenVPN DNS

Добавлено: 2009-11-17 19:18:09
reLax
Так, еще раз.
Значит:
Шлюз филиала - 172.17.4.1
Клиенты филиала - 172.17.4.0/24
Шлюз ГО - 172.17.2.100
Клиенты ГО - 172.17.2.0/24
OpenVPN сервер - 172.17.3.1
OpenVPN клиенты - 172.17.3.0/24

Иными словами я должен добавить на шлюзе филиала это ?

Код: Выделить всё

# route add 172.17.2.0 172.17.4.1
А как это решит вопрос с DNS ? У меня есть только 2 варианта что прописывать в DNS - либо адреса tap-интерфейсов, либо адреса из подсети филиала. Первый вариант работает сейчас с вышеуказанными проблемами. Второй будет подразумевать под собой то, что из ГО у меня не будет доступа к машинам филиала.

Cейчас таблица маршрутизации вообщем такая на шлюзе филиала:

Код: Выделить всё

Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            81.13.x.x       UGS         0 11028814    xl1
81.13.x.0/24      link#2             UC          0        0    xl1
81.13.x.x       00:04:ac:cb:88:31  UHLW        2        0    xl1    762
81.13.x.x       00:01:02:0a:6b:ca  UHLW        1     5112    lo0
127.0.0.1          127.0.0.1          UH          0    58915    lo0
172.17.0.0         ff:ff:ff:ff:ff:ff  UHLWb       1        2   tap0 =>
172.17.0.0/16      link#10            UC          0        0   tap0
172.17.2.0/24      172.17.3.1         UGS         0  1883964   tap0
172.17.3.1         00:bd:c2:c4:01:00  UHLW        2        2   tap0    948
172.17.3.2         00:bd:29:4f:00:00  UHLW        1       24    lo0
172.17.4.0         ff:ff:ff:ff:ff:ff  UHLWb       1        3    xl0 =>
172.17.4.0/24      link#1             UC          0        0    xl0
172.17.4.1         00:01:02:0a:6b:54  UHLW        2        5    lo0
172.17.4.10        00:01:02:0a:6b:54  UHLW        1        7    lo0
172.17.4.15        00:15:f2:5a:e1:7f  UHLW        1    12629    xl0   1154
172.17.4.255       ff:ff:ff:ff:ff:ff  UHLWb       1      440    xl0
172.17.255.255     ff:ff:ff:ff:ff:ff  UHLWb       1    15947   tap0
Если честно, не совсем понял в чем суть :)

Re: OpenVPN DNS

Добавлено: 2009-11-18 0:34:22
opt1k
в который раз убеждаюсь в том что не умею объяснять, давай ещё раз, теперь попробую правильно.
В конфиге опенвпн сервера ГО у тебя должно быть минимум 2 строчки отвечающие за маршрутизацию "сквозь" туннель:
1)прописывает маршрут на сервере до подсети клиента 172.17.4.0/24 т.е. route 172.17.4.0 172.17.3.2
2)прописывает маршрут на клиенте до подсети ГО 172.17.2.0/24 т.е. 172.17.2.0 172.17.3.1
Конкретные строчки конфига пожеланию могу выкатить, как и сами конфиги.
Теперь на шлюзе филиала route add 172.17.2.0 172.17.4.x где икс адрес опенвпн клиента сети этого филиала.
И на шлюзе ГО add 172.17.4.0 172.17.2.x где х - локальный адрес опенвпн сервера в ГО.
Теперь все узлы в цепочке знают как достичь друг друга, т.е. любая машина из офиса будет пинговать любую в филиале и наоборот.
З.Ы. данная конфигурация имеет место быть лишь в том случае если айпишники тап интерфейсам филиалов выдаются сервером статически.

Re: OpenVPN DNS

Добавлено: 2009-11-18 19:44:25
reLax
2 opt1k
Спасибо ! Благодарю за проявленное внимание !
Короче я все понял. Я изначально не туда смотрел. Исторически сложилось так, что в этом филиале компьютеры добавлялись по одному и достаточно редко, а шлюз свой в филиале (в качестве, естественно, FreeBSD, которого tap0 - 172.17.3.2) появился вообще сравнительно недавно. Ну Богом забытый филиал, как говорится. В итоге пока его не было - клиенты OpenVPN создавались по одному. В итоге - да, на данный момент куча отдельных туннелей с каждой клиентской рабочей станции. Ну туннели ладно, пока это не страшно - главная моя ошибка состояла в том, что я зациклился на tap-интерефейсах клиентов. Вообщем, сегодня сделал так:

На шлюзе ГО, являющимся OpenVPN-сервером прописал статический роут:

Код: Выделить всё

static_routes="virtual1 virtual2 virtual3 virtual4"
...
route_virtual4="-net 172.17.4.0/24 172.17.3.2"
На клиентах ГО:

Код: Выделить всё

route -p add 172.17.4.0 mask 255.255.255.0 172.17.2.100
Подправил pf - все прекрасно заработало. DNS-записи поменял на локальные филиала, поставил туда кеширущий с DC DNS (на случай, если инет вырубится вдруг - чтобы локальные ресурсы и принтеры работали). На данный момент устраивает. Но нужно решить проблемы с этими "туннелями". Вообщем, сделаю - отпишусь и еще раз спасибо скажу :)

Re: OpenVPN DNS

Добавлено: 2009-11-19 15:10:33
opt1k
рад был помочь. У меня пока только в планах в филиалы фряшные маршрутизаторы ставить, поэтому эту функцию пока что выполняют всяки XP и Vist'ы. Надо сказать что прекрасно выполняют.

Re: OpenVPN DNS

Добавлено: 2009-11-21 9:16:27
reLax
Ну основная проблема проблема использования продуктов корпорации Microsoft - это стоимость. Ясное дело, настроив грамотно даже примитивный firewall проблем не будет. Сам когда-то давно cидел на ISA (продукт, в принципе, реально достойный, что тут говорить). Да и все поделки open source под Microsoft, конечно же уступают в своей функциональности (взять тот-же проект mono, Samba или тот-же wine). Чем хорош аля Unix - так это тем, что головой думать заставляет, понимать изнутри, а не уровне "Мы за тебя все продумали и сделали, как Мы посчитали нужным, разжевали и в рот положили, а тебе осталось только заплатить и проглотить".