Воскресенье, 06 Май 2012 21:16

Установка и настройка системы распределения трафика на базе Linux. Этап 4.

Автор
Оцените материал
(6 голосов)

Этап 4. Настройка ВПН между двумя офисами.

Последним шагом в настройке нашего сервера будет настройка VPN-соединения между удалёнными офисами. Для этого, мы также будем пользоваться программой Webmin. Я пользовался, опять же, вот этой статьёй. Проверьте, чтобы были установлены пакеты openvpn и bridge-utils. Потом, нужно будет установить дополнительный модуль для webmin.

Открываем webmin, переходим в левом меню на webmin --> webmin configuration, жмём на значок «Webmin Modules». В поле «From ftp or http URL» вставляем ссылку http://www.openit.it/downloads/OpenVPNadmin/openvpn-2.5.wbm.gz и жмём на «install module». После установки модуля, вы увидите, что появился новый пункт «OpenVPN + CA» в левом меню «Servers». Переходим в него, нажимаем кнопку настройки модуля и приводим настройки вот к такому виду:

Далее, надо сгенерировать сертификат. Заполняем поля примерно вот так:

Жмём «save». После того, как сгенерировался сертификат, нам надо создать ключи для сервера и клиентов. Рассмотрим вариант, что мы объединяем в ВПН два офиса. Если же в сеть будет объединяться более двух офисов, то ключ надо создавать для каждого офиса (клиента) свой. Жмём на значок «Certification Authority List» и генерируем ключи для сервера и для одного клиента:

 

После этого, снова переходим в самое начало меню «OpenVPN + CA» и там жмём на значок «VPN List», ну а там уже на кнопку «new vpn server». В появившемся окне выставляем настройки примерно так:

Поясню кое-какие пункты:

Bridge device — указывается, как у нас будет называться мост в системе.

Network Device for Bridge — eth1 (интрефейс локальной сети).

IP config for bridge: IP-Address/Gateway — указываем локальный IP адрес и маску нашего сервера, которые установлены на eth1.

IP-Range for Bridge-Clients — диапазон адресов, которые будут выдаваться VPN-клиентам.

Persist/unpersist ifconfig-pool data to file, at seconds intervals (default=600), as well as on program startup and shutdown (option ifconfig-pool-persist) — Эта опция позволяет запоминать серверу ip-адреса, которые присвоились тому или иному клиенту. Таким образом, у клиентов будут постоянные ip-адреса. Это нам позволит настраивать маршруты всевозможными способами.

Because the OpenVPN server mode handles multiple clients through a single tun or tap interface, it is effectively a router (option client-to-client) — позволяет клиентам видеть друг друга.

Encrypt packets with cipher algorithm (option cipher) — метод шифрования трафика между сервером и клиентом.

Don't re-read key files (option persist-key) — не перезапрашивать данные ключа

Don't close and reopen TUN/TAP device or run up/down scripts (option persist-tun) — не закрывать и не рестартовать TAP device при перезапуске соединения.

keepalive (A helper directive designed to simplify the expression of **ping** and **ping-restart** in server mode configurations) — контроль за состоянием соединений. В случае если по туннелю не передаются данные, через некоторое время посылается ping, для того чтобы соединение не разрывалось.

Additional Configurations: route 192.168.199.0 255.255.255.0 192.168.1.230 — здесь мы прописали маршрут для того, чтобы сервер мог видеть сетку за клиентом. За клиентом, которому присвоится ip-адрес 192.168.1.230. Мы заранее знаем, что за сервером клиента сеть имеется диапазон адресов 192.168.199.0/24.

Сохраням. И жмём на надпись «client list»:

Дальше, нажимаем кнопку «new vpn client» и видим окно настроек впн-клиента, в котором ничего менять не нужно. Сохраняем его, как есть. Если же у вас несколько впн-клиентов, то вы должны были создать для каждого из них свой ключ, а в этом окне вам нужно будет сначала выбрать один из этих ключей и создать для него клиента.

После того, как создали клиента, жмём на текст «Export»:

Webmin вам предложит сохранить zip-файл. В этом файле содержится конфиг, сертификат и ключ для вашего клиентского офиса. Его нужно любым доступным способом скопировать на сервер, который будет являться клиентом. И уже там, его надо распаковать и всё содержимое положить в каталог /etc/openvpn. Далее, уже на машине, которая будет сервером openvpn, надо внести правку в вебминовские скрипты bridge_end и bridge_start, которые находятся в каталоге /usr/libexec/webmin/openvpn/br_scripts. В каждом из этих скриптов найдём строчки:

setbr=false
isbr=false
brexists=false
iseth=false
istap=false
isip=false
isnetmask=false
isgw=false
isnamesrv=false

И над ними добавим ещё одну, вот такую строчку:

PATH=$PATH:/usr/sbin/:/sbin/

Сохраним. Это мы сделали для того, чтобы запустился сервис openvpn. И после того, как мы отредактировали скрипты, запустим openvpn на сервере и на клиенте:

service openvpn start

После этого, нам надо будет добавить кое-какие правила в iptables как на сервере, так и на клиенте openvpn. Итак, на сервере, в цепочки INPUT и FORWARD нам надо добавить правила:

-A INPUT -i br0 -j ACCEPT
-A FORWARD -i br0 -j ACCEPT

В webmin они будут выглядеть так:

На клиенте в цепочки INPUT и FORWARD также добавим подобные правила:

-A INPUT -i tap0 -j ACCEPT
-A FORWARD -i tap0 -j ACCEPT

В вебмине она будет выглядеть почти также, как и на сервере. Только здесь интерфейс tap0, а там br0. Не забываем применить правила фаервола.

Если всё правильно, то обе машины должны пинговать удалённую локальную сеть друг друга, ровно как и рабочие станции удалённых офисов тоже должны обмениваться пингом друг с другом. Не забываем поставить сервис openvpn в автозапуск.
На этом всё! Теперь у нас есть полноценная система распределения, контроля и учёта трафика, а также офисы, соединённые в VPN Улыбаюсь

Вернуться обратно на:
Этап 1
Этап 2
Этап 3

Прочитано 14705 раз Последнее изменение Воскресенье, 21 Октябрь 2012 12:28

You have no rights to post comments

Вы здесь: Home Мои статьи Linux Fedora/CentOS/RedHat Установка и настройка системы распределения трафика на базе Linux. Этап 4.