Wirenboard6:InstallingOnTheRemoteSite: различия между версиями

Нет описания правки
Строка 182: Строка 182:


</pre>
</pre>
== VPN ==
Для доступа к контроллеру мы будем использовать OpenVPN. Предполагаем, что сервер уже есть, осталось установить и настроить клиент на контроллере.
Чтобы обеспечить большую надежность, мы настраиваем на сервере с 2 IP-адресами два серверных процесса, один из которых слушает на порту 1194 TCP на IP1, а второй  — на порту 1194 UDP на IP2. (Это не обязательно, вы можете использовать один сервер).
На контроллере мы поднимаем 2 OpenVPN-клиента и явно задаем маршрут для IP2 через интерфейс ppp0 для одного из них.
Установка OpenVPN — стандартная, с использованием open-rsa.
Для этого на контроллере устанавливаем openvpn и easy-rsa:
<pre>apt-get install openvpn easy-rsa</pre>
Копируем
<pre>cp -R /usr/share/easy-rsa /etc/openvpn/</pre>
Копируем сертификат удостоверяющего центра <code>ca.crt</code> на контроллер в директорию <code>/etc/openvpn/easy-rsa/keys</code>
В директории
<code>/etc/openvpn/easy-rsa</code>
создаем поддиректорию <code>keys</code>:
<pre>mkdir keys && chmod 600 keys && cd keys</pre>
Создаем запрос на подписывание сертификата (с именем, соответствующим серийному номеру контроллера, в данном случае A7ZO7UCC):
<pre>
cd /etc/openvpn/easy-rsa/
source ./vars
ln -s openssl-1.0.0.cnf openssl.cnf
./build-req A7ZO7UCC
</pre>
Копируем полученный запрос <code>A7ZO7UCC.csr</code> на сервер в произвольную директорию и подписываем его. 
<pre>
cd /etc/openvpn/easy-rsa
source ./vars
./sign-req /root/certs/A7ZO7UCC
</pre>
Подписанный сертификат <code>A7ZO7UCC.crt</code> копируем на контроллер в директорию <code>/etc/openvpn/easy-rsa/keys</code>.
На сервере в конфигурационном файле (<code>/etc/vpn/server.conf</code>) смотрим, какой файл соответствия клиент-адрес указан в параметре <code>ifconfig-pool-persists</code> и в этот файл добавляем адрес для клиента-контроллера из диапазона сетевых адресов, описанного в параметре <code>server</code> конфигурационного файла.
Например,
<pre>
service openvpn stop
mcedit /etc/openvpn/ipp.txt
</pre>
Добавляем строку <code>A7ZO7UCC,10.8.0.48</code>
<pre>service openvpn start</pre>
Для второго экземпляра сервера такую же операцию выполняем с его конфигурационными файлами, IP-адреса должны различаться, например, добавляем запись
<code>A7ZO7UCC,10.9.0.48</code>
Конфигурационные файлы для клиента на контроллере для двух соединений будем хранить в файлах <code>/etc/openvpn/client.conf</code> и <code>/etc/openvpn/client1.conf</code>.
Содержимое файла настройки клиента:
<pre>
client
dev tun
proto udp
remote vpn.mydomain.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/A7ZO7UCC.crt
key /etc/openvpn/easy-rsa/keys/A7ZO7UCC.key
remote-cert-tls server
verb 3
link-mtu 1542
keysize 128
#keysize 128 -- для совместимости с имеющимися клиентами
</pre>
В файле конфигурации второго vpn-подключения <code>сlient1.conf</code> замените <code>proto udp</code> на <code>proto tcp</code> и укажите второй IP-адрес сервера в параметре <code>remote</code>.
Автозагрузка сервиса OpenVPN на контроллере включается командой:
<pre>update-rc.d openvpn defaults</pre>
Проверяем доступность сервера
<code>ping 10.8.0.1</code>
5813

правок