Приноровился использовать для монтирования и размонтирования файловый менеджер Thunar.
Добавил его в конфиг айса для главного меню.
Не совсем кошерно, но зато удобно ;)
среда, 29 декабря 2010 г.
Fedora архивы
Старые версии Fedora можно скачать где-то там:
http://archives.fedoraproject.org/pub/archive/fedora/linux/
Из чего-то этого нужно будет выбрать ось для шлюза, т.к. железо там не новое уже давно :)
Сейчас стоит ASPLinux 11 (fedora 4), но думаю поставить туда fedora 6, хотя, может попробовать CentOS 5.5 (потянет ли оно на 256 метрах памяти).
http://archives.fedoraproject.org/pub/archive/fedora/linux/
Из чего-то этого нужно будет выбрать ось для шлюза, т.к. железо там не новое уже давно :)
Сейчас стоит ASPLinux 11 (fedora 4), но думаю поставить туда fedora 6, хотя, может попробовать CentOS 5.5 (потянет ли оно на 256 метрах памяти).
CentOS OpenFire
Поставил даббер-сервер. Руководств в сети полно. Есть два момента.
1.Если не получается зайти в вебморду в консоль администрирования после настройки, то нужно перезапустить джаббер-сервер.
2.Проблема с кодировкой офлайн-сообщений. Правится конфиг мускула. Рецепты есть в сети.
http://doc.3dn.ru/publ/15-1-0-27
http://itblog.su/openfire-reshenie-problem-kodirovkojj.html
1.Если не получается зайти в вебморду в консоль администрирования после настройки, то нужно перезапустить джаббер-сервер.
2.Проблема с кодировкой офлайн-сообщений. Правится конфиг мускула. Рецепты есть в сети.
http://doc.3dn.ru/publ/15-1-0-27
http://itblog.su/openfire-reshenie-problem-kodirovkojj.html
воскресенье, 26 декабря 2010 г.
CentOS 5.5 DNS кеширующий первичный
Блин, долго не мог вникнуть в конфигурирование днс-сервера на центос.
Читал в Инете много разного, с готовыми конфигами, но то, что было там, не совпадало с тем, что по умолчанию ствится в центос 5.5
Ставил так:
vi /etc/named.caching-nameserver.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;
allow-query { any; };
allow-query-cache { any; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
vi /etc/named.rfc1912.zones
zone "." IN {
type hint;
file "named.ca";
};
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
zone "zeon.shmatrix" {
type master;
file "zeon.zone";
allow-update { none; };
};
zone "54.168.192.in-addr.arpa" {
type master;
file "zeon.reversed";
allow-update { none; };
};
Создаём файлы для своей зоны:
vi /var/named/zeon.reversed
$ORIGIN .
$TTL 86400 ; 1 day
54.168.192.in-addr.arpa IN SOA ns1.zeon.shmatrix. ns1.zeon.shmatrix. (
2001042703 ; serial
28800 ; refresh (8 hours)
14400 ; retry (4 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
NS ns1.zeon.shmatrix.
$ORIGIN 54.168.192.in-addr.arpa.
$TTL 3600 ; 1 hour
1 PTR router.zeon.shmatrix.
3 PTR ns1.zeon.shmatrix.
vi /var/named/zeon.zone
$ORIGIN .
$TTL 86400 ; 1 day
zeon.shmatrix IN SOA ns1.zeon.shmatrix. ns1.zeon.shmatrix. (
201012265 ; serial
86400 ; refresh (1 day)
21600 ; retry (6 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
3600 ; minimum (1 hour)
)
NS ns1.zeon.shmatrix.
$ORIGIN zeon.shmatrix.
localhost A 127.0.0.1
ns1 A 192.168.54.3
router A 192.168.54.1
host0 A 192.168.54.2
Не забыть изменить resolv.conf, добавив туда перед записями днс провайдеров следующее:
search zeon.shmatrix
nameserver 192.168.54.3
nameserver 88.147.129.15
nameserver 88.147.128.17
Тоесть сначала ищем у себя и если не находим, то уже обращаемся к днс провайдера.
На всякий пожарный можно добавить какой-нибудь "левый" днс, например, от Гугла:
nameserver 8.8.8.8
На случай если у провайдера днс отрубится (было как-то раз - минут на 30).
Читал в Инете много разного, с готовыми конфигами, но то, что было там, не совпадало с тем, что по умолчанию ствится в центос 5.5
Ставил так:
yum install bind caching-nameserverИ правил дефолтные конфиги:
vi /etc/named.caching-nameserver.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// Those options should be used carefully because they disable port
// randomization
// query-source port 53;
// query-source-v6 port 53;
allow-query { any; };
allow-query-cache { any; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
vi /etc/named.rfc1912.zones
zone "." IN {
type hint;
file "named.ca";
};
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.ip6.local";
allow-update { none; };
};
zone "255.in-addr.arpa" IN {
type master;
file "named.broadcast";
allow-update { none; };
};
zone "0.in-addr.arpa" IN {
type master;
file "named.zero";
allow-update { none; };
};
zone "zeon.shmatrix" {
type master;
file "zeon.zone";
allow-update { none; };
};
zone "54.168.192.in-addr.arpa" {
type master;
file "zeon.reversed";
allow-update { none; };
};
Создаём файлы для своей зоны:
vi /var/named/zeon.reversed
$ORIGIN .
$TTL 86400 ; 1 day
54.168.192.in-addr.arpa IN SOA ns1.zeon.shmatrix. ns1.zeon.shmatrix. (
2001042703 ; serial
28800 ; refresh (8 hours)
14400 ; retry (4 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
86400 ; minimum (1 day)
)
NS ns1.zeon.shmatrix.
$ORIGIN 54.168.192.in-addr.arpa.
$TTL 3600 ; 1 hour
1 PTR router.zeon.shmatrix.
3 PTR ns1.zeon.shmatrix.
vi /var/named/zeon.zone
$ORIGIN .
$TTL 86400 ; 1 day
zeon.shmatrix IN SOA ns1.zeon.shmatrix. ns1.zeon.shmatrix. (
201012265 ; serial
86400 ; refresh (1 day)
21600 ; retry (6 hours)
3600000 ; expire (5 weeks 6 days 16 hours)
3600 ; minimum (1 hour)
)
NS ns1.zeon.shmatrix.
$ORIGIN zeon.shmatrix.
localhost A 127.0.0.1
ns1 A 192.168.54.3
router A 192.168.54.1
host0 A 192.168.54.2
Не забыть изменить resolv.conf, добавив туда перед записями днс провайдеров следующее:
nameserver 127.0.0.1
В результате файл должен выглядеть примерно так:search zeon.shmatrix
nameserver 192.168.54.3
nameserver 88.147.129.15
nameserver 88.147.128.17
Тоесть сначала ищем у себя и если не находим, то уже обращаемся к днс провайдера.
На всякий пожарный можно добавить какой-нибудь "левый" днс, например, от Гугла:
nameserver 8.8.8.8
На случай если у провайдера днс отрубится (было как-то раз - минут на 30).
суббота, 11 декабря 2010 г.
DNS
Нужно взяться за изучение статьи с www.lissyara.su
"Теория и настройка named 9.7.0",
расположенной по адресу http://www.lissyara.su/?id=2087
Для расширения кругозора пойдёт, но как руководство к действию в федоре нет.
"Теория и настройка named 9.7.0",
расположенной по адресу http://www.lissyara.su/?id=2087
Для расширения кругозора пойдёт, но как руководство к действию в федоре нет.
VNC
Окончательно определился с клиентами и серверами для VNC.
Подключение с линукса к винде:
На винду в качестве сервера нужно ставить TightVNC и во время инсталляции обязательно нужно установить пароль для административных опцый, чтобы пользователи не могли изменить настройки.
На линукс в качестве вьювера нужно ставить Remmina.
Возможные проблемы с вводом кириллицы решаются переключением вручную через значок в трее. Так же можно использовать буфер обмена. Также бываю проблемы даже при вводе латинцы со знаками препинания - запятая, точка.
Подключение с винды к винде:
В принцыпе без разницы, на данный момент использую RealVNC.
Но в свете реальной возможности подключения с линукса, в дальнейшем буду переходить на TightVNC.
Подключение с линукса к винде:
На винду в качестве сервера нужно ставить TightVNC и во время инсталляции обязательно нужно установить пароль для административных опцый, чтобы пользователи не могли изменить настройки.
На линукс в качестве вьювера нужно ставить Remmina.
Возможные проблемы с вводом кириллицы решаются переключением вручную через значок в трее. Так же можно использовать буфер обмена. Также бываю проблемы даже при вводе латинцы со знаками препинания - запятая, точка.
Подключение с винды к винде:
В принцыпе без разницы, на данный момент использую RealVNC.
Но в свете реальной возможности подключения с линукса, в дальнейшем буду переходить на TightVNC.
OpenVPN и VirtualBox
Эксперименты с OpenVPN проводились при участии VirtualBox.
Единственная конфигурация, заработавшая сразу и без проблем, была L3 со статическим ключом.
Конфигурация L3 с ключом pkcs12 заработала тоже сразу, но только уже не в VirtualBox, а на реальных компьютерах. В виртуалке я с ней немного "побадался" и бросил, не осилив разобраться.
С конфигурацией тоннеля L2 я также "бодался" в виртуалке с отридцательным результатом.
Думаю, основная проблема в моём недопонимании принцыпов работы VPN и маршрутизации и, как следствие, неправильные настройки сети в VirtualBox.
Нужно будет малость отдохнуть, почитать на эту тему и вникнуть.
Единственная конфигурация, заработавшая сразу и без проблем, была L3 со статическим ключом.
Конфигурация L3 с ключом pkcs12 заработала тоже сразу, но только уже не в VirtualBox, а на реальных компьютерах. В виртуалке я с ней немного "побадался" и бросил, не осилив разобраться.
С конфигурацией тоннеля L2 я также "бодался" в виртуалке с отридцательным результатом.
Думаю, основная проблема в моём недопонимании принцыпов работы VPN и маршрутизации и, как следствие, неправильные настройки сети в VirtualBox.
Нужно будет малость отдохнуть, почитать на эту тему и вникнуть.
пятница, 10 декабря 2010 г.
OpenVPN туннель L3 Fedora 14 ключ pkcs12
Рабочие конфиги, вроде ;)
За основу взята статья с www.lissyara.su
находящаяся по адресу http://www.lissyara.su/?id=2111
Что имеется:
Компьютер (гордо буду его именовать в дальнейшем сервером), под управлением RFRemix 14, подключение к Интернету через ADSL-модем, который настроен в режиме роутера с DHCP, плюс на модеме активирована функция работы с DynDNS, т.о. модем видится из Интернета по адресу вида XYZ.dyndns.org , так же на модеме включён форвардинг порта 1194 на первый адрес из диапазона адресов, выдаваемых DHCP, таким образом из-за того что к модему подключен только один физический компьютер, то он и получает этот адрес, даже после перезагрузки.
адрес модема (шлюз) : 192.168.54.1/255.255.255.0
адрес сервера : 192.168.54.33/255.255.255.0
Что нужно:
Временами подключать клиентские компьютеры или сети для того, чтобы их админить, не выходя из дома. Клиенты должны иметь доступ не только к ресурсам сервера, но и видеть друг друга, т.к. не исключается возможность, что админить клиентские компьютеры я буду не из дома (с сервера), а из какого-либо другого места, например, лёжа на пляжу с ноутбуком.
Порядок действий:
0. Установка openvpn
1. Создание ключей для сервера.
2. Создание конфига для сервера.
3. Создание ключей для клиентов и меня.
4. Создание конфигов для клиентов и меня.
5. Настройка файрволлов.
6. Устраняем возможные проблемы.
0. Установка openvpn.
От рута (тут и далее, короче, всё нужно делать от рута):
1. Создание ключей для сервера.
Копируем скрипты для создания ключей:
Создаем ключи для сервера OpenVPN
Создаем 2 ключа (ca.key и dh1024.pem) и по 1 ключу/сертификату (server.key и server.crt) только для сервера OpenVPN и дополнительный ключ (ta.key) для сервера и клиента.
Создаем их один раз и навсегда.
Создаем 1-ый ключ Certificate Authority
./build-ca
Вылезет сообщение и несколько вопросов:
Generating a 1024 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) [RU]:
State or Province Name (full name) [64]:
Locality Name (eg, city) [Saratov]:
Organization Name (eg, company) [Roga-Kopyta]:
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) [Roga-Kopyta CA]:server
Name []:server
Email Address [me@yandex.ru]:
Создаем сертификат X.509:
Generating a 1024 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) [RU]:
State or Province Name (full name) [64]:
Locality Name (eg, city) [Saratov]:
Organization Name (eg, company) [Roga-Kopyta]:
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) [server]:
Name []:server
Email Address [me@yandex.ru]:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:server
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'RU'
stateOrProvinceName :PRINTABLE:'64'
localityName :PRINTABLE:'Saratov'
organizationName :PRINTABLE:'Roga-Kopyta'
organizationalUnitName:PRINTABLE:'server'
commonName :PRINTABLE:'server'
name :PRINTABLE:'server'
emailAddress :IA5STRING:'me@yandex.ru'
Certificate is to be certified until Dec 7 17:41:29 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
Генерируем 1024 битный ключ с помощью алгоритма Диффи Хеллмана
Создаем TLS-ключ (который нужен как и серверу, так и клиенту)
Копируем ключи:
ca.crt dh1024.pem server.crt server.key ta.key
2. Создание конфигурационного файла для сервера.
# от какого пользователя и группы работает OpenVPN
user nobody
group nobody
# не перечитывать ключи после получения
# SIGUSR1 или ping-restart
persist-key
# не закрывать и переоткрывать TUN\TAP
# устройство, после получения
# SIGUSR1 или ping-restart
persist-tun
# путь к файлу записи статуса OpenVPN в лог
status /var/log/openvpn/openvpn-status.log
# путь к файлу записи событий происходящих на сервере
# "log" - запись событий в лог будет перезаписываться при перезагрузке демона
# "log-append" - запись событий будет добавляться в лог
log /var/log/openvpn/openvpn.log
# уровень информации для отладки
# 0 -- quiet except for fatal errors.
# 1 -- mostly quiet, but display non-fatal network errors.
# 3 -- medium output, good for normal operation.
# 9 -- verbose, good for troubleshooting
verb 3
# макс кол-во однотипных записей в лог
#mute 20
Пробуем запустить сервер:
Добавляем в автозапуск:
3. Создание ключей для клиентов и меня.
Переходим в директорию и создаем ключи для филиалов №1,2,3:
filial1.p12, filial2.p12, filial3.p12
pkcs12 имя файла в формате PKCS#12, содержащего сертификат CA, ключ и сертификат клиента. Такой файл и команда заменяют сразу 3 соответствующих файла и команды - .ca, .cert, .keycd /etc/openvpn/easy-rsa
Создаем ключ для клиента №1
./build-key-pkcs12 klient1
Вылазит сообщение и вопросы:
Generating a 1024 bit RSA private key
................++++++
.......++++++
writing new private key to 'klient1.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) [RU]:
State or Province Name (full name) [64]:
Locality Name (eg, city) [Saratov]:
Organization Name (eg, company) [Roga-Kopyta]:
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) [klient1]:
Name []:klient1
Email Address [me@yandex.ru]:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:klient1
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'RU'
stateOrProvinceName :PRINTABLE:'64'
localityName :PRINTABLE:'Saratov'
organizationName :PRINTABLE:'Roga-Kopyta'
organizationalUnitName:PRINTABLE:'server'
commonName :PRINTABLE:'klient1'
name :PRINTABLE:'klient1'
emailAddress :IA5STRING:'me@yandex.ru'
Certificate is to be certified until Dec 7 19:08:51 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:
Кстати, на все запросы паролей я отвечал простым нажатием Enter.
Создаем ключ для клиента №2
Создаем ключ для клиента №3
Создаем ключ для себя
Проверяем
klient1.p12
klient2.p12
klient3.p12
sysadmin.p12
В директории /etc/openvpn/ccd создаем файлы с настройками для клиентов и меня такого содержания:
Перезапустим OpenVPN Сервер
ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.10.100.1 P-t-P:10.10.100.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
4. Создание конфигов для клиентов и меня.
Настройка OpenVPN у клиента №1 (Windows XP)
Скачиваем отсюда http://openvpn.net/index.php/open-source/downloads.html и устанавливаем программу.
Копируем с сервера ключи klient1.p12 и ta.key в директорию C:\Program Files\OpenVPN\config
Далее создаем конфиг C:\Program Files\OpenVPN\config\klient1.ovpn
dev tun
proto udp
# адрес сервера
remote XYZ.dyndns.org
port 1194
client
resolv-retry infinite
pkcs12 klient1.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
5. Настройка файрволлов.
Включение маршрутизации на сервере
echo "1" > /proc/sys/net/ipv4/ip_forward
На файрволле сервера нужно открыть порт 1194, делал это через
system-config-firewall
Ну и сделать доверенным интерфейс tun
На клиенте №1 отключаем файрволл на виртуальном адаптере, либо настраиваем исключения, короч, нужно там поковыряться.
Компьютер пингуется по адресу 192.168.1.2
6. Устраняем возможные проблемы.
Про проблемы, которые вылазили у меня.
Если у клиента виндовый OpenVPN-GUI, то вполне может возникнуть проблема с маршрутизацией на его стороне. Случается из-за того, что он запускается от пользователя с ограниченными правами, соответственно не добавляются маршруты, но соединение устанавливается. В логах у клиента будет примерно следуюющее:
1.Добавить автозапуск OpenVPN как сервиса, по умолчанию там у него стоит ручной запуск (если нужно постоянное соединение).
2.Воспользоваться программкой Admilink для создания ярлыка запуска OpenVPN-GUI с правами администратора (если нужно подключиться время от времени). Категорически не рекомендую использовать стандартное виндовое "ru as" - небезопасно.
Так же может случиться так, что клиент не коннектиться, при этом в логах у него ботва такого плана:
В секции # Start every .conf in $work and run .sh if exists должно стать так (одна строка):
Ну, блин, дошло, вроде, да...
За основу взята статья с www.lissyara.su
"Установка и настройка OpenVPN с ключом pkcs12"
,находящаяся по адресу http://www.lissyara.su/?id=2111
Что имеется:
Компьютер (гордо буду его именовать в дальнейшем сервером), под управлением RFRemix 14, подключение к Интернету через ADSL-модем, который настроен в режиме роутера с DHCP, плюс на модеме активирована функция работы с DynDNS, т.о. модем видится из Интернета по адресу вида XYZ.dyndns.org , так же на модеме включён форвардинг порта 1194 на первый адрес из диапазона адресов, выдаваемых DHCP, таким образом из-за того что к модему подключен только один физический компьютер, то он и получает этот адрес, даже после перезагрузки.
адрес модема (шлюз) : 192.168.54.1/255.255.255.0
адрес сервера : 192.168.54.33/255.255.255.0
Что нужно:
Временами подключать клиентские компьютеры или сети для того, чтобы их админить, не выходя из дома. Клиенты должны иметь доступ не только к ресурсам сервера, но и видеть друг друга, т.к. не исключается возможность, что админить клиентские компьютеры я буду не из дома (с сервера), а из какого-либо другого места, например, лёжа на пляжу с ноутбуком.
Порядок действий:
0. Установка openvpn
1. Создание ключей для сервера.
2. Создание конфига для сервера.
3. Создание ключей для клиентов и меня.
4. Создание конфигов для клиентов и меня.
5. Настройка файрволлов.
6. Устраняем возможные проблемы.
0. Установка openvpn.
От рута (тут и далее, короче, всё нужно делать от рута):
yum install openvpn
Создаем директории для OpenVPN сервера где будут храниться настройки клиентов, ключи, сертификаты и скрипты для их создания и логи:
mkdir /etc/openvpn/ccd
mkdir /etc/openvpn/keys
mkdir /etc/openvpn/easy-rsa
mkdir /var/log/openvpn/
touch /var/log/openvpn/openvpn-status.log
touch /var/log/openvpn/openvpn.log
mkdir /var/log/openvpn/
touch /var/log/openvpn/openvpn-status.log
touch /var/log/openvpn/openvpn.log
1. Создание ключей для сервера.
Копируем скрипты для создания ключей:
cp /usr/share/openvpn/easy-rsa/2.0/* /etc/openvpn/easy-rsa
Редактируем файл с переменными:
vim /etc/openvpn/easy-rsa/vars
Меняем строку
export KEY_DIR="$EASY_RSA/keys"
на
export KEY_DIR="$EASY_RSA/keys/server"
и ещё правим строки:
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
на примерно такого видаexport KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_COUNTRY="RU"
export KEY_PROVINCE="64"
export KEY_CITY="Saratov"
export KEY_ORG="Roga-Kopyta"
export KEY_EMAIL="me@yandex.ru"
Меняем права на файлыexport KEY_PROVINCE="64"
export KEY_CITY="Saratov"
export KEY_ORG="Roga-Kopyta"
export KEY_EMAIL="me@yandex.ru"
chmod 544 /etc/openvpn/easy-rsa/*
Создаем директорию куда у нас будут создаваться/храниться ключи и сертификаты
mkdir -p /etc/openvpn/easy-rsa/keys/server
Готовимся к генерации ключей
cd /etc/openvpn/easy-rsa
. ./vars
Вылазит предупреждение:
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys/server
./clean-all
Создаем ключи для сервера OpenVPN
Создаем 2 ключа (ca.key и dh1024.pem) и по 1 ключу/сертификату (server.key и server.crt) только для сервера OpenVPN и дополнительный ключ (ta.key) для сервера и клиента.
Создаем их один раз и навсегда.
Создаем 1-ый ключ Certificate Authority
./build-ca
Вылезет сообщение и несколько вопросов:
Generating a 1024 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) [RU]:
State or Province Name (full name) [64]:
Locality Name (eg, city) [Saratov]:
Organization Name (eg, company) [Roga-Kopyta]:
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) [Roga-Kopyta CA]:server
Name []:server
Email Address [me@yandex.ru]:
Создаем сертификат X.509:
./build-key-server server
Вылезет сообщение и несколько вопросов:Generating a 1024 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) [RU]:
State or Province Name (full name) [64]:
Locality Name (eg, city) [Saratov]:
Organization Name (eg, company) [Roga-Kopyta]:
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) [server]:
Name []:server
Email Address [me@yandex.ru]:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:server
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'RU'
stateOrProvinceName :PRINTABLE:'64'
localityName :PRINTABLE:'Saratov'
organizationName :PRINTABLE:'Roga-Kopyta'
organizationalUnitName:PRINTABLE:'server'
commonName :PRINTABLE:'server'
name :PRINTABLE:'server'
emailAddress :IA5STRING:'me@yandex.ru'
Certificate is to be certified until Dec 7 17:41:29 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
Генерируем 1024 битный ключ с помощью алгоритма Диффи Хеллмана
./build-dh
Вылезет сообщение типа такого, но длиннее:
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
....................+....................+.........................................+............+......++*++*++*
This is going to take a long time
....................+....................+.........................................+............+......++*++*++*
Создаем TLS-ключ (который нужен как и серверу, так и клиенту)
openvpn --genkey --secret keys/server/ta.key
Копируем ключи:
cp keys/server/ca.crt /etc/openvpn/keys/
cp keys/server/server.crt /etc/openvpn/keys/
cp keys/server/server.key /etc/openvpn/keys/
cp keys/server/dh1024.pem /etc/openvpn/keys/
cp keys/server/ta.key /etc/openvpn/keys/
Получим следующий список файлов которые нужны для работы сервера:ls /etc/openvpn/keysca.crt dh1024.pem server.crt server.key ta.key
2. Создание конфигурационного файла для сервера.
vim /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
# указываем файл CA
ca /etc/openvpn/keys/ca.crt
# указываем файл с сертификатом сервера
cert /etc/openvpn/keys/server.crt
# указываем файл с ключем сервера
key /etc/openvpn/keys/server.key
# указываем файл с генерированный алгоритмом Диффи Хеллмана
dh /etc/openvpn/keys/dh1024.pem
# указываем где находится файл отозванных сертификатов
#crl-verify /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.54.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 def1"
# разрешает видеть клиентам друг друга (по виртуальным IP)
# по умолчанию клиенты видят только сервер
client-to-client
# разрешать подключаться с одинаковым сертификатом/ключом
#duplicate-cn
# включаем TLS аутентификацию
tls-server
# указываем tls-ключ, и указываем 0 для сервера, а 1 для клиента
tls-auth keys/ta.key 0
# TLS таймаут, полезен если выход в интернет осуществляется
# через GPRS мобильных операторов
tls-timeout 120
# выбираем алгоритм хеширования
# по умолчанию используется SHA1
# выбирать вам какой использовать (SHA1, MD5 итд итп)
# вывод полного списка openvpn --show-digests
auth SHA1
# выбираем алгоритм шифрования пакетов
# по умолчанию используется/рекомендуется BF-CBC
# вывод полного списка openvpn --show-ciphers
cipher BF-CBC
# проверяет активность подключения каждые 10 секунд,
# если в течении 120 сек. нет ответа, подключение закрывается
keepalive 10 120
# сжатия трафика с помощью библиотеки LZO
comp-lzo
# максимальное количество одновременных соединений/количество клиентов
max-clients 3
# по умолчанию OpenVPN слушает все интерфейсы
#local xxx.xxx.xx.x
# порт на котором работает сервер
port 1194
# протокол - TCP или UDP
proto udp
# используемый тип устройства и номер
dev tun0
# указываем по каким интерфейсам можно подключаться к OpenVPN по telnet
# указывать нужно IP адреса интерфейсов сервера
management localhost 8329
# указываем файл CA
ca /etc/openvpn/keys/ca.crt
# указываем файл с сертификатом сервера
cert /etc/openvpn/keys/server.crt
# указываем файл с ключем сервера
key /etc/openvpn/keys/server.key
# указываем файл с генерированный алгоритмом Диффи Хеллмана
dh /etc/openvpn/keys/dh1024.pem
# указываем где находится файл отозванных сертификатов
#crl-verify /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.54.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 def1"
# разрешает видеть клиентам друг друга (по виртуальным IP)
# по умолчанию клиенты видят только сервер
client-to-client
# разрешать подключаться с одинаковым сертификатом/ключом
#duplicate-cn
# включаем TLS аутентификацию
tls-server
# указываем tls-ключ, и указываем 0 для сервера, а 1 для клиента
tls-auth keys/ta.key 0
# TLS таймаут, полезен если выход в интернет осуществляется
# через GPRS мобильных операторов
tls-timeout 120
# выбираем алгоритм хеширования
# по умолчанию используется SHA1
# выбирать вам какой использовать (SHA1, MD5 итд итп)
# вывод полного списка openvpn --show-digests
auth SHA1
# выбираем алгоритм шифрования пакетов
# по умолчанию используется/рекомендуется BF-CBC
# вывод полного списка openvpn --show-ciphers
cipher BF-CBC
# проверяет активность подключения каждые 10 секунд,
# если в течении 120 сек. нет ответа, подключение закрывается
keepalive 10 120
# сжатия трафика с помощью библиотеки LZO
comp-lzo
# максимальное количество одновременных соединений/количество клиентов
max-clients 3
# от какого пользователя и группы работает OpenVPN
user nobody
group nobody
# не перечитывать ключи после получения
# SIGUSR1 или ping-restart
persist-key
# не закрывать и переоткрывать TUN\TAP
# устройство, после получения
# SIGUSR1 или ping-restart
persist-tun
# путь к файлу записи статуса OpenVPN в лог
status /var/log/openvpn/openvpn-status.log
# путь к файлу записи событий происходящих на сервере
# "log" - запись событий в лог будет перезаписываться при перезагрузке демона
# "log-append" - запись событий будет добавляться в лог
log /var/log/openvpn/openvpn.log
# уровень информации для отладки
# 0 -- quiet except for fatal errors.
# 1 -- mostly quiet, but display non-fatal network errors.
# 3 -- medium output, good for normal operation.
# 9 -- verbose, good for troubleshooting
verb 3
# макс кол-во однотипных записей в лог
#mute 20
Пробуем запустить сервер:
/etc/init.d/openvpn start
Должно вылезти сообщение:
Запускается openvpn: [ OK ]
Добавляем в автозапуск:
chkconfig --level 2345 openvpn on
3. Создание ключей для клиентов и меня.
Переходим в директорию и создаем ключи для филиалов №1,2,3:
filial1.p12, filial2.p12, filial3.p12
pkcs12 имя файла в формате PKCS#12, содержащего сертификат CA, ключ и сертификат клиента. Такой файл и команда заменяют сразу 3 соответствующих файла и команды - .ca, .cert, .keycd /etc/openvpn/easy-rsa
Создаем ключ для клиента №1
./build-key-pkcs12 klient1
Вылазит сообщение и вопросы:
Generating a 1024 bit RSA private key
................++++++
.......++++++
writing new private key to 'klient1.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) [RU]:
State or Province Name (full name) [64]:
Locality Name (eg, city) [Saratov]:
Organization Name (eg, company) [Roga-Kopyta]:
Organizational Unit Name (eg, section) []:server
Common Name (eg, your name or your server's hostname) [klient1]:
Name []:klient1
Email Address [me@yandex.ru]:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:klient1
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName :PRINTABLE:'RU'
stateOrProvinceName :PRINTABLE:'64'
localityName :PRINTABLE:'Saratov'
organizationName :PRINTABLE:'Roga-Kopyta'
organizationalUnitName:PRINTABLE:'server'
commonName :PRINTABLE:'klient1'
name :PRINTABLE:'klient1'
emailAddress :IA5STRING:'me@yandex.ru'
Certificate is to be certified until Dec 7 19:08:51 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:
Кстати, на все запросы паролей я отвечал простым нажатием Enter.
Создаем ключ для клиента №2
./build-key-pkcs12 klient2
Опятьже вылазит сообщение с вопросамиСоздаем ключ для клиента №3
./build-key-pkcs12 klient3
Опятьже вылазит сообщение с вопросамиСоздаем ключ для себя
./build-key-pkcs12 sysadmin
Опятьже вылазит сообщение с вопросамиПроверяем
ls /etc/openvpn/easy-rsa/keys/server | grep .p12
Должно быть так klient1.p12
klient2.p12
klient3.p12
sysadmin.p12
В директории /etc/openvpn/ccd создаем файлы с настройками для клиентов и меня такого содержания:
ifconfig-push виртуальный IP клиента
iroute какая подсеть за клиентом
vim /etc/openvpn/ccd/klient1
ifconfig-push 10.10.100.2 10.10.100.1
iroute 192.168.1.0 255.255.255.0
iroute 192.168.1.0 255.255.255.0
vim /etc/openvpn/ccd/klient2
ifconfig-push 10.10.100.6 10.10.100.5
iroute 192.168.2.0 255.255.255.0
iroute 192.168.2.0 255.255.255.0
vim /etc/openvpn/ccd/klient3
ifconfig-push 10.10.100.10 10.10.100.9
iroute 192.168.3.0 255.255.255.0
iroute 192.168.3.0 255.255.255.0
vim /etc/openvpn/ccd/sysadmin
ifconfig-push 10.10.100.14 10.10.100.13
Перезапустим OpenVPN Сервер
/etc/init.d/openvpn restart
Останавливается openvpn: [ OK ]
Запускается openvpn: [ OK ]
ПроверяемЗапускается openvpn: [ OK ]
ifconfig tun0
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.10.100.1 P-t-P:10.10.100.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
4. Создание конфигов для клиентов и меня.
Настройка OpenVPN у клиента №1 (Windows XP)
Скачиваем отсюда http://openvpn.net/index.php/open-source/downloads.html и устанавливаем программу.
Копируем с сервера ключи klient1.p12 и ta.key в директорию C:\Program Files\OpenVPN\config
Далее создаем конфиг C:\Program Files\OpenVPN\config\klient1.ovpn
dev tun
proto udp
# адрес сервера
remote XYZ.dyndns.org
port 1194
client
resolv-retry infinite
pkcs12 klient1.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
5. Настройка файрволлов.
Включение маршрутизации на сервере
echo "1" > /proc/sys/net/ipv4/ip_forward
На файрволле сервера нужно открыть порт 1194, делал это через
system-config-firewall
Ну и сделать доверенным интерфейс tun
На клиенте №1 отключаем файрволл на виртуальном адаптере, либо настраиваем исключения, короч, нужно там поковыряться.
Компьютер пингуется по адресу 192.168.1.2
6. Устраняем возможные проблемы.
Про проблемы, которые вылазили у меня.
Если у клиента виндовый OpenVPN-GUI, то вполне может возникнуть проблема с маршрутизацией на его стороне. Случается из-за того, что он запускается от пользователя с ограниченными правами, соответственно не добавляются маршруты, но соединение устанавливается. В логах у клиента будет примерно следуюющее:
Sat Dec 11 23:28:49 2010 C:\WINDOWS\system32\route.exe ADD 192.168.2.0 MASK 255.255.255.0 10.10.100.1Бороться с этим можно разными способами, но ИМХО два самых правильных (выбирать исходя из обстановки):
Sat Dec 11 23:28:49 2010 ROUTE: route addition failed using CreateIpForwardEntry: ��� ������� � ����. [status=65 if_index=3]
Sat Dec 11 23:28:49 2010 Route addition via IPAPI failed [adaptive]
Sat Dec 11 23:28:49 2010 Route addition fallback to route.exe
1.Добавить автозапуск OpenVPN как сервиса, по умолчанию там у него стоит ручной запуск (если нужно постоянное соединение).
2.Воспользоваться программкой Admilink для создания ярлыка запуска OpenVPN-GUI с правами администратора (если нужно подключиться время от времени). Категорически не рекомендую использовать стандартное виндовое "ru as" - небезопасно.
Так же может случиться так, что клиент не коннектиться, при этом в логах у него ботва такого плана:
Лечиться добавление параметра --float в скрипт запуска OpenVPN на стороне сервиса. В федоре нужно подправить файл /etc/init.d/openvpn
Incoming packet rejected from 79.126.91.149:10044[2], expected peer address: 79.126.91.149:1194 (allow this incoming source address/port by removing --remote or adding --float)
В секции # Start every .conf in $work and run .sh if exists должно стать так (одна строка):
$openvpn --float --daemon --writepid $piddir/$bn.pid --config $c --cd $work $script_securityВ этом же файле можно заодно раскомментировать строку
echo 1 > /proc/sys/net/ipv4/ip_forward
Ну, блин, дошло, вроде, да...
четверг, 9 декабря 2010 г.
OpenVPN Fedora 14 tap L2
(Пока не удалось подключиться с виртуальной машины, поэтому фиг знает работает всё это или нет)
Расширенная конфигурация туннеля L2 (Ethernet-туннель, aka "bridged")
Настраивал по статьям openvpn-with-fedora-8 и openvpn-for-fedora-12
Опять же FAQ тож не мешает почитать http://forum.ixbt.com/topic.cgi?id=14:40906:1#1 и http://forum.ixbt.com/topic.cgi?id=14:49976
Нужно установить пакеты openvpn bridge-utils
Авторизация будет происходить по паролю
Потом создаются конфиги такого плана
/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
BOOTPROTO=dhcp
IPV6INIT=yes
IPV6_AUTOCONF=yes
ONBOOT=yes
NM_CONTROLLED=no
TYPE=Bridge
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
BRIDGE=br0
BOOTPROTO=dhcp
/etc/sysconfig/network-scripts/ifcfg-tap0
EVICE=tap0
DEVICETYPE=ovpn
ONBOOT=yes
BRIDGE=br0
BOOTPROTO=dhcp
USERCTL=yes
/etc/sysconfig/network-scripts/ifdown-ovpn
#!/bin/bash
. /etc/init.d/functions
cd /etc/sysconfig/network-scripts
. ./network-functions
[ -f ../network ] && . ../network
CONFIG=${1}
source_config
/usr/sbin/openvpn --rmtun --dev ${DEVICE}
retcode=$?
exit $retcode
/etc/sysconfig/network-scripts/ifup-ovpn
#!/bin/bash
. /etc/init.d/functions
cd /etc/sysconfig/network-scripts
. ./network-functions
[ -f ../network ] && . ../network
CONFIG=${1}
need_config ${CONFIG}
source_config
/usr/sbin/openvpn --mktun --dev ${DEVICE}
if [ -n "${BRIDGE}" -a -x /usr/sbin/brctl ]; then
if ! LC_ALL=C /usr/sbin/brctl show | LC_ALL=C grep -q "^${BRIDGE} "; then
/usr/sbin/brctl addbr ${BRIDGE} 2>/dev/null
fi
/sbin/ip addr flush dev ${DEVICE} 2>/dev/null
/sbin/ip link set dev ${DEVICE} up
if [ -n "$ETHTOOL_OPTS" ] ; then
/sbin/ethtool -s ${REALDEVICE} $ETHTOOL_OPTS
fi
[ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY}
/usr/sbin/brctl addif ${BRIDGE} ${DEVICE}
# Upon adding a device to a bridge,
# it's necessary to make radvd reload its config
[ -r /var/run/radvd/radvd.pid ] && kill -HUP `cat /var/run/radvd/radvd.pid`
exit 0
fi
Добавляем openvpn в автозапуск и устанавливаем атрибуты для скриптов
# chkconfig --level 2345 openvpn on
# chmod +x /etc/sysconfig/network-scripts/ifdown-ovpn
# chmod +x /etc/sysconfig/network-scripts/ifup-ovpn
В седующем конфиге нужно обратить внимание на строку 5, если система не 64-битная, то нужно подправить адрес (стереть 64). Так же обратить внимние на строки 9 и 10 - исправить имена файлов ключей.
/etc/openvpn/tap0.conf
proto tcp-server
mode server
tls-server
dev tap0
plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-pam.so login
client-cert-not-required
username-as-common-name
ca keys/ca.crt
cert keys/home.crt
key keys/home.key # This file should be kept secret
dh keys/dh1024.pem
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
Перезапуск сервисов
/etc/init.d/network restart
/etc/init.d/openvpn restart
Поверка, что мост создан успешно (обязательно наличие br0 [eth0, tap0]:
# brctl show
У меня вылазиет такое:
bridge name bridge id STP enabled interfaces
br0 8000.90e6bad771c7 no eth0
tap0
Ещё у меня при перезапуске сервисов вылазит какая-то ботва про тун-тап.
Создание файлов сертификатов.
Расширенная конфигурация туннеля L2 (Ethernet-туннель, aka "bridged")
Настраивал по статьям openvpn-with-fedora-8 и openvpn-for-fedora-12
Опять же FAQ тож не мешает почитать http://forum.ixbt.com/topic.cgi?id=14:40906:1#1 и http://forum.ixbt.com/topic.cgi?id=14:49976
Нужно установить пакеты openvpn bridge-utils
Авторизация будет происходить по паролю
Потом создаются конфиги такого плана
/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0
BOOTPROTO=dhcp
IPV6INIT=yes
IPV6_AUTOCONF=yes
ONBOOT=yes
NM_CONTROLLED=no
TYPE=Bridge
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
TYPE=Ethernet
BRIDGE=br0
BOOTPROTO=dhcp
/etc/sysconfig/network-scripts/ifcfg-tap0
EVICE=tap0
DEVICETYPE=ovpn
ONBOOT=yes
BRIDGE=br0
BOOTPROTO=dhcp
USERCTL=yes
/etc/sysconfig/network-scripts/ifdown-ovpn
#!/bin/bash
. /etc/init.d/functions
cd /etc/sysconfig/network-scripts
. ./network-functions
[ -f ../network ] && . ../network
CONFIG=${1}
source_config
/usr/sbin/openvpn --rmtun --dev ${DEVICE}
retcode=$?
exit $retcode
/etc/sysconfig/network-scripts/ifup-ovpn
#!/bin/bash
. /etc/init.d/functions
cd /etc/sysconfig/network-scripts
. ./network-functions
[ -f ../network ] && . ../network
CONFIG=${1}
need_config ${CONFIG}
source_config
/usr/sbin/openvpn --mktun --dev ${DEVICE}
if [ -n "${BRIDGE}" -a -x /usr/sbin/brctl ]; then
if ! LC_ALL=C /usr/sbin/brctl show | LC_ALL=C grep -q "^${BRIDGE} "; then
/usr/sbin/brctl addbr ${BRIDGE} 2>/dev/null
fi
/sbin/ip addr flush dev ${DEVICE} 2>/dev/null
/sbin/ip link set dev ${DEVICE} up
if [ -n "$ETHTOOL_OPTS" ] ; then
/sbin/ethtool -s ${REALDEVICE} $ETHTOOL_OPTS
fi
[ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY}
/usr/sbin/brctl addif ${BRIDGE} ${DEVICE}
# Upon adding a device to a bridge,
# it's necessary to make radvd reload its config
[ -r /var/run/radvd/radvd.pid ] && kill -HUP `cat /var/run/radvd/radvd.pid`
exit 0
fi
Добавляем openvpn в автозапуск и устанавливаем атрибуты для скриптов
# chkconfig --level 2345 openvpn on
# chmod +x /etc/sysconfig/network-scripts/ifdown-ovpn
# chmod +x /etc/sysconfig/network-scripts/ifup-ovpn
В седующем конфиге нужно обратить внимание на строку 5, если система не 64-битная, то нужно подправить адрес (стереть 64). Так же обратить внимние на строки 9 и 10 - исправить имена файлов ключей.
/etc/openvpn/tap0.conf
proto tcp-server
mode server
tls-server
dev tap0
plugin /usr/lib64/openvpn/plugin/lib/openvpn-auth-pam.so login
client-cert-not-required
username-as-common-name
ca keys/ca.crt
cert keys/home.crt
key keys/home.key # This file should be kept secret
dh keys/dh1024.pem
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
Перезапуск сервисов
/etc/init.d/network restart
/etc/init.d/openvpn restart
Поверка, что мост создан успешно (обязательно наличие br0 [eth0, tap0]:
# brctl show
У меня вылазиет такое:
bridge name bridge id STP enabled interfaces
br0 8000.90e6bad771c7 no eth0
tap0
Ещё у меня при перезапуске сервисов вылазит какая-то ботва про тун-тап.
Создание файлов сертификатов.
# cd /usr/share/openvpn/easy-rsa/2.0/
# . ./vars
# ./clean-all
# ./build-ca
# ./build-inter $( hostname | cut -d. -f1 )
# ./build-dh
# mkdir /etc/openvpn/keys
# cp -ai keys/$( hostname | cut -d. -f1 ).{crt,key} keys/ca.crt keys/dh1024.pem /etc/openvpn/keys/
среда, 8 декабря 2010 г.
VNC проблема ввода букв с клавиатуры
До этого момента использовал в винде RealVNC, если подключаться с винды к винде, то вполне себе хороша прога. Но вот понадобилось подключиться к винде из-под линукса, и вылезла проблема следующего свойства - не печатает клавиатура буквы. После шерстения инета решил проблему установкой на винду TightVNC. С пингвина подключался при помощи remmina.
Virtual Desktop Manager
Чтобы в винде были как в линуксе виртуальные столы, есть прога от самой МелкоМягкой - Virtual Desktop Manager
Файл называется DeskmanPowerToySetup.exe
Загрузив и установив, настраиваем - щелкнуть правой кнопкой мыши на свободной области панели задач и выбрать команду Toolbars>Desktop Manager (Панели инструментов>Менеджер рабочего стола).
Рекомендуемые настройки (снять галочки):
http://citforum.ru/operating_systems/windows/freexp/
Файл называется DeskmanPowerToySetup.exe
Загрузив и установив, настраиваем - щелкнуть правой кнопкой мыши на свободной области панели задач и выбрать команду Toolbars>Desktop Manager (Панели инструментов>Менеджер рабочего стола).
Рекомендуемые настройки (снять галочки):
http://citforum.ru/operating_systems/windows/freexp/
Зима
Однако же, зима ужо ведь.
Пришло письмо предкам от Деда Мороза - сестрёнка организовала.
Они сразу догадались.
Папашка ходит на рыбалку, и не только он один.
Речка - каток сплошной, на коньках во всю ребетня гоняет.
Сегодня снегу намело, речка вся белой стала.
Пришло письмо предкам от Деда Мороза - сестрёнка организовала.
Они сразу догадались.
Папашка ходит на рыбалку, и не только он один.
Речка - каток сплошной, на коньках во всю ребетня гоняет.
Сегодня снегу намело, речка вся белой стала.
OpenVPN Fedora 14 Windows XP простейшай конфигурация
Для винды качаем с сайта по ссылке http://openvpn.net/index.php/openvpn-client.html
Для федоры устанавливаем из репозитория.
Простейшая конфигурация (static-key - 1 сервер + 1 клиент одновременно) настраивается по ссылкам http://yakm.ru/Nastroyka-OpenVPN.html и http://forum.ixbt.com/topic.cgi?id=14:40906
Кстати, easy-rsa находится в федоре по адресу
Сервером в данном случае выступала федора. При помощи DynDNS был привязан динамический IP к доменному имени вида XYZ.dyndns.org
Конфиг сервера /etc/openvpn/openvpn.conf был такого плана (федора):
Файл key.txt был сгенерирован в винде:
Пуск->Все программы->OpenVPN->Utilites->Generate a static OpenVPN key
Для федоры устанавливаем из репозитория.
Простейшая конфигурация (static-key - 1 сервер + 1 клиент одновременно) настраивается по ссылкам http://yakm.ru/Nastroyka-OpenVPN.html и http://forum.ixbt.com/topic.cgi?id=14:40906
Кстати, easy-rsa находится в федоре по адресу
/usr/share/openvpn/easy-rsa/2.0Не забываем настраивать в обеих ОСях файрволлы: порт по умолчанию 1194
Сервером в данном случае выступала федора. При помощи DynDNS был привязан динамический IP к доменному имени вида XYZ.dyndns.org
Конфиг сервера /etc/openvpn/openvpn.conf был такого плана (федора):
dev tunКонфиг клиента c:\Program Files\OpenVPN\config\client.ovpn (винда):
ifconfig 10.8.0.1 10.8.0.2
secret /etc/openvpn/keys/key.txt
remote XYZ.dyndns.org
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret key.txt
Файл key.txt был сгенерирован в винде:
Пуск->Все программы->OpenVPN->Utilites->Generate a static OpenVPN key
понедельник, 6 декабря 2010 г.
RDP remmina rdesktop
В предыдущем посте было описано как настроить гостевые машины в VirtualBox, чтобы они были в одном адресном пространстве с основным хостом.
Соответственно становится возможным подключаться по RDP к серверу, например, Windows 2008, установленному в виртуальную машину.
Попробовал две проги для подключению по RDP: remmina и rdesktop.
У первой возможностей поболе, а вторая попроще.
Соответственно становится возможным подключаться по RDP к серверу, например, Windows 2008, установленному в виртуальную машину.
Попробовал две проги для подключению по RDP: remmina и rdesktop.
У первой возможностей поболе, а вторая попроще.
VirtualBox и сеть гостевых машин
Настройка сети у основного хоста происходит по DHCP, сервером выступает адсл модем. Чтобы гостевые виртуальные машины получали ip адреса тоже с него, в настройках сетевого адаптера у них нужно указать следующее:
Дальше в настройках уже самой гостевой ОС указываем как получить адрес - по DHCP или статический он будет.
Смысл всех этих телодвижений в том, чтобы гостевые машины и основной хост были в одной сетке (в одном пространстве адресов).
Тип подключения - сетевой мост
Имя - eth0
Дальше в настройках уже самой гостевой ОС указываем как получить адрес - по DHCP или статический он будет.
Смысл всех этих телодвижений в том, чтобы гостевые машины и основной хост были в одной сетке (в одном пространстве адресов).
Подписаться на:
Сообщения (Atom)