Приноровился использовать для монтирования и размонтирования файловый менеджер 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 или статический он будет.
Смысл всех этих телодвижений в том, чтобы гостевые машины и основной хост были в одной сетке (в одном пространстве адресов).
вторник, 9 ноября 2010 г.
Windows сетевые диски и принтеры
Использование команды Net Use для подключения или отключения диска
Вы можете использовать команду net use для пакетных файлов и сценариев, чтобы подключить или отключить диск:
Подключение сетевого принтера
Воспользуйтесь командой net.exe для установления постоянного соединения. Для этого используйте в командной строке следующий синтаксис
Например, для сопоставления порта LPT2 общему принтеру под названием Laser1 на сервере печати Pserver выполните следующие действия.
Дополнительные сведения о сопоставлении портов LPT обычными пользователями см. в следующей статье базы знаний Майкрософт:
Принтер, подключенный через NET USE, в папке "Принтеры и факсы" НИКОГДА НЕ ПОВЛЯЕТСЯ!!!
Для этого используется скрипт или программа, выполняющая подключение с использованием WMI.
Что-то вроде такого:
не удобно будет менять постояно скрип и прописовать в нем имя принтера
хотелосбы также подключать и принтера,вот вчем вопрос возможно ли ето? лпт принтер возможно, а вот сетевой?
а в чем сложности? нафига он тебе в папке принтов?
Неть, если оно надо, то телодвижения такие:
1) Выбрать локальный порт для подключения (например LPT2), если порт физически существует (обычно это LPT1) - его следует отключить аппаратно (скажем в БИОСе)
2) Подключить к нему сетевой принтер (net use lpt2: \\server\printer /persistent:yes)
3) Выполнить установку локального принтера нужного типа на этот порт
Вы можете использовать команду net use для пакетных файлов и сценариев, чтобы подключить или отключить диск:
- Чтобы подключить сетевой диск:
- Нажмите Пуск (Start), затем щелкните Выполнить (Run).
- В окне Открыть (Open), наберите cmd.
- Наберите net use x: \\имя компьютера\имя общего ресурса, где x: имя диска, которое Вы хотите назначить на общедоступный ресурс.
- Чтобы отключить подключенный диск:
- Нажмите Пуск (Start), затем щелкните Выполнить (Run).
- В окне Открыть (Open), наберите cmd.
- Наберите net use x: /delete, где x: имя диска общедоступного ресурса.
Подключение сетевого принтера
Воспользуйтесь командой net.exe для установления постоянного соединения. Для этого используйте в командной строке следующий синтаксис
net use lptx \\сервер_печати\общий_принтер /persistent:yes
где x — номер сопоставляемого порта принтера,сервер_печати — сервер, обслуживающий общий принтер, и
общий_принтер — имя общего принтера.Например, для сопоставления порта LPT2 общему принтеру под названием Laser1 на сервере печати Pserver выполните следующие действия.
- Нажмите кнопку Пуск и выберите команду Выполнить.
- В поле Открыть введите команду cmd и нажмите кнопку ОК.
- Введите команду net use lpt2 \\pserver\laser1 /persistent:yes и нажмите клавишу ВВОД.
- В командной строке введите exit и нажмите клавишу «ENTER».
Дополнительные сведения о сопоставлении портов LPT обычными пользователями см. в следующей статье базы знаний Майкрософт:
313644
(http://support.microsoft.com/kb/313644/
)
Пользователи без прав администратора не могут сопоставить порт LPT сетевому принтеру
Net use
Connects
a computer to or disconnects a computer from a shared resource, or
displays information about computer connections. The command also
controls persistent net connections. Used without parameters, net use retrieves a list of network connections.
net use [DeviceName [/home[{Password | *}] [/delete:{yes | no}]]
net use [/persistent:{yes | no}]
\\ ComputerName \ ShareName : Specifies the name of the server and the shared resource. If ComputerName contains spaces, use quotation marks around the entire computer name from the double backslash (\\) to the end of the computer name (for example, "\\Computer Name\Share Name"). The computer name can be from 1 to 15 characters long.
\ volume : Specifies a NetWare volume on the server. You must have Client Service for NetWare installed and running to connect to NetWare servers.
Password : Specifies the password needed to access the shared resource. Type an asterisk (*) to produce a prompt for the password. The password is not displayed when you type it at the password prompt.
/user : Specifies a different user name with which the connection is made.
DomainName : Specifies another domain. If you omit DomainName, net use uses the current logged on domain.
UserName : Specifies the user name with which to log on.
DottedDomainName : Specifies the fully-qualified domain name for the domain where the user account exists.
/savecred : Stores the provided credentials for reuse.
/smartcard : Specifies the network connection is to use the credentials on a smart card. If multiple smart cards are available, you are asked to specify the credential.
/delete : Cancels the specified network connection. If you specify the connection with an asterisk (*), all network connections are canceled.
/persistent: { yes | no } : Controls the use of persistent network connections. The default is the setting used last. Deviceless connections are not persistent. Yes saves all connections as they are made, and restores them at next logon. No does not save the connection being made or subsequent connections. Existing connections are restored at the next logon. Use /delete to remove persistent connections.
/home : Connects a user to the home directory.
net help command : Displays help for the specified net command.
net use e: \\financial\letters
To assign (map) the disk-drive device name M: to the directory Mike within the Letters volume on the \\Financial NetWare server, type:
net use m: \\financial\letters\mike
To connect the user identifier Dan as if the connection were made from the Accounts domain, type:
net use d:\\server\share /user:Accounts\Dan
To disconnect from the \\Financial\Public directory, type:
net use f: \\financial\public /delete
To connect to the resource memos shared on the \\Financial 2 server, type:
net use k: "\\financial 2" \memos
To restore the current connections at each logon, regardless of future changes, type:
net use /persistent:yes
Syntax
net use [{DeviceName | *}] [\\ComputerName\ShareName[\volume]] [{Password | *}]] [/user:[DomainName\]UserName] [/user:[DottedDomainName\]UserName] [/user: [UserName@DottedDomainName] [/savecred] [/smartcard] [{/delete | /persistent:{yes | no}}]net use [DeviceName [/home[{Password | *}] [/delete:{yes | no}]]
net use [/persistent:{yes | no}]
Parameters
DeviceName : Assigns a name to connect to the resource or specifies the device to be disconnected. There are two kinds of device names: disk drives (that is, D: through Z:) and printers (that is, LPT1: through LPT3:). Type an asterisk (*) instead of a specific device name to assign the next available device name.\\ ComputerName \ ShareName : Specifies the name of the server and the shared resource. If ComputerName contains spaces, use quotation marks around the entire computer name from the double backslash (\\) to the end of the computer name (for example, "\\Computer Name\Share Name"). The computer name can be from 1 to 15 characters long.
\ volume : Specifies a NetWare volume on the server. You must have Client Service for NetWare installed and running to connect to NetWare servers.
Password : Specifies the password needed to access the shared resource. Type an asterisk (*) to produce a prompt for the password. The password is not displayed when you type it at the password prompt.
/user : Specifies a different user name with which the connection is made.
DomainName : Specifies another domain. If you omit DomainName, net use uses the current logged on domain.
UserName : Specifies the user name with which to log on.
DottedDomainName : Specifies the fully-qualified domain name for the domain where the user account exists.
/savecred : Stores the provided credentials for reuse.
/smartcard : Specifies the network connection is to use the credentials on a smart card. If multiple smart cards are available, you are asked to specify the credential.
/delete : Cancels the specified network connection. If you specify the connection with an asterisk (*), all network connections are canceled.
/persistent: { yes | no } : Controls the use of persistent network connections. The default is the setting used last. Deviceless connections are not persistent. Yes saves all connections as they are made, and restores them at next logon. No does not save the connection being made or subsequent connections. Existing connections are restored at the next logon. Use /delete to remove persistent connections.
/home : Connects a user to the home directory.
net help command : Displays help for the specified net command.
Remarks
-
Connecting and disconnecting from a network resource
Use net use to connect to and disconnect from a network resource, and to view your current connections to network resources. You cannot disconnect from a shared directory if you use it as your current drive or an active process is using it.
-
Viewing connection information
To view information about a connection, you can do either of the following:
-
Type net use DeviceName to get information about a specific connection.
-
Type net use to get a list of all the computer's connections.
-
Type net use DeviceName to get information about a specific connection.
-
Using deviceless connections
Deviceless connections are not persistent.
-
Connecting to NetWare servers
After you install and run Client Service for NetWare, you can connect to a NetWare server on a Novell network. Use the same syntax that you use to connect to a Windows Networking server, except you must include the volume you to which you want to connect.
-
Using quotation marks
If the ServerName that you supply contains spaces, use quotation marks around the text (that is, "Server Name"). If you omit quotation marks, an error message appears.
Examples
To assign the disk-drive device name E: to the Letters shared directory on the \\Financial server, type:net use e: \\financial\letters
To assign (map) the disk-drive device name M: to the directory Mike within the Letters volume on the \\Financial NetWare server, type:
net use m: \\financial\letters\mike
To connect the user identifier Dan as if the connection were made from the Accounts domain, type:
net use d:\\server\share /user:Accounts\Dan
To disconnect from the \\Financial\Public directory, type:
net use f: \\financial\public /delete
To connect to the resource memos shared on the \\Financial 2 server, type:
net use k: "\\financial 2" \memos
To restore the current connections at each logon, regardless of future changes, type:
net use /persistent:yes
Принтер, подключенный через NET USE, в папке "Принтеры и факсы" НИКОГДА НЕ ПОВЛЯЕТСЯ!!!
Для этого используется скрипт или программа, выполняющая подключение с использованием WMI.
Что-то вроде такого:
код (во всю высоту: 34 строк)
Option Explicit Dim WSHNetwork, Computer, Path, strComputerDN, objSysInfo, objComputer, sPrintPath, PrintLocation Dim objWMIService, colInstalledPrinters, objPrinter Set WSHNetwork = CreateObject("WScript.Network") On Error Resume Next Path = WSHNetwork.ComputerName Set objSysInfo = CreateObject("ADSystemInfo") strComputerDN = objSysInfo.ComputerName Set objComputer = GetObject("LDAP://" & strComputerDN) 'Назначаем необходимый для установки сетевой принтер 'в зависимости от значения поля Location Select Case objComputer.Get("Location") Case "Отдел 1" sPrintPath = "\\server1\HPLaserJ" PrintLocation = "Принтер в Отделе 1" Case "Отдел 2" sPrintPath = "\\server2\HP1100" PrintLocation = "Принтер HP1100 Отдел 2" Case Else MsgBox("Для установки принтера обратитесь к системному администратору.") :WScript.Quit End Select 'Выполняем проверку установленных принтеров Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & "." & "\root\cimv2") Set colInstalledPrinters = objWMIService.ExecQuery _ ("Select * from Win32_Printer") For Each objPrinter in colInstalledPrinters If PrintLocation = objPrinter.Location Then WScript.Quit End If Next
не удобно будет менять постояно скрип и прописовать в нем имя принтера
код
PrinterName = InputBox("Insert the Name of the printer to be attached.")
хотелосбы также подключать и принтера,вот вчем вопрос возможно ли ето? лпт принтер возможно, а вот сетевой?
а в чем сложности? нафига он тебе в папке принтов?
Неть, если оно надо, то телодвижения такие:
1) Выбрать локальный порт для подключения (например LPT2), если порт физически существует (обычно это LPT1) - его следует отключить аппаратно (скажем в БИОСе)
2) Подключить к нему сетевой принтер (net use lpt2: \\server\printer /persistent:yes)
3) Выполнить установку локального принтера нужного типа на этот порт
суббота, 6 ноября 2010 г.
файлы и папки
Есть папка video, нужно установить на неё и содержание разрешения, чтобы никто кроме рута не мог оттуда ничего удалить.
chown root:root -R video
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
пятница, 5 ноября 2010 г.
четверг, 4 ноября 2010 г.
RFRemix 14 установка с флешки (USB)
Нужно установить систему на компьютер без оптического привода.
Есть флешка на 8 гигов, разбитая на три раздела.
Поглядим чего получится.
Нашёл у Тигро.
Нужно установить пакет с утилитами
Есть флешка на 8 гигов, разбитая на три раздела.
Поглядим чего получится.
Нашёл у Тигро.
Нужно установить пакет с утилитами
yum install livecd-toolsИдём в папку с образом и от туда
livecd-iso-to-disk RFRemix-14-i386-DVD.iso /dev/sdc1Заморочка вышла с монтированием и форматирование флешки, т.к. при установке системы, был установлен Гном для "запоглядеть" вместо обыного АйсВМ. И этот Гном не давал штатным путём просто отмонтировать флешку - он её "извлекал", поэтому пришлось из терминала отмонтировать флешку, отформатировать её в ext3, т.к. флешка на 8 гигов, и уже потом заливать на неё установочный образ. Кстати, если на флешке несколько разделов, то их придётся удалить и создать один.
среда, 3 ноября 2010 г.
среда, 27 октября 2010 г.
Adobe Flash RFRemix 13
От сюда
# yum erase flash-plugin nspluginwrapper
# yum --enablerepo=russianfedora-nonfree-updates-testing install flash-plugin
# yum --enablerepo=russianfedora-nonfree-updates-testing install flash-plugin
Монтирование дисков RFRemix 13
Установить пакет:
yum install udisks
Смонтировать флешку можно так (кодировка будет в норме) от пользователя:
devkit-disks --mount /dev/sdc1
Размонтировать :
devkit-disks --unmount /dev/sdc1
Монтировать от рута не стоит, т.к. пользователи не будут иметь доступ к диску.
От сюда.
yum install udisks
Смонтировать флешку можно так (кодировка будет в норме) от пользователя:
devkit-disks --mount /dev/sdc1
Размонтировать :
devkit-disks --unmount /dev/sdc1
Монтировать от рута не стоит, т.к. пользователи не будут иметь доступ к диску.
От сюда.
пятница, 22 октября 2010 г.
Proxmox 1.6 VNC-консоль FireFox
На домашней машине с RFRemix 13 подключение к виртуальным машинам через VNC-консоль в браузере происходит без проблем, а на работе из Окошек не подключается (пустое белое окошко).
Копошение в Инете натолкнуло на ответ - нужна свежая Ява.
Скачал с сайта Явы. Теперь нужно будет попробовать на работе. Или дома через виртуалку? Будем поглядеть...
upd
Работает. С сертификатами маленькая заморочка - нужно толи установить, толи плюнуть на них, но в итоге интернет эксплоурер стал казать vnc-консоль.
Копошение в Инете натолкнуло на ответ - нужна свежая Ява.
Скачал с сайта Явы. Теперь нужно будет попробовать на работе. Или дома через виртуалку? Будем поглядеть...
upd
Работает. С сертификатами маленькая заморочка - нужно толи установить, толи плюнуть на них, но в итоге интернет эксплоурер стал казать vnc-консоль.
Proxmox 1.6 поддержка RAID1
Из коробки райд не поддерживается? Даже железный?
Настраивал по этой статье
Помогло, вроде. :)
Настраивал по этой статье
Помогло, вроде. :)
В повседневной работе появилась
привычка резервировать данные. Обязательно RAID 1 (зеркало), резервное
копирование. После установки Proxmox VE в дефолтном
режиме, но с двумя дисками – было обнаружено что система разметила и
использует только один диск, что неприемлемо. Ниже приведёно краткое
руководство по переводу разделов диска в режим RAID 1. Итак, приступим (данное руководство делалось для версии 1.5 со стандартным ядром).
Установить Proxmox только на один первый диск (/dev/sda).
Доустановить необходимые пакеты для работы с RAID, создания рамдиска с драйверами:
aptitude install mdadm initramfs-tools
Загрузить модуль raid1:
modprobe raid1
Записать необходимые модули в /etc/modprobe.conf, пересоздать initrd:
echo alias md-personality-3 raid1 >> /etc/modprobe.conf
mkinitramfs -o /boot/initrd.img-`uname -r`-raid1 -r /dev/mapper/pve-root
mkinitramfs -o /boot/initrd.img-`uname -r`-raid1 -r /dev/mapper/pve-root
Отредактировать GRUB, чтобы загрузка производилась с новым initrd:
title Proxmox Virtual Environment, kernel 2.6.18-2-pve on RAID1
root (hd0,0)
kernel /vmlinuz-2.6.18-2-pve root=/dev/mapper/pve-root ro.
initrd /initrd.img-2.6.18-2-pve-raid1
root (hd0,0)
kernel /vmlinuz-2.6.18-2-pve root=/dev/mapper/pve-root ro.
initrd /initrd.img-2.6.18-2-pve-raid1
Разметить второй диск (/dev/sdb) примерно так:
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 63 506016 fd Linux raid autodetect
/dev/sdb2 64 60801 487877985 fd Linux raid autodetect
/dev/sdb1 * 1 63 506016 fd Linux raid autodetect
/dev/sdb2 64 60801 487877985 fd Linux raid autodetect
Т. е. первый раздел под /boot – 512 Mb,
остальное под второй раздел для LVM (данный раздел не должен быть
меньше используемого на первом диске).
Далее создаются RAID-разделы с использованием пока только второго диска:
mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1
mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb2
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
mdadm --create /dev/md1 --level=1 --raid-devices=2 missing /dev/sdb2
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Теперь нужно создать LVM-раздел на
втором диске, добавить его в группу pve, переместить данные с
LVM-раздела первого диска, на RAID-LVM-раздел второго диска, убрать из
LVM первый диск:
pvcreate /dev/md1
vgextend pve /dev/md1
pvmove /dev/sda2 /dev/md1
vgreduce pve /dev/sda2
vgextend pve /dev/md1
pvmove /dev/sda2 /dev/md1
vgreduce pve /dev/sda2
Теперь нужно подготовить RAID-раздел второго диска, скопировать на него /boot:
mkfs.ext3 /dev/md0
mkdir /mnt/md0
mount /dev/md0 /mnt/md0
cp -ax /boot/* /mnt/md0
umount /mnt/md0
rmdir /mnt/md0
mkdir /mnt/md0
mount /dev/md0 /mnt/md0
cp -ax /boot/* /mnt/md0
umount /mnt/md0
rmdir /mnt/md0
Исправить /etc/fstab, поменять запись о /boot так, чтобы она указывала на RAID-раздел:
/dev/md0 /boot ext3 defaults 0 1
Можно перемонтировать /boot:
umount /boot
mount /boot
mount /boot
Переразметить первый диск в соответствии со вторым (у меня так почему-то не получилось, переразмечал вручную):
sfdisk -d /dev/sdb | sfdisk /dev/sda
Теперь можно добавлять в RAID-массивы разделы первого диска:
mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda2
mdadm --add /dev/md1 /dev/sda2
Нужно подождать пока RAID синхронизируется, контролировать процесс можно при помощи такой команды:
watch -n 1 "cat /proc/mdstat"
Теперь нужно переинсталировать загрузчик (GRUB) на обоих дисках:
grub
> find /grub/stage1
find /grub/stage1
(hd0,0)
(hd1,0)
> root (hd0,0)
> setup (hd0)
> root (hd1,0)
> setup (hd1)
> quit
> find /grub/stage1
find /grub/stage1
(hd0,0)
(hd1,0)
> root (hd0,0)
> setup (hd0)
> root (hd1,0)
> setup (hd1)
> quit
Или такой вариант (не проверял лично):
grub-install /dev/sda
grub-install /dev/sdb
grub-install /dev/sdb
Всё, система работает на RAID1 (зеркале).
Proxmox 1.6 поддержка acpid
Отсюда
Нужно добавить репозиторий:
Завтра нужно проверить на работе.
upd
Помогло, однако, блин, а!
Нужно добавить репозиторий:
Затем:
# Lenny backports deb http://www.backports.org/debian lenny-backports main contrib non-free
После этого Proxmox 1.6 должен начать реагировать на кнопку Power.
aptitude update aptitude install -t lenny-backports acpid acpi-support
Завтра нужно проверить на работе.
upd
Помогло, однако, блин, а!
вторник, 19 октября 2010 г.
Proxmox 1.6 шаблон CentOS 5.5
Хорошая вещь для виртуализации Proxmox - так про него говорят и пишут в Инете. Ещё лучше если машина с ним подключена к инету, а если нет, то...
Из этой ситуёвины тож можно выйти.
По умолчанию в шаблонах гостевых осей есть CentOS 5.2, а хочется последней - 5.5
Шаблоны неофициальные можно скачать отсюда: http://download.openvz.org/template/precreated/contrib/centos-5-i386-default-5.5-20100707.tar.gz , при попытке загрузить такой шаблон в Proxmox, вылезет сообщение об ошибке, мол название шаблона не соответствует определённой схеме. Поэтому нужно переименовать шаблон в нечто типа: centos-5-default_5.5_i386.tar.gz и уж потом загружать его в Proxmox.
Едем дальше: на работе нет нормального Инета, дома есть. Ставим дома в виртуалку Proxmox, в него ставим нужный шаблон, обновляем и то и то. Теперь нужно теже обновления накатить на системы на работе. Из Proxmox нужно скопировать папки /var/cache/apt и /etc/apt. В этих папках будут настройки репозиториев и кеш загруженных пакетов. Предварительно нужно отредактировать файл /etc/apt/sources.list, добавить в него строку типа
deb http://http.us.debian.org/debian stable main contrib non-freeВ случае с обновлением гостя CentOS, можно просто его обновить (установить нужные пакеты) и забекапив образ системы, перенести его на работу, а можно в настройках /etc/yum.conf указать параметр keepcache=1 и выкачать из кеша /var/cache/yum пакеты, установив их потом в гостевой системе на работе.
Будем тестить сие.
среда, 13 октября 2010 г.
VirtualBox общие папки
Мануалов в сети по подключению общих папок полно. Первой ссылкой у меня в Гугле было на Народ. Всё понятно и просто, но после скачивания установки дополнения не произошло, т.к. я в винде работал под пользователем с ограниченными правами, да ещё и был отключён автозапуск всех видов дисков. Поэтому пришлось запускать установочный файл с оптического диска вручную от имени пользователя с правами администратора. После перезагрузки общие папки заработали.
воскресенье, 10 октября 2010 г.
RFRemix 13 CentOS vsftpd ext
В записках бОяниста автор выкладывает патченный vsftpd (хавает кириллицу в названиях файлов) для CentOS.
Пакеты для RFRemix и CentOS как бы совместимы, но патченный vsftpd не захотел ставиться из-за зависимостей, которые так и не смогли разрешиться, поэтому был сделан ход зигзагом. Скачан патченный пакет, при помощи mc от туда был вытащен бинарный файл vsftpd и заменен им присутствующий в системе. При попытке запуска сервера вылетели ошибки о нехвтке библиотек.
Запуск vsftpd прошёл путём.
Ну и не забываем добавить в конфиг
Ссылка на всякий пожарный.
Пакеты для RFRemix и CentOS как бы совместимы, но патченный vsftpd не захотел ставиться из-за зависимостей, которые так и не смогли разрешиться, поэтому был сделан ход зигзагом. Скачан патченный пакет, при помощи mc от туда был вытащен бинарный файл vsftpd и заменен им присутствующий в системе. При попытке запуска сервера вылетели ошибки о нехвтке библиотек.
Запускается vsftpd для vsftpd: /usr/sbin/vsftpd: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directoryи
Запускается vsftpd для vsftpd: /usr/sbin/vsftpd: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directoryНедостающие библиотеки были вытащены при помощи mc из пакетов
opensslи
libcapскачанных из репозитория CentOS.
Запуск vsftpd прошёл путём.
Ну и не забываем добавить в конфиг
convert_charset_enable=1
local_charset=UTF8
remote_charset=CP1251
Вот и всё.Ссылка на всякий пожарный.
DynDNS ZyXEL обратная петля NAT
Модем старый ZyXEL Prestige 660R-T1 подключён бриджем.
Понадобилось пробрость порты и подключить динамическое имя, т.к. провайдер мне предоставляет динамический адрес при подключении к Интернету.
Инструкций по пробросу портов в Инете полно, но есть один глюк, если попробовать с локальной машины подключиться по имени к самому себе, то подключишся к модему. Это происходит потому, что нужно активировать в модеме обратную петлю.
Читать статью в базе знаний ZyXEL
Ещё статья нужная полезная
Из-за этой обратной петли не мог разобраться с пробросом портов, т.к. nmap выдавал информацию по портам модема и браузер пёрся в модем.
Вот выдержки из статей:
Понадобилось пробрость порты и подключить динамическое имя, т.к. провайдер мне предоставляет динамический адрес при подключении к Интернету.
Инструкций по пробросу портов в Инете полно, но есть один глюк, если попробовать с локальной машины подключиться по имени к самому себе, то подключишся к модему. Это происходит потому, что нужно активировать в модеме обратную петлю.
Читать статью в базе знаний ZyXEL
Ещё статья нужная полезная
Из-за этой обратной петли не мог разобраться с пробросом портов, т.к. nmap выдавал информацию по портам модема и браузер пёрся в модем.
Вот выдержки из статей:
Обратная петля NAT
Вопрос: Применима ли обратная петля NAT когда используется Full Feature NAT? | |||
Ответ:
Да, обратная петля NAT (NAT loopback) применима как в случае использования SUA так и в случае использования Full Feature NAT.
Обратная петля NAT позволяет пользователям
сегмента LAN получить доступ к локальным серверам (доступным из
Интернета) через внешний IP-адрес (WAN IP) или при использовании
функции Dynamic DNS (DynDNS) через доменное имя.
Для включения петли NAT в маршрутизаторе ZyXEL, пожалуйста введите команду «ip nat loopback on» в режиме командной строки.
Дополнительная информация: http://zyxel.ru/content/support/knowledgebase/KB-1092
Доступ к локальному серверу по доменному имени
|
Режим командной строки в интернет-центрах, модемах, маршрутизаторах ZyXEL
Вопрос: Как зайти в режим командной строки интернет-центра, модема или роутера? |
Ответ: Для того чтобы зайти в режим командной строки интернет-центра (модема или роутера) нужно использовать telnet-соединение для подключения к устройству. При подключении к устройству через telnet-соединение, вы увидите один из двух видов интерфейса. В одном из них присутствует только командная строка, другой интерфейс выполнен в виде SMT-меню. При telnet-подключении к устройству вы можете увидеть следующий экран:
Это означает, что устройство имеет интерфейс выполненный в виде SMT-меню.
Для входа в режим командной строки нужно зайти в меню 24.8 Command Interpreter Mode (наберите 24 и нажмите клавишу Enter, а затем 8 и снова Enter).
Для выхода из режима командной строки выполните команду exit.
|
Подписаться на:
Сообщения (Atom)