|
|
www.lissyara.su
—> статьи
—> FreeBSD
—> Security
—> Установка и настройка OpenVPN
Установка и настройка OpenVPN с ключом pkcs12
Автор: Cancer.
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах, а, в свою очередь, админы имели удаленный доступ к ПК филиалов по VNC, RDP итд итп.
В офисе 2 канала в интернет:
IP=86.86.ххx.x (основной канал) и IP=90.90.xx.x (резервный канал).
В офисе работает скрипт переключение каналов, если вдруг упадет основной канал скрипт переключится на резервный канал. Филиалы должны переподключиться на резервный канал при падении основного интернет-канала в офисе, а при восстановлении основного интернет-канала в офисе, переподключиться обратно на основной.
Почему OpenVPN?
1. OpenVPN - кроссплатформенное программное обеспечение, а для меня это очень важно, так как на гейтах филиалах находятся разные операционные системы.
OpenVPN используется на Solaris, OpenBSD, FreeBSD, NetBSD, GNU/Linux, Apple Mac OS X, QNX и Microsoft Windows.
2. Нужно видеть всю сеть за гейтом филиала и обратно, а именно объединить все подсети.
3. Компрессия с помощью библиотеки компрессии LZO, для сжатия потока данных.
4. Шифрование канала, для обеспечения безопасности управляющего канала и потока данных, OpenVPN использует библиотеку OpenSSL.
Исходные данные:
+---------------+----------------+--------------------+
|Подразделение | Подсеть | ОС гейта/клиента |
+---------------+----------------+--------------------+
|Офис | 192.168.0.0/24 | FreeBSD |
|Филиал №1 | 192.168.1.0/24 | FreeBSD |
|Филиал №2 | 192.168.2.0/24 | Windows XP |
|Филиал №3 | 192.168.3.0/24 | CentOS |
|Sysadmin | | Windows XP |
+---------------+----------------+--------------------+
|
Схема сети:
//> cd /usr/ports/security/openvpn
/usr/ports/security/openvpn/> make config
|
+--------------------------------------------------------------------+
| Options for openvpn 2.1.4 |
| +----------------------------------------------------------------+ |
| | [ ] PW_SAVE Interactive passwords may be read from a file | |
| | [ ] PKCS11 Use security/pkcs11-helper | |
| | | |
| | | |
| | | |
| | | |
| | | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
|
/usr/ports/security/openvpn/> make install clean
| Далее переходим в каталог ../easy-rsa/2.0/
//> cd /usr/local/share/doc/openvpn/easy-rsa/2.0/
|
/usr/local/share/doc/openvpn/easy-rsa/2.0/> ee vars
| В нем меняем 1 строку
# Меняем export KEY_DIR="$EASY_RSA/keys" на
export KEY_DIR="$EASY_RSA/keys/server"
# меняем export KEY_SIZE=1024 на 2048
# (тем самым увеличим размер ключей с 1024 бит до 2048 бит)
export KEY_SIZE=2048
|
Даем на скрипты права на исполняемость r-xr--r--
/usr/local/share/doc/openvpn/easy-rsa/2.0/> chmod 544 *
|
Создаем директорию куда у нас будут создаваться/храниться ключи и сертификаты.
/usr/local/share/doc/openvpn/easy-rsa/2.0/> mkdir -p keys/server
|
Далее запускаем shell
/usr/local/share/doc/openvpn/easy-rsa/2.0/> sh
|
#. ./vars
NOTE: when you run ./clean-all, I will be doing a rm -rf on
/usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server
#./clean-all
|
Создаем ключи для нашего сервера OpenVPN
Создаем 2 ключа (ca.key и dh2048.pem) и по 1 ключу/сертификату (server.key и server.crt) только для сервера OpenVPN и дополнительный ключ (ta.key) для сервера и клиента.
Создаем их один раз и навсегда.
1. Создаем 1-ый ключ Certificate Authority
# ./build-ca
Generating a 2048 bit RSA private key
.....................++++++
..++++++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:RU
State or Province Name (full name) [CA]:Rostov-on-Don
Locality Name (eg, city) [SanFrancisco]:Rostov-on-Don
Organization Name (eg, company) [Fort-Funston]:server
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) [Fort-Funston CA]:server
Name []:server
Email Address [me@myhost.mydomain]:root@localhost
#
|
2. Создаем сертификат X.509
# ./build-key-server server
Generating a 2048 bit RSA private key
.........++++++
..........................++++++
writing new private key to 'server.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:RU
State or Province Name (full name) [CA]:Rostov-on-Don
Locality Name (eg, city) [SanFrancisco]:Rostov-on-Don
Organization Name (eg, company) [Fort-Funston]:server
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) [server]:server
Name []:server
Email Address [me@myhost.mydomain]:root@localhost
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:server
Using configuration from /usr/local/share/doc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'RU'
stateOrProvinceName :PRINTABLE:'Rostov-on-Don'
localityName :PRINTABLE:'Rostov-on-Don'
organizationName :PRINTABLE:'server'
organizationalUnitName:PRINTABLE:'server'
commonName :PRINTABLE:'server'
name :PRINTABLE:'server'
emailAddress :IA5STRING:'root@localhost'
Certificate is to be certified until Sep 6 19:11:59 2020 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
#
|
3. Генерируем 2048 битный ключ с помощью алгоритма Диффи Хеллмана
# ./build-dh
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
...............................+.......+..............................++*++*++*
..............+.....*................++*..............................++.......
#
|
Выходим из shell
4. Создаем TLS-ключ (который нужен как и серверу, так и клиенту)
/../../../../openvpn/easy-rsa/2.0/> openvpn --genkey --secret keys/server/ta.key
|
Создаем директории для нашего OpenVPN сервера где будут храниться конфиг, ключи, сертификаты и настройки клиентов
//> mkdir /usr/local/etc/openvpn
//> mkdir /usr/local/etc/openvpn/keys
//> mkdir /usr/local/etc/openvpn/ccd
|
Переходим в директорию с ключами OpenVPN
//> cd /usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server/
|
Копируем ключи из /usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server/
в директорию /usr/local/etc/openvpn/keys
/../../easy-rsa/2.0/keys/server/> cp ca.crt /usr/local/etc/openvpn/keys/
/../../easy-rsa/2.0/keys/server/> cp server.crt /usr/local/etc/openvpn/keys/
/../../easy-rsa/2.0/keys/server/> cp server.key /usr/local/etc/openvpn/keys/
/../../easy-rsa/2.0/keys/server/> cp dh2048.pem /usr/local/etc/openvpn/keys/
/../../easy-rsa/2.0/keys/server/> cp ta.key /usr/local/etc/openvpn/keys/
|
получим следующий список файлов которые нужны для работы сервера
//> ls /usr/local/etc/openvpn/keys
ca.crt dh2048.pem server.crt server.key ta.key
|
Создаем конфигурационный файл нашего OpenVPN сервера.
//> ee /usr/local/etc/openvpn/server.conf
|
# указываем на каком локальном интерфейсе OpenVPN будет слушать
# по умолчанию OpenVPN слушает все интерфейсы
#local xxx.xxx.xx.x
# порт на котором работает сервер
port 1194
# протокол - TCP или UDP
proto udp
# используемый тип устройства и номер
dev tun0
# указываем по каким интерфейсам можно подключаться к OpenVPN по telnet
# указывать нужно IP адреса интерфейсов сервера
management localhost 8329
#management 192.168.0.xx 8329
#management 86.86.xxx.xx 8329
# указываем файл CA
ca /usr/local/etc/openvpn/keys/ca.crt
# указываем файл с сертификатом сервера
cert /usr/local/etc/openvpn/keys/server.crt
# указываем файл с ключем сервера
key /usr/local/etc/openvpn/keys/server.key
# указываем файл с генерированный алгоритмом Диффи Хеллмана
dh /usr/local/etc/openvpn/keys/dh2048.pem
# указываем где находится файл отозванных сертификатов
#crl-verify /usr/local/etc/openvpn/crl.pem
# задаем IP-адрес сервера и маску подсети (виртуальной сети)
server 10.10.100.0 255.255.255.0
# указываем внутренний DNS и WINS серверы
push "dhcp-option DNS 192.168.0.1"
push "dhcp-option DNS 192.168.0.10"
push "dhcp-option WINS 192.168.0.1"
# задаем МАРШРУТ который передаём клиенту
# и маску подсети для того чтобы он "видел"
# сеть за OpenVPN сервером
# Офис
push "route 192.168.0.0 255.255.255.0"
# Филиал №1
push "route 192.168.1.0 255.255.255.0"
# Филиал №2
push "route 192.168.2.0 255.255.255.0"
# Филиал №3
push "route 192.168.3.0 255.255.255.0"
# указываем где хранятся файлы с
# настройками IP-адресов клиентов
client-config-dir ccd
# добавляем маршрут сервер-клиент
route 10.10.100.0 255.255.255.252
# Филиал №1
route 192.168.1.0 255.255.255.0
# Филиал №2
route 192.168.2.0 255.255.255.0
# Филиал №3
route 192.168.3.0 255.255.255.0
# делает сервер OpenVPN основным шлюзом у клиентов
#push "redirect-gateway"
# разрешает видеть клиентам друг друга (по виртуальным IP)
# по умолчанию клиенты видят только сервер
client-to-client
# разрешать подключаться с одинаковым сертификатом/ключом
#duplicate-cn
# включаем TLS аутентификацию
tls-server
# для дополнительной безопасности при
# использовании SSL/TLS, создайте "HMAC firewall"
# для защиты от DoS аттак и флуда UDP порта.
#
# сгенерируйте с помощью:
# openvpn --genkey --secret ta.key
#
# сервер и каждый клиент должны иметь копию этого ключа.
# второй параметр выставляется в '0' для сервера и '1' для клиентов.
tls-auth keys/ta.key 0
# TLS таймаут, полезен если выход в интернет осуществляется
# через GPRS мобильных операторов
tls-timeout 120
# выбираем алгоритм хеширования по умолчанию используется SHA1
# вывод полного списка командой openvpn --show-digests
auth SHA1
# выберите криптографический сертификат.
# этот пункт конфига должен копироваться
# в конфиг клиента, так же как он установлен здесь.
# по умолчанию используется/рекомендуется BF-CBC
# вывод полного списка командой openvpn --show-ciphers
#cipher BF-CBC # Blowfish (default)
#cipher AES-128-CBC # AES
#cipher DES-EDE3-CBC # Triple-DES
cipher BF-CBC
# проверяет активность подключения каждые 10 секунд,
# если в течении 120 сек. нет ответа, подключение закрывается
keepalive 10 120
# сжатия трафика VPN туннеля с помощью библиотеки LZO
# если вы включили сжатие на сервере,
# вы так же должны включить и в конфиге у клиента
comp-lzo
# максимальное количество одновременно подключенных клиентов
max-clients 100
# от какого пользователя и группы будет работать OpenVPN
user nobody
group nobody
# имеет смысл использовать при использовании протокола udp
#mssfix 1450
# эти опции позволяют избежать необходимости
# получения доступа к определенным ресурсам
# после рестарта, т.к. это может быть невозможным
# из-за понижения привилегий.
persist-key
persist-tun
# путь к файлу записи статуса OpenVPN в лог
status /var/log/openvpn/openvpn-status.log
# путь к файлу записи событий происходящих на сервере
# "log" - запись событий в лог будет перезаписываться при перезагрузке демона
# "log-append" - запись событий будет добавляться в лог
log /var/log/openvpn/openvpn.log
# установите необходимый уровень логирования.
# 0 - ничего, за исключением фатальных ошибок
# 4 - подойдет для получения общих сведений
# 5 и 6 пригодяться для отладки проблем соединения
# 9 - максимально возможная информация
verb 3
# макс кол-во однотипных записей в лог
#mute 20
|
Создаем директорию /var/log/openvpn/ и 2 файла где будут храниться логи
//> mkdir /var/log/openvpn/
//> touch /var/log/openvpn/openvpn-status.log
//> touch /var/log/openvpn/openvpn.log
|
Добавляем OpenVPN в автозагрузку системы
openvpn_enable="YES"
openvpn_if="tun"
openvpn_configfile="/usr/local/etc/openvpn/server.conf"
openvpn_dir="/usr/local/etc/openvpn"
|
И запускаем OpenVPN сервер
//> /usr/local/etc/rc.d/openvpn start
Starting openvpn.
//>
|
Проверим в процесcах
//> ps axw | grep openvpn
|
2983 ?? Ss 0:00.00 /usr/local/sbin/openvpn --cd /usr/local/etc/openvpn --daemon openvpn --config /usr/local/etc/openvpn/server.conf
|
Создаем ключи PKCS12 для Филиалов №1,2,3
Переходим в директорию и создаем ключи для филиалов №1,2,3:
filial1.p12, filial2.p12, filial3.p12
pkcs12 имя файла в формате PKCS#12, содержащего сертификат CA, ключ и сертификат клиента. Такой файл и команда заменяют сразу 3 соответствующих файла и команды - .ca, .cert, .key
//> cd /usr/local/share/doc/openvpn/easy-rsa/2.0/
/usr/local/share/doc/openvpn/easy-rsa/2.0/> sh
|
Эту команду нужно запускать при каждом создании новых ключей.
#. ./vars
NOTE: when you run ./clean-all, I will be doing a rm -rf on
/usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server
#
|
Создаем ключ для Филиала №1
# ./build-key-pkcs12 filial1
Generating a 2048 bit RSA private key
................................++++++
...........................................++++++
writing new private key to 'filial1.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:RU
State or Province Name (full name) [CA]:Rostov-on-Don
Locality Name (eg, city) [SanFrancisco]:Rostov-on-Don
Organization Name (eg, company) [Fort-Funston]:server
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) [filial1]:
Name []:filial1
Email Address [me@myhost.mydomain]:filial1@localhost
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:filial1
Using configuration from /usr/local/share/doc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'RU'
stateOrProvinceName :PRINTABLE:'Rostov-on-Don'
localityName :PRINTABLE:'Rostov-on-Don'
organizationName :PRINTABLE:'server'
organizationalUnitName:PRINTABLE:'server'
commonName :PRINTABLE:'filial1'
name :PRINTABLE:'filial1'
emailAddress :IA5STRING:'filial1@localhost'
Certificate is to be certified until Sep 6 19:20:11 2020 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
Enter Export Password:
Verifying - Enter Export Password:
#
|
Создаем ключ для Филиала №2
# ./build-key-pkcs12 filial2
Generating a 2048 bit RSA private key
................................++++++
...........................................++++++
writing new private key to 'filial2.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:RU
State or Province Name (full name) [CA]:Rostov-on-Don
Locality Name (eg, city) [SanFrancisco]:Rostov-on-Don
Organization Name (eg, company) [Fort-Funston]:server
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) [filial2]:
Name []:filial2
Email Address [me@myhost.mydomain]:filial2@localhost
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:filial2
Using configuration from /usr/local/share/doc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'RU'
stateOrProvinceName :PRINTABLE:'Rostov-on-Don'
localityName :PRINTABLE:'Rostov-on-Don'
organizationName :PRINTABLE:'server'
organizationalUnitName:PRINTABLE:'server'
commonName :PRINTABLE:'filial2'
name :PRINTABLE:'filial2'
emailAddress :IA5STRING:'filial2@localhost'
Certificate is to be certified until Sep 6 19:21:14 2020 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
Enter Export Password:
Verifying - Enter Export Password:
#
|
Создаем ключ для Филиала №3
# ./build-key-pkcs12 filial3
Generating a 2048 bit RSA private key
................................++++++
...........................................++++++
writing new private key to 'filial3.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:RU
State or Province Name (full name) [CA]:Rostov-on-Don
Locality Name (eg, city) [SanFrancisco]:Rostov-on-Don
Organization Name (eg, company) [Fort-Funston]:server
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) [filial3]:
Name []:filial3
Email Address [me@myhost.mydomain]:filial3@localhost
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:filial3
Using configuration from /usr/local/share/doc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'RU'
stateOrProvinceName :PRINTABLE:'Rostov-on-Don'
localityName :PRINTABLE:'Rostov-on-Don'
organizationName :PRINTABLE:'server'
organizationalUnitName:PRINTABLE:'server'
commonName :PRINTABLE:'filial3'
name :PRINTABLE:'filial3'
emailAddress :IA5STRING:'filial3@localhost'
Certificate is to be certified until Sep 6 19:23:16 2020 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
Enter Export Password:
Verifying - Enter Export Password:
#
|
Создаем ключ для Системного администратора
# ./build-key-pkcs12 sysadmin
Generating a 2048 bit RSA private key
................................++++++
...........................................++++++
writing new private key to 'sysadmin.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [US]:RU
State or Province Name (full name) [CA]:Rostov-on-Don
Locality Name (eg, city) [SanFrancisco]:Rostov-on-Don
Organization Name (eg, company) [Fort-Funston]:server
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) [sysadmin]:
Name []:sysadmin
Email Address [me@myhost.mydomain]:sysadmin@localhost
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:sysadmin
Using configuration from /usr/local/share/doc/openvpn/easy-rsa/2.0/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'RU'
stateOrProvinceName :PRINTABLE:'Rostov-on-Don'
localityName :PRINTABLE:'Rostov-on-Don'
organizationName :PRINTABLE:'server'
organizationalUnitName:PRINTABLE:'server'
commonName :PRINTABLE:'sysadmin'
name :PRINTABLE:'sysadmin'
emailAddress :IA5STRING:'sysadmin@localhost'
Certificate is to be certified until Sep 6 19:27:27 2020 GMT (3650 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
Enter Export Password:
Verifying - Enter Export Password:
#
|
Вот мы и создали 3 ключа для филиалов и 1 для системного администратора
//> ls /usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server | grep .p12
filial1.p12
filial2.p12
filial3.p12
sysadmin.p12
//>
|
В директории /usr/local/etc/openvpn/ccd создаем файла с настройками для Филиалов и системного администратора
Филиал №1
//> ee /usr/local/etc/openvpn/ccd/filial1
| С содержанием:
ifconfig-push виртуальный IP клиента,
iroute какая подсеть за клиентом
ifconfig-push 10.10.100.2 10.10.100.1
iroute 192.168.1.0 255.255.255.0
| Филиал №2
//> ee /usr/local/etc/openvpn/ccd/filial2
| С содержанием:
ifconfig-push виртуальный IP клиента,
iroute какая подсеть за клиентом
ifconfig-push 10.10.100.6 10.10.100.5
iroute 192.168.2.0 255.255.255.0
| Филиал №3
//> ee /usr/local/etc/openvpn/ccd/filial3
| С содержанием:
ifconfig-push виртуальный IP клиента,
iroute какая подсеть за клиентом
ifconfig-push 10.10.100.10 10.10.100.9
iroute 192.168.3.0 255.255.255.0
|
Системный администратор
//> ee /usr/local/etc/openvpn/ccd/sysadmin
| С содержанием:
ifconfig-push виртуальный IP клиента
ifconfig-push 10.10.100.14 10.10.100.13
|
Перезапустим OpenVPN Сервер
//> /usr/local/etc/rc.d/openvpn restart
Stopping openvpn.
Starting openvpn.
//>
|
Проверим работу OpenVPN
//> sockstat | grep 1194
nobody openvpn 29578 5 udp4 *:1194 *:*
//>
|
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 10.10.100.1 --> 10.10.100.2 netmask 0xffffffff
Opened by PID 29517
| Все нормально работает
Не забываем открыть порт 1194 если вы используете firewall
Для pf правило выглядит так
pass in quick on $ext_if inet proto {udp} from any to self port 1194
|
Установка и настройка OpenVPN Филиала №1 (FreeBSD)
Будем настраивать гейт у филиала №1 на FreeBSD
//> cd /usr/ports/security/openvpn/
/usr/ports/security/openvpn/> make config
|
+--------------------------------------------------------------------+
| Options for openvpn 2.1.4 |
| +----------------------------------------------------------------+ |
| | [ ] PW_SAVE Interactive passwords may be read from a file | |
| | [ ] PKCS11 Use security/pkcs11-helper | |
| | | |
| | | |
| | | |
| | | |
| | | |
+-+------v(+)------------------------------------------------------+-+
| [ OK ] Cancel |
+--------------------------------------------------------------------+
|
/usr/ports/security/openvpn/> make install clean
|
//> mkdir /usr/local/etc/openvpn
//> mkdir /usr/local/etc/openvpn/keys
| Создаем конфиг клиента
//> ee /usr/local/etc/openvpn/filial1.conf
|
dev tun
proto udp
# IP сервера (основной канал)
remote 86.86.ххx.x
# IP сервера (резервный канал)
remote 90.90.xx.x
port 1194
client
resolv-retry infinite
pkcs12 keys/filial1.p12
tls-client
tls-auth keys/ta.key 1
auth SHA1
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3
|
Создаем директорию /var/log/openvpn/ и 2 файла где будут храниться логи
//> mkdir /var/log/openvpn/
//> touch /var/log/openvpn/openvpn-status.log
//> touch /var/log/openvpn/openvpn.log
|
Теперь нам нужны ключи с самого сервера
/usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server/filial1.p12
/usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server/ta.key
| копируем их на гейт Филиала №1 /usr/local/etc/openvpn/keys
Добавляем OpenVPN в автозагрузку системы
openvpn_enable="YES"
openvpn_if="tun"
openvpn_configfile="/usr/local/etc/openvpn/filial1.conf"
openvpn_dir="/usr/local/etc/openvpn"
|
И запускаем OpenVPN на филиале
//> /usr/local/etc/rc.d/openvpn start
Starting openvpn.
//>
|
Проверим в процессах
//> ps axw | grep openvpn
|
2983 ?? Ss 0:00.00 /usr/local/sbin/openvpn --cd /usr/local/etc/openvpn --daemon openvpn --config /usr/local/etc/openvpn/filial1.conf
|
Попробуем теперь пингануть DNS сервер Офиса
//> ping -c 4 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: icmp_seq=1 ttl=127 time=30.6 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=127 time=65.5 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=127 time=31.5 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=127 time=31.7 ms
--- 192.168.0.1 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 30.651/39.875/65.579/14.845 ms
|
Ну и посмотрим трассировку.
//> traceroute 192.168.0.1
traceroute to 192.168.0.1 (192.168.0.1), 64 hops max, 40 byte packets
1 10.10.100.1 (10.10.100.1) 28.550 ms 81.022 ms 80.970 ms
2 192.168.0.1 (192.168.0.1) 80.915 ms 80.877 ms 80.831 ms
|
на этом настройка Филиала №1 закончена.
Установка и настройка OpenVPN Филиала №2 (Windows XP)
Будем настраивать гейт у филиала №2 на Windows XP. (Не забываемым расшарить сетевую карту на которую приходит интернет).
Качаем дистрибутив для Windows и устанавливаем его. Скачать
Копируем с сервера ключи в директорию C:\Program Files\OpenVPN\config
/usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server/filial2.p12
/usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server/ta.key
|
Далее создаем конфиг C:\Program Files\OpenVPN\config\filial2.ovpn
dev tun
proto udp
# IP сервера (основной канал)
remote 86.86.ххx.x
# IP сервера (резервный канал)
remote 90.90.xx.x
port 1194
client
resolv-retry infinite
pkcs12 filial2.p12
tls-client
tls-auth ta.key 1
auth SHA1
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
verb 3
|
Теперь нужно что бы служба OpenVPN стартовала с включением ПК
Топаем по пути
Пуск -> Панель управления -> Администрирование -> Службы
|
Попробуем теперь пингануть DNS сервер Офиса
C:\Users\Cancer>ping 192.168.0.1
Обмен пакетами с 192.168.0.1 по с 32 байтами данных:
Ответ от 192.168.0.1: число байт=32 время=28мс TTL=127
Ответ от 192.168.0.1: число байт=32 время=29мс TTL=127
Ответ от 192.168.0.1: число байт=32 время=28мс TTL=127
Ответ от 192.168.0.1: число байт=32 время=28мс TTL=127
Статистика Ping для 192.168.0.1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 28мсек, Максимальное = 29 мсек, Среднее = 28 мсек
C:\Users\Cancer>
|
Ну и посмотрим трассировку
C:\Users\Cancer>tracert 192.168.0.1
Трассировка маршрута к pdc.domain.local [192.168.0.1]
с максимальным числом прыжков 30:
1 32 ms 30 ms 27 ms GATE [10.10.100.1]
2 33 ms 31 ms 30 ms pdc.domain.local [192.168.0.1]
Трассировка завершена.
C:\Users\Cancer>
|
на этом настройка Филиала №2 закончена.
Установка и настройка OpenVPN Филиала №3 (CentOS)
Будем настраивать гейт у филиала №3 на CentOS.
Подключаем epel репозиторий, инфа есть тут
Устанавливаем OpenVPN сервер.
[root@filial3 /]# yum -y install openvpn
|
Копируем с сервера ключи в директорию /etc/openvpn
/usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server/filial3.p12
/usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server/ta.key
|
Создаем конфигурационный файл
[root@filial3 /]# vi /etc/openvpn/filial3.conf
|
dev tun
proto udp
# IP сервера (основной канал)
remote 86.86.ххx.x
# IP сервера (резервный канал)
remote 90.90.xx.x
port 1194
client
resolv-retry infinite
pkcs12 filial3.p12
tls-client
tls-auth ta.key 1
auth SHA1
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
log-append /var/log/openvpn.log
verb 3
|
Теперь добавляем с помощью chkconfig OpenVPN в автозагрузку.
[root@filial3 /]# chkconfig openvpn on
|
Ну и теперь запускаем службу OpenVPN
[root@filial3 /]# service openvpn start
Запускается openvpn: [ OK ]
[root@filial3 /]#
|
Проверяем процесс
[root@filial3 /]# ps axw | grep openvpn
|
5953 ? Ss 0:00 /usr/sbin/openvpn --daemon --writepid /var/run/openvpn/filial3.pid --config filial3.conf --cd /etc/openvpn --script-security 2
5956 pts/0 S+ 0:00 grep openvpn
|
Попробуем теперь пингануть DNS сервер Офиса
[root@filial3 /]# ping -c 4 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=127 time=30.6 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=127 time=65.5 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=127 time=31.5 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=127 time=31.7 ms
--- 192.168.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 30.651/39.875/65.579/14.845 ms
|
Ну и посмотрим трассировку
[root@filial3 /]# traceroute 192.168.0.1
traceroute to 192.168.0.1 (192.168.0.1), 30 hops max, 40 byte packets
1 10.10.100.1 (10.10.100.1) 28.550 ms 81.022 ms 80.970 ms
2 192.168.0.1 (192.168.0.1) 80.915 ms 80.877 ms 80.831 ms
|
Видим все нормально, пинги ходят.
на этом настройка Филиала №3 закончена.
Установка и настройка OpenVPN для системного администратора (Windows XP)
Будем настраивать на Windows XP.
Качаем дистрибутив для Windows и устанавливаем его. Скачать
Копируем с сервера ключи в директорию C:\Program Files\OpenVPN\config
/usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server/sysadmin.p12
/usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server/ta.key
|
Далее создаем конфиг C:\Program Files\OpenVPN\config\sysadmin.ovpn
dev tun
proto udp
remote 86.86.ххx.x
port 1194
client
resolv-retry infinite
pkcs12 sysadmin.p12
tls-client
tls-auth ta.key 1
auth SHA1
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
verb 3
|
Запускаем OpenVPN GUI.exe
В появившейся иконке в трее, нажимаем Connect.
Далее видим, все нормально, подключились.
Пробуем пинговать офис и филиалы.
Отзыв сертификата клиента из базы данных
Тут напишу немного о том как отзывать сертификаты клиентов из базы данных, для того чтобы клиент не мог использовать сертификат для подключения к OpenVPN серверу.
Думаю эта информация будет полезной.
Переходим в директорию со скриптами
//> cd /usr/local/share/doc/openvpn/easy-rsa/2.0/
|
Запускаем shell
/usr/local/share/doc/openvpn/easy-rsa/2.0/> sh
|
#. ./vars
NOTE: when you run ./clean-all, I will be doing a rm -rf on
/usr/local/share/doc/openvpn/easy-rsa/2.0/keys/server
|
Запускаем скрипт отзыва сертификата клиента из базы данных revoke-full, где user1 имя сертификата клиента.
#./revoke-full user1
Using configuration from /usr/local/share/doc/openvpn/easy-rsa/2.0/openssl.cnf
DEBUG[load_index]: unique_subject = "yes"
Revoking Certificate 09.
Data Base Updated
Using configuration from /usr/local/share/doc/openvpn/easy-rsa/2.0/openssl.cnf
DEBUG[load_index]: unique_subject = "yes"
user1.crt: /C=RU/ST=Rostov-on-Don/L=Rostov-on-Don/O=server/OU=server/CN=user1
/name=user1/emailAddress=user1@localhost
error 23 at 0 depth lookup:certificate revoked
# exit
|
После каждого отозванного сертификата, файл с отозванными сертификатами crl.pem копируем в /usr/local/etc/openvpn
//> cp /../../../../../easy-rsa/2.0/keys/server/crl.pem /usr/local/etc/openvpn
|
Обязательно нужно что бы права на файл были 644 (сделаем на всякий случай)
//> chmod 644 /usr/local/etc/openvpn/crl.pem
|
Указываем в конфиге server.conf файл с отозванными сертификатами.
//> ee /usr/local/etc/openvpn/server.conf
|
# указываем где находится файл отозванных сертификатов
crl-verify /usr/local/etc/openvpn/crl.pem
|
И перезагружаем сервер OpenVPN
//> /usr/local/etc/rc.d/openvpn restart
|
Подключение к OpenVPN по telnet
Тут опишу как можно подключатся удаленно к серверу и смотреть кто подключен в данный момент к нашему серверу
Подключаемся с PC администратора по telnet
>INFO:OpenVPN Management Interface Version 1 — type 'help' for more info
status
OpenVPN CLIENT LIST
Updated,Tue Sep 14 10:13:04 2010
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
filial1,87.xxx.xxx.xx:57603,568651354,1418748913,Fri Sep 10 16:28:18 2010
filial2,83.xxx.xxx.xx:3705,20702,30886,Tue Sep 14 10:07:51 2010
filial3,62.xxx.xxx.xx:1041,685422,462374,Tue Sep 14 09:36:58 2010
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
192.168.1.1C,filial1,87.xxx.xxx.xx:57603,Tue Sep 14 10:13:04 2010
192.168.2.1C,filial2,83.xxx.xxx.xx:3705,Tue Sep 14 10:13:04 2010
192.168.3.1C,filial3,62.xxx.xxx.xx:1041,Tue Sep 14 10:13:00 2010
GLOBAL STATS
Max bcast/mcast queue length,0
END
| Более подробный список команд тут
Есть отличная утилита OpenVPN-Control для подключения к OpenVPN. Скачать ее можно тут
Вот скрины программы
Настройка второго OpenVPN на одном сервере
Дописываю для тех кому вдруг нужно будет запустить на одном и том же сервере второй OpenVPN работающий на другом порту, например 65000 и протокол tcp.
Внимание!!!
Доступ на втором OpenVPN будет только к офису, дублировать роутнги на филиалы нельзя.
Переходим в директорию с демонами, копируем демон под другим названием openvpn2
//> cd /usr/local/etc/rc.d
|
/usr/local/etc/rc.d/> cp openvpn openvpn2
|
/usr/local/etc/rc.d/> ls | grep openvpn
openvpn
openvpn2
|
Далее создаем конфиг 2-го сервер OpenVPN
//> ee /usr/local/etc/openvpn/server2.conf
|
# указываем на каком локальном интерфейсе OpenVPN будет слушать
# по умолчанию OpenVPN слушает все интерфейсы
#local xxx.xxx.xx.x
# порт на котором работает сервер
port 65000
# протокол - TCP или UDP
proto tcp
# используемый тип устройства и номер
dev tun1
# указываем по каким интерфейсам можно подключаться к OpenVPN по telnet
# указывать нужно IP адреса интерфейсов сервера
# прошу заметить порт другой так как 8329 уже используется первым сервером
management localhost 8330
#management 192.168.0.xx 8330
#management 86.86.xxx.xx 8330
# указываем файл CA
ca /usr/local/etc/openvpn/keys/ca.crt
# указываем файл с сертификатом сервера
cert /usr/local/etc/openvpn/keys/server.crt
# указываем файл с ключем сервера
key /usr/local/etc/openvpn/keys/server.key
# указываем файл с генерированный алгоритмом Диффи Хеллмана
dh /usr/local/etc/openvpn/keys/dh2048.pem
# указываем где находится файл отозванных сертификатов
#crl-verify /usr/local/etc/openvpn/crl.pem
# задаем IP-адрес сервера и маску подсети (2-ой виртуальной сети)
# будьте внимательны виртуальная подсеть другая.
server 10.10.101.0 255.255.255.0
# указываем внутренний DNS и WINS сервер
push "dhcp-option DNS 192.168.0.1"
push "dhcp-option DNS 192.168.0.10"
push "dhcp-option WINS 192.168.0.1"
# задаем МАРШРУТ который передаём клиенту
# и маску подсети для того чтобы он "видел"
# сеть "Офиса" за OpenVPN сервером
# внимание доступа к филиалам не будет
# так как роутинги заняты будут 1-ым OpenVPN
push "route 192.168.0.0 255.255.255.0"
# указываем где хранятся файлы с
# настройками IP-адресов клиентов
client-config-dir ccd2
# добавляем маршрут сервер-клиент
route 10.10.101.0 255.255.255.252
# делает сервер OpenVPN основным шлюзом у клиентов
#push "redirect-gateway"
# разрешает видеть клиентам друг друга (по виртуальным IP)
# по умолчанию клиенты видят только сервер
client-to-client
# разрешать подключаться с одинаковым сертификатом/ключом
#duplicate-cn
# включаем TLS аутентификацию
tls-server
# для дополнительной безопасности при
# использовании SSL/TLS, создайте "HMAC firewall"
# для защиты от DoS аттак и флуда UDP порта.
#
# сгенерируйте с помощью:
# openvpn --genkey --secret ta.key
#
# сервер и каждый клиент должны иметь копию этого ключа.
# второй параметр выставляется в '0' для сервера и '1' для клиентов.
tls-auth keys/ta.key 0
# TLS таймаут, полезен если выход в интернет осуществляется
# через GPRS мобильных операторов
tls-timeout 120
# выбираем алгоритм хеширования по умолчанию используется SHA1
# вывод полного списка openvpn --show-digests
auth SHA1
# выберите криптографический сертификат.
# этот пункт конфига должен копироваться
# в конфиг клиента, так же как он установлен здесь.
# по умолчанию используется/рекомендуется BF-CBC
# вывод полного списка openvpn --show-ciphers
#cipher BF-CBC # Blowfish (default)
#cipher AES-128-CBC # AES
#cipher DES-EDE3-CBC # Triple-DES
cipher BF-CBC
# проверяет активность подключения каждые 10 секунд,
# если в течении 120 сек. нет ответа, подключение закрывается
keepalive 10 120
# сжатия трафика VPN туннеля с помощью библиотеки LZO
# если вы включили сжатие на сервере,
# вы так же должны включить и в конфиге у клиента
comp-lzo
# максимальное количество одновременно подключенных клиентов
max-clients 100
# от какого пользователя и группы будет работать OpenVPN
user nobody
group nobody
# эти опции позволяют избежать необходимости
# получения доступа к определенным ресурсам
# после рестарта, т.к. это может быть невозможным
# из-за понижения привилегий.
persist-key
persist-tun
# путь к файлу записи статуса OpenVPN в лог
status /var/log/openvpn/openvpn2-status.log
# путь к файлу записи событий происходящих на сервере
# "log" - запись событий в лог будет перезаписываться при перезагрузке демона
# "log-append" - запись событий будет добавляться в лог
log /var/log/openvpn/openvpn2.log
# установите необходимый уровень логирования.
# 0 - ничего, за исключением фатальных ошибок
# 4 - подойдет для получения общих сведений
# 5 и 6 пригодяться для отладки проблем соединения
# 9 - максимально возможная информация
verb 3
# макс кол-во однотипных записей в лог
#mute 20
|
Создаем диру где можно клиентам задавать статический IP
//> mkdir /usr/local/etc/openvpn/ccd2
| Создаем логи для второго сервера
//> touch /var/log/openvpn/openvpn2-status.log
//> touch /var/log/openvpn/openvpn2.log
|
Ну и создадим файл для выдачи статического IP сисадмину
//> ee /usr/local/etc/openvpn/ccd2/sysadmin
|
ifconfig-push 10.10.101.10 10.10.101.9
|
Добавляем второй OpenVPN в rc.conf
openvpn2_enable="YES"
openvpn2_if="tun"
openvpn2_configfile="/usr/local/etc/openvpn/server2.conf"
openvpn2_dir="/usr/local/etc/openvpn"
|
Запускаем его
//> /usr/local/etc/rc.d/openvpn2 start
|
Проверяем работу второго OpenVPN
//> sockstat | grep 65000
nobody openvpn 89594 5 tcp4 *:65000 *:*
//>
|
должны увидеть следующее
tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 10.10.101.1 --> 10.10.101.2 netmask 0xffffffff
Opened by PID 89587
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 10.10.100.1 --> 10.10.100.2 netmask 0xffffffff
Opened by PID 29517
|
Список интерфейсных пар:
[ 1, 2] [ 5, 6] [ 9, 10] [ 13, 14] [ 17, 18]
[ 21, 22] [ 25, 26] [ 29, 30] [ 33, 34] [ 37, 38]
[ 41, 42] [ 45, 46] [ 49, 50] [ 53, 54] [ 57, 58]
[ 61, 62] [ 65, 66] [ 69, 70] [ 73, 74] [ 77, 78]
[ 81, 82] [ 85, 86] [ 89, 90] [ 93, 94] [ 97, 98]
[101,102] [105,106] [109,110] [113,114] [117,118]
[121,122] [125,126] [129,130] [133,134] [137,138]
[141,142] [145,146] [149,150] [153,154] [157,158]
[161,162] [165,166] [169,170] [173,174] [177,178]
[181,182] [185,186] [189,190] [193,194] [197,198]
[201,202] [205,206] [209,210] [213,214] [217,218]
[221,222] [225,226] [229,230] [233,234] [237,238]
[241,242] [245,246] [249,250] [253,254]
|
Документация:
http://forum.ixbt.com/topic.cgi?id=14:40906
http://openvpn.net/index.php/open-source/documentation.html
http://openvpn.net/index.php/open-source/documentation/manuals.html
http://openvpn.net/management.html
http://www.lissyara.su/doc/man/safety/openvpn/
Ссылка на обсуждение: http://forum.lissyara.su/viewtopic.php?f=3&t=28289.
размещено: 2010-08-31,
последнее обновление: 2011-06-08,
автор: Cancer
|
|
|
|
2014-07-27, lissyara
gmirror
Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9
Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту
Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis
Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS
Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT
В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat
Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp
Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration
Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster
HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS
История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire
Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной
Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server
Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
2011-01-07, lissyara
Canon/gphotofs
Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
2010-12-13, Al
IPSec
Описание принципов работы IPSEC и способов аутентификации.
2010-12-07, manefesto
FreeBSD on flash
Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
2010-12-05, Fomalhaut
root ZFS, GPT
Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
2010-09-05, Cancer
Настройка аудиоплеера на ximp3
Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
2010-08-31, Cancer
Установка и настройка OpenVPN
На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
2010-08-25, manefesto
freebsd lvm
Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
2010-04-30, gonzo111
proftpd file auth"a
Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
2010-04-22, lissyara
tw_cli
Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
2010-04-14, fox
MySQL Master+Master
MySQL (Master Master) and (Master Slave) Как настроить репликацию…
2010-03-09, terminus
DNS zones
Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
2010-03-09, aspera
Squid+AD (group access)
Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
2010-03-02, BlackCat
Шлюз: Часть 4
Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
2010-03-01, BlackCat
Шлюз: Часть 3
Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
2010-03-01, BlackCat
Шлюз: Часть 2
Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
2010-03-01, BlackCat
Шлюз: Часть 1
Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
2010-02-23, Morty
darkstat
Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
2010-01-23, gonzo111
squid+sams+sqstat
Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
2009-12-19, schizoid
mpd5 + radius + ng_car + Abills
Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
2009-11-16, lissyara
UFS->ZFS
Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
2009-11-13, gx_ua
fusefs-ntfs
Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
2009-11-12, Morty
LiveCD
Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
2009-09-27, lissyara
Samba как PDC
Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
2009-08-30, terminus
ipfw nat
Подробное руководство по ipfw nat, сложные случаи конфигурации.
2009-08-24, levantuev
HotSpot
Установка Hotspot системы в общественное заведение.
2009-08-18, lissyara
diskless
Создание бездисковых терминалов под управлением FreeBSD - с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов.
2009-07-29, BAV_Lug
Видеонаблюдение
Настройка бюджетного варианта видеонаблюдения на удаленном объекте
2009-07-22, Cancer
OpenLDAP адресная книга
Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin
2009-06-30, SergeySL
AimSniff
Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений
2009-06-25, atrium
Управление правами доступа
Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX.
2009-06-16, DNK
Exim+PgSQL
Установка почтовой системы exim+pgsql на FreeBSD 7.1
2009-05-30, mvalery
HDD(mbr) -> HDD(gpt)
Как разбить диск размером более 2TB на разделы, сделать загрузочным, а затем перенести на него информацию с рабочей системы — донора.
2009-05-22, Cancer
SendXMPP
Отправка сообщений на Джаббер сервер по средствам SendXMPP
2009-05-11, Raven2000
Network UPS Tools
Network UPS Tools представляет собой набор программ, которые обеспечивают общий
интерфейс для мониторинга и администрирование UPS оборудования.
2009-04-29, m0ps
IPSEC over GRE with RIP
Пример IPSEC over GRE и динамическим роутингом (RIP), с ADSL в качестве последней мили на оборудовании Cisco.
2009-04-24, WhiteBear777
qemu network
Появилась необходимость поставить на БСД эмулятор(qemu) и настроить в качестве гостевой ОС Windows XP, предоставив ей выход в локалку и в сеть internet...
2009-04-22, vp
freebsd + huawei 162 gsm modem
В статье описывается простой способ подключения модема huawei 162 к freebsd + первичная настройка smstools
2009-04-12, mvalery
Мониторинг RAID
Мониторинг из командной строки RAID компаний AMCC 3ware, HighPoint, Dell (Perc 5/i и PERC 6/i) и LSI (MegaRAID SAS 8408E и SAS1078)
2009-04-09, texnotronic
RAID1 via LAN
Функциональности DRBD во FreeBSD можно добиться примонтировав блочное устройство по сети при помощи GEOM Gate (ggate) и добавив его в зеркало с локальным диском средствами gmirror.
2009-04-03, Raven2000
Оптимизация хоста для CMS
В последнее время на старый и не очень быстрый ПК (Celeron 800 RAM 256) мною было навешано с десяток сайтов и некоторые были из серии тяжелых CMS. И так нам дано FreeBSD 7.1 и ~10 сайтов/CMS.
2009-04-01, atrium
VSFTPD + AD && MySQL
Настройка самого безопасного сервера FTP - vsftpd.
2009-03-31, Dron
Peoplenet + C-motech (3G)
Описание подключения к сети Peoplenet посредством 3G модема С-motech CCu-650U на FreeBSD
2009-03-25, lissyara
mod_auth_external
mod_auth_external - авторизация пользователей в apache c помощью внешней программы - например, системных пользователей.
2009-03-24, gx_ua
Lightsquid
Частично lightsquid может заменить sams: быстрая и простая инсталляция, быстрый парсер, cgi скрипт для динамической генерации отчета, нет привязки к БД, различные графические отчеты, мультиязычный инт
2009-03-18, LHC
Установка Zabbix-1.6
Установка и первоначальная настройка системы мониторинга Zabbix (версия 1.6)
2009-03-16, Cancer
Принт-Сервер Samba+LPD & AD
Простейшая настройка Принт-Сервера на FreeBSD используя Samba+LPD & AD
2009-03-04, Mad_caterpillar
ipsec_vpnc
Настройка VPN IPSec концентратора на FreeBSD 6.2 для клиента cisco с использованием ipsec-tools и авторизацией в активной директории
2009-02-18, Andy
Free-SA
Программа анализирует log файлы Squid'а и формирует по ним отчет.
2009-02-02, Cancer
Openfire Jabber Server
Установка Jabber сервера на примере Openfire
2009-01-28, Cancer
mpd5 + сжатие и шифрование
Установка VPN сервера mpd5 + сжатие и шифрование
2009-01-26, vp
freebsd + webcamera
Подключение и настройка вебмкамеры для работы с freebsd на примере Logitech QCam STX
2009-01-10, Grishun_U_S
конфиг для офисов
В статье разбирается конфиг для офиса, пользователи которого имеют строгие ограничения по портам. Заворачиваем www трафик на транспарентный прокси, а остальное NAT'им. Эффективно делим канал интернет
2008-12-27, Storoge
sftp+chroot
Возникла необходимость дать возможность нескольким пользователям заливать на сервер контент для своих сайтов через sftp, чтобы при этом не страдала безопасность.
2008-12-13, Morty
PurefFTPd
Администрирование pureftpd-сервера с помощью вэб интерфейса Usermanager
2008-12-11, lissyara
termlog
Небольшая простая утилита, использующаяся для записи в файл всего что происходит на терминалах системы. Полезно, когда есть доступ по ssh у тех, кому не очень доверяете. Паранойя - это не плохо =)
2008-11-26, Cancer
SQUID+SAMS +Rejik-(ADLDAP)
Установка Прокси сервера SQUID с красивой мордой SAMS и редиректором REJIK,для учета кто куда ходил + графики в pdf,РЕЖИК собственно рубит банеры и запрещает пользователям ходить на запрещенные сайты,
2008-11-22, dvg_lab
php5-oci8
Решение проблем segmentation fault (core dumped) при работе с oracle8-client и php5-oci8
2008-11-21, m0ps
NTP
Пример настройки NTP сервера для локальной сети и клиента, для синхронизации времени с локальный NTP сервером. Обновление ntpd из портов.
2008-11-20, Cancer
SQUID+SAMS +Rejik-(NTLM)
Установка Прокси сервера SQUID с аутентификацией по NTL с красивой мордой SAMS и редиректором REJIK,для учета кто куда ходил + графики в pdf, РЕЖИК собственно рубит банеры и запрещает пользователям хо
2008-11-20, UA
Hotspot
Настройка безпроводной точки доступа (WiFi) на freebsd
2008-11-12, Shaman
Enemy Territory
Появилась у меня такое желание поднять сервер Enemy Territory.
Поискал погуглил, ничего толкового не нашел пришлось все самому делать.
И вот решил поделиться опытом. Начинаем......
2008-11-11, lissyara
Samba+ NT ACL
Использование vfs самбы - модули full_audit и recycle. Настройка для использования в качестве файлопомойки с 500+ одновременно работающих юзеров. Раздача прав через нативный виндовый интерфейс.
2008-11-11, Raven2000
Upgrading OpenBSD
Сегодня мы будем обновлять OpenBSD. Систему необходимо поддерживать в актуальном виде и следить, чтобы все работало, как часы и все дырки были залатаны до прихода врага =)
2008-11-10, lexy
SMSTools 3
Как автоматизировать отправку и обработку входящих сообщений при помощи мобильного телефона, датакабеля и компа
2008-11-06, Cancer
Asterisk IP PBX
Установка VoiP сервера Asterisk IP PBX для соединения двух шлюзов и АТС
2008-10-30, atrium
Samba & CUPS & AD & ACL
Настройка Samba в роли доменного файл-сервера, и CUPS в роли принт-сервера для Windows клиентов
2008-10-17, Raven2000
src & ports
Конечно, в OpenBSD система портов никогда не сможет быть полной сравнение с той же системой во FreeBSD. Связано это с тем, что разработчики включают в порты лишь те приложение которые протестированн
2008-10-13, Morty
Mysql - базовое описание
Базовое описание и принципы работы с MySQL
2008-10-10, Cancer
exim&dovecot + fetchmail + SSL
Exim & Dovecot + Postfixadmin & Roundcube + Fetchmail & smtp_relay
С возможностью отправлять письма через смтп релей провайдера.
С использование SSL шифрование: POP3s IMAPs sSMTP
2008-10-09, m0ps
Дополнительные порты для роутера
Увеличение количества Ethernet портов маршрутизатора за счет свободных портов коммутатора пробросив vlan с сабинтерфейса роутера на интерфейс коммутатора.
2008-10-06, princeps
Bacula
Настройка сервера системы резервного копирования Bacula на FreeBSD для бэкапов FreeBSD и Windows машин
2008-10-02, zheromo
Postfix + DBMail
Создание почтовой системы на основе Postfix + DBMail + SASL2 + TLS + DSpam + ClamAV + RoundCubeWebMail
2008-10-02, Cancer
SugarForge CRM
SugarForge CRM предоставляет подавляющее большинство функциональных возможностей CRM систем
2008-09-12, arksu
ng_ipacct + squid
Подсчет трафика с помощью ng_ipacct. Связка ng_ipacct + squid + парсер логов + авторизатор + nginx + mysql и куча служебных скриптов для работы всей системы.
2008-09-03, Raven2000
GLPI
Мне надо было найти замену существующей программы инвентаризации, чтобы за компьютерами, принтерами, картриджами, лицензиями и тп был учет. Желательно с дополнительными бонусами типа системы подачи...
2008-09-03, salimk
POWERDNS
Статья о том как мигрировать с DNS сетвера ISC Bind на POWERDNS
2008-09-03, DNK
Rinetd
Редирект TCP портов с помощью утилиты rinetd - просто до безобразия - само прилодение простое, конфиг в одну строчку - что ещё надо для счастья? =)
2008-09-03, L!Ner
eGroupWare
Это сервер групповой работы. Он укомплектован собственным веб-интерфейсом, который обеспечивает доступ к вашим данным с любой платформы по всей планете.
2008-08-30, jafff
MAC адрес
У девайса VoIP Planet VIP-000 слетел MAC адрес и стал FF-FF-FF-FF-FF-FF, как я его востанавливал
2008-08-30, Morty
clonehdd
Перенесение, бэкапирование HDD,легко и просто
2008-07-31, Raven2000
Proxy Auto Configuration
Возникла необходимость автоматически настраивать прокси для всех компов и не бегать например если поменялось что-то на сервере прокси. Для этого давно существует технология Proxy Auto Configuration.
2008-07-29, f0s
NNTP сервер
Конфигурирование собственного NNTP-сервера.
2008-07-28, Al
spamooborona
настройка yandex spamooborona в качестве smtp-proxy для работы с exim
2008-07-28, Cancer
SQUID+SAMS +Rejik-(NCSA)
Установка Прокси сервера SQUID с красивой мордой SAMS и редиректором REJIK,для учета кто куда ходил + графики в pdf,РЕЖИК собственно рубит банеры и запрещает пользователям ходить на запрещенные сайты,
2008-07-20, Raven2000
Pax
Эта замечательная утилита поставляется с FreeBSD по умолчанию, и она имеет неплохой потенциал.
Можно создавать архивы модифицировать их, а так же живьем переносить всю операционную систему с данными
2008-07-16, Andy2k
BIND & AD
Настройка BIND для обслуживания запросов контроллеров Active Directory. Альтернатива поднятию DNS от Microsoft.
2008-07-16, aleksey.kravchenko
Samba (PDC+BDC)
Поднять главный (офис) и резервный (филиал) контроллер домена на базе Samba и OpenLDAP, организовать синхронизацию и репликацию между ними. Запись в LDAP должена выполняться только на PDC.
2008-07-14, aleksey.kravchenko
OpenVPN + LDAP
Статья о том, как настроить OpenVPN с авторизацией пользователей в OpenLDAP.
2008-07-14, aleksey.kravchenko
ProFTPd + LDAP
ProFTPd с авторизацией пользователей в OpenLDAP
2008-07-13, lissyara
Asus Eee PC
Дали на несколько дней поиграться Asus Eee PC - мелкий ноутбок по смешной цене. Ну, первым делом ставим правильный ОС и смотрим - что из этого получиться.
2008-07-09, terminus
DNS сервер Unbound
Установка и настройка кеширующего DNS сервера Unbound под управлением FreeBSD 7.0
2008-07-08, f0s
mozilla autoconfig
Автонастройка браузера и почты Mozilla Seamonkey пользователям
2008-07-05, lissyara
iftop
Утилита предназначена для мониторинга загрузки канала в режиме реального времени - позволяет видеть кто именно занял полосу. Полезно для организаций с FreeBSD на шлюзовой машине.
2008-07-02, manefesto
snd_hda
Патчим snd_hda для корректной работы с наушниками
2008-06-27, Grishun_U_S
dd : бэкапируем windows
Клонирование разделов windows с помощью загрузочного диска FreeBSD
2008-06-25, terminus
DNS сервер NSD
Установка и настройка авторитарного DNS сервера NSD под управлением FreeBSD 7.0
2008-06-17, Al
NetXtreme BCM5722
Драйвер для сетевой карты NetXtreme BCM5722 Gigabit Ethernet
2008-06-15, tango
Amanda
Установка и настройка сервера резервного копирования Amanda на FreeBSD.
2008-06-12, LMik
Виртуальный свитч
Статья описывает создание виртуального коммутатора для соединения удаленных физических ethernet сетей.
2008-06-08, littlesavage
SiS*Mirage*1 на D201GLY2
Как заставить работать видеоrарту SiS*Mirage*1 на материнской D201GLY2
2008-06-06, nsand
Рыбалка на FreeBSD
Стьатья о том как настроить рыбалку со спутника под FreeBSD
2008-06-06, nsand
TT budget S-1401
Настройка драйвера ttbudget (SkyStar3) под FreeBSD
2008-05-30, Andy2k
NOD32 mirror
Скрипт для создания зеркала обновлений для антивируса NOD. Автоматически ищет нужные логин-пароль для получения обновлений. В теории не требует обслуживания.
2008-05-25, Romzes
метаданные exif
Пример сортировки фотографий сделаных разными фотоаппаратами, с разными названиями, датами создания/модификации. Из под консоли, конечно.
2008-05-23, FenX
svn+apache+trac
Установка связки Apache2.2 + Subversion + Trac (Установка и настройка SVN сервера с доступом к репозиториям по http протоколу)
2008-05-22, Grishun_U_S
простой конфиг PF
В статье разбирается простой конфигурационный файл pf "изнутри можно все"
|
Комментарии пользователей [51 шт.]