Показаны различия между двумя версиями страницы.
| Следующая версия | Предыдущая версия | ||
|
linux:openvpn:2office [2012/02/21 12:07] linko22@gmail.com создано |
linux:openvpn:2office [2012/02/21 12:19] (текущий) linko22@gmail.com |
||
|---|---|---|---|
| Строка 12: | Строка 12: | ||
| - | ====== Устанавливаем сервер (serv1) | + | ===== Устанавливаем сервер (serv1) ===== |
| После нетривиальной установки, | После нетривиальной установки, | ||
| - | | + | < |
| + | # cat / | ||
| + | auto lo | ||
| + | iface lo inet loopback | ||
| - | auto lo | + | auto eth0 |
| - | iface lo inet loopback | + | iface eth0 inet static |
| - | + | address 10.0.0.10 | |
| - | | + | netmask 255.255.255.0 |
| - | iface eth0 inet static | + | |
| - | address 10.0.0.10 | + | |
| - | | + | |
| - | + | ||
| - | auto eth1 | + | |
| - | iface eth1 inet static | + | |
| - | address 192.168.120.20 | + | |
| - | | + | |
| + | auto eth1 | ||
| + | iface eth1 inet static | ||
| + | address 192.168.120.20 | ||
| + | netmask 255.255.255.0 | ||
| + | </ | ||
| Делаем из него роутер путем добавления в / | Делаем из него роутер путем добавления в / | ||
| - | | + | < |
| Настраиваем путь к репозиторям из которых будем устанавливать ПО: | Настраиваем путь к репозиторям из которых будем устанавливать ПО: | ||
| - | | + | < |
| + | # cat / | ||
| - | | + | deb http:// |
| - | deb-src http:// | + | deb-src http:// |
| - | | + | deb http:// |
| - | deb-src http:// | + | deb-src http:// |
| - | + | ||
| - | deb http:// | + | |
| - | deb-src http:// | + | |
| + | deb http:// | ||
| + | deb-src http:// | ||
| + | </ | ||
| Дальше устанавливаем дополнительное ПО, предварительно обновившись: | Дальше устанавливаем дополнительное ПО, предварительно обновившись: | ||
| - | | + | < |
| - | # aptitude upgrade | + | # aptitude update |
| - | # aptitude install console-cyrillic mc traceroute openvpn vsftpd | + | # aptitude upgrade |
| + | # aptitude install console-cyrillic mc traceroute openvpn vsftpd | ||
| + | </ | ||
| + | Для работы OpenVPN необходимо создать сретификаты и конфигурационный файл openvpn.conf. | ||
| - | Для | + | Для |
| - | файл openvpn.conf. | + | |
| - | Для генерирования сертификатов переходим в каталог | + | < |
| - | # cd / | ||
| - | |||
| - | |||
| - | Заполняем шаблонный файл с пременными vars. Я заполнил только последнюю | ||
| - | часть с данными о фирме, городе и т.п., плюс изменил директорию с | ||
| - | ключами: | ||
| - | |||
| - | export KEY_DIR="/ | ||
| + | Заполняем шаблонный файл с пременными vars. Я заполнил только последнюю часть с данными о фирме, городе и т.п. | ||
| Генерируем сертификаты: | Генерируем сертификаты: | ||
| - | | + | < |
| - | # ./pkitool -initca | + | # ./ |
| - | # ./pkitool -server server | + | # ./ |
| - | # ./pkitool client | + | # ./ |
| + | # ./pkitool client | ||
| + | </ | ||
| + | Созданные сертификаты должны появиться в вышеуказанной папке, если конечно вы ее предварительно создали. | ||
| - | Созданные сертификаты должны появиться в вышеуказанной папке, если | + | Дальше пишем конфиг сервера. Читал разные статьи на эту тему, наступал на грабли, |
| - | конечно вы ее предварительно создали. | + | |
| - | Дальше пишем конфиг сервера. Читал разные статьи на эту тему, наступал | + | < |
| - | на грабли, | + | #cat /etc/openvpn/openvpn.conf |
| - | которые лежат в папке | + | |
| - | /usr/share/doc/openvpn/ | + | |
| - | такой конфиг: | + | |
| - | #cat / | + | dev tun |
| - | + | tls-server | |
| - | | + | proto udp |
| - | tls-server | + | port 3333 |
| - | proto udp | + | comp-lzo |
| - | port 3333 | + | persist-tun |
| - | comp-lzo | + | persist-key |
| - | persist-tun | + | |
| - | persist-key | + | |
| | | ||
| - | | + | # указываем узловые точки виртуальной сети |
| - | ifconfig 10.1.0.1 10.1.0.2 | + | ifconfig 10.1.0.1 10.1.0.2 |
| - | # добавляем маршрут к локальной сети филиала | + | # добавляем маршрут к локальной сети филиала |
| - | route 192.168.110.0 255.255.255.0 | + | route 192.168.110.0 255.255.255.0 |
| - | + | ||
| - | dh / | + | |
| - | ca / | + | |
| - | cert / | + | |
| - | key / | + | |
| - | log /var/log/openvpn.log | + | dh /etc/openvpn/ |
| - | verb 3 | + | ca /etc/openvpn/2.0/ |
| + | cert / | ||
| + | key / | ||
| + | log / | ||
| + | verb 3 | ||
| + | </ | ||
| Все готово, | Все готово, | ||
| - | | + | < |
| - | # ps -ely | grep openvpn | + | # / |
| + | # ps -ely | grep openvpn | ||
| + | </ | ||
| + | Для полного счастья добавляем правила в iptables (приведенный ниже вариант может отличаться, | ||
| + | < | ||
| + | iptables -A INPUT -p udp -dport 3333 -j ACCEPT | ||
| + | iptables -A INPUT -i tun0 -j ACCEPT | ||
| + | iptables -A FORWARD -i tun0 -j ACCEPT | ||
| + | iptables -A FORWARD -o tun0 -j ACCEPT | ||
| + | </ | ||
| - | Для полного | + | ===== Установка клиента |
| - | вариант может отличаться, в зависимости от вашей конфигурации): | + | |
| - | iptables -A INPUT -p udp -dport 3333 -j ACCEPT | + | В плане установки и настройки системы проделываем то же самое, что и с предыдущем сервером. |
| - | iptables -A INPUT -i tun0 -j ACCEPT | + | |
| - | iptables -A FORWARD -i tun0 -j ACCEPT | + | |
| - | iptables -A FORWARD -o tun0 -j ACCEPT | + | |
| + | < | ||
| + | # cat / | ||
| - | Установка клиента (serv2) | + | auto lo |
| + | iface lo inet loopback | ||
| - | В плане установки и настройки системы проделываем то же самое, что и с | + | auto eth0 |
| - | предыдущем сервером. | + | iface eth0 inet static |
| + | address 10.0.0.20 | ||
| + | netmask 255.255.255.0 | ||
| - | # cat /etc/ | + | auto eth1 |
| + | iface eth1 inet static | ||
| + | address 192.168.110.10 | ||
| + | netmask 255.255.255.0 | ||
| + | </code> | ||
| - | auto lo | + | Сертификаты нужно скопировать с центрального сервера. Я для этих целей поднимал там ftp. |
| - | iface lo inet loopback | + | < |
| + | dev tun | ||
| + | tls-client | ||
| + | remote 10.0.0.10 | ||
| + | proto udp | ||
| + | port 3333 | ||
| + | comp-lzo | ||
| + | persist-tun | ||
| + | persist-key | ||
| - | auto eth0 | + | # указываем узловые точки виртуальной сети |
| - | iface eth0 inet static | + | ifconfig |
| - | address | + | # добавляем маршрут к локальной сети офиса |
| - | | + | route 192.168.120.0 |
| - | auto eth1 | + | dh / |
| - | iface eth1 inet static | + | ca / |
| - | address 192.168.110.10 | + | cert / |
| - | | + | key / |
| + | log / | ||
| + | verb 3 | ||
| + | </ | ||
| - | Сертификаты нужно | + | Запускаем: |
| - | поднимал там ftp. | + | |
| - | dev tun | + | < |
| - | tls-client | + | |
| - | remote 10.0.0.10 | + | |
| - | proto udp | + | |
| - | port 3333 | + | |
| - | comp-lzo | + | |
| - | persist-tun | + | |
| - | persist-key | + | |
| - | # указываем узловые точки виртуальной сети | + | Правим фаервол: |
| - | ifconfig 10.1.0.2 10.1.0.1 | + | |
| - | # добавляем маршрут к локальной сети офиса | + | |
| - | route 192.168.120.0 255.255.255.0 | + | |
| - | dh / | + | < |
| - | ca / | + | iptables -A INPUT -i tun0 -j ACCEPT |
| - | cert / | + | iptables -A FORWARD -i tun0 -j ACCEPT |
| - | key / | + | iptables -A FORWARD -o tun0 -j ACCEPT |
| + | </code> | ||
| - | log / | + | Пингуем |
| - | verb 3 | + | |
| - | + | ||
| - | + | ||
| - | Запускаем: | + | |
| - | + | ||
| - | # / | + | |
| - | + | ||
| - | + | ||
| - | Правим | + | |
| - | iptables -A INPUT -i tun0 -j ACCEPT | + | Итоговые впечатления: |
| - | iptables -A FORWARD -i tun0 -j ACCEPT | + | |
| - | iptables -A FORWARD -o tun0 -j ACCEPT | + | |
| + | ===== Источник ===== | ||
| - | Пингуем хосты противоположных сетей по их внутренним | + | [[http:// |
| - | серверов и с клиентских машин каждой локальной сети. | + | |
| - | Итоговые впечатления: | ||
| - | может быть достойной заменой Debian. | ||