среда, 29 декабря 2010 г.

Thunar монтирование съёмных носителей

Приноровился использовать для монтирования и размонтирования файловый менеджер Thunar.
Добавил его в конфиг айса для главного меню.
Не совсем кошерно, но зато удобно ;)

linux информация о железе

Например, так:
http://www.opennet.ru/base/sys/hwmon.txt.html

ejabberd

Выкурить:
http://kvk.pp.ru/doc/ejabberd.shtml
http://www.lissyara.su/articles/freebsd/programms/ejabberd+mysql+icq/

squid

Почитать
http://habrahabr.ru/blogs/squid/
http://www.bog.pp.ru/work/squid.html

Fedora архивы

Старые версии Fedora можно скачать где-то там:
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

воскресенье, 26 декабря 2010 г.

CentOS 5.5 DNS кеширующий первичный

Блин, долго не мог вникнуть в конфигурирование днс-сервера на центос.
Читал в Инете много разного, с готовыми конфигами, но то, что было там, не совпадало с тем, что по умолчанию ствится в центос 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

Для расширения кругозора пойдёт, но как руководство к действию в федоре нет.

VNC

Окончательно определился с клиентами и серверами для VNC.

Подключение с линукса к винде:
На винду в качестве сервера нужно ставить TightVNC и во время инсталляции обязательно нужно установить пароль для административных опцый, чтобы пользователи не могли изменить настройки.
На линукс в качестве вьювера нужно ставить Remmina.
Возможные проблемы с вводом кириллицы решаются переключением вручную через значок в трее. Так же можно использовать буфер обмена. Также бываю проблемы даже при вводе латинцы со знаками препинания - запятая, точка.

Подключение с винды к винде:
В принцыпе без разницы, на данный момент использую RealVNC.
Но в свете реальной возможности подключения с линукса, в дальнейшем буду переходить на TightVNC.

OpenVPN и VirtualBox

Эксперименты с OpenVPN проводились при участии VirtualBox.
Единственная конфигурация, заработавшая сразу и без проблем, была L3 со статическим ключом.
Конфигурация L3 с ключом pkcs12 заработала тоже сразу, но только уже не в VirtualBox, а на реальных компьютерах. В виртуалке я с ней немного "побадался" и бросил, не осилив разобраться.
С конфигурацией тоннеля L2 я также "бодался" в виртуалке с отридцательным результатом.
Думаю, основная проблема в моём недопонимании принцыпов работы VPN и маршрутизации и, как следствие, неправильные настройки сети в VirtualBox.
Нужно будет малость отдохнуть, почитать на эту тему и вникнуть.

пятница, 10 декабря 2010 г.

OpenVPN туннель L3 Fedora 14 ключ pkcs12

Рабочие конфиги, вроде ;)

За основу взята статья с 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

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_COUNTRY="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
....................+....................+.........................................+............+......++*++*++*

Создаем 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/keys
ca.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
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


vim /etc/openvpn/ccd/klient2
ifconfig-push 10.10.100.6 10.10.100.5
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

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  ]
Проверяем
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" - небезопасно.


Так же может случиться так, что клиент не коннектиться, при этом в логах у него ботва такого плана:

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)
Лечиться добавление параметра --float в скрипт запуска OpenVPN на стороне сервиса. В федоре нужно подправить файл /etc/init.d/openvpn
В секции # 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



Ещё у меня при перезапуске сервисов вылазит какая-то ботва про тун-тап.

Создание файлов сертификатов.
# 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. 

OpenVPN FAQ

Только  FAQ
http://forum.ixbt.com/topic.cgi?id=14:49976

Ещё и обсуждение
http://forum.ixbt.com/topic.cgi?id=14:40906:1#1

Virtual Desktop Manager

Чтобы в винде были как в линуксе виртуальные столы, есть прога от самой МелкоМягкой - Virtual Desktop Manager
Файл называется  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 находится в федоре по адресу
/usr/share/openvpn/easy-rsa/2.0
Не забываем настраивать в обеих ОСях файрволлы: порт по умолчанию 1194

Сервером в данном случае выступала федора. При помощи DynDNS был привязан динамический IP к доменному имени вида XYZ.dyndns.org
Конфиг сервера /etc/openvpn/openvpn.conf был такого плана (федора):
dev tun
ifconfig 10.8.0.1 10.8.0.2
secret /etc/openvpn/keys/key.txt
Конфиг клиента c:\Program Files\OpenVPN\config\client.ovpn (винда):
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.
У первой возможностей поболе, а вторая попроще.

VirtualBox и сеть гостевых машин

Настройка сети у основного хоста происходит по DHCP, сервером выступает адсл модем. Чтобы гостевые виртуальные машины получали ip адреса тоже с него, в настройках сетевого адаптера у них нужно указать следующее:
Тип подключения - сетевой мост
Имя - eth0


Дальше в настройках уже самой гостевой ОС указываем как получить адрес - по DHCP или статический он будет.

Смысл всех этих телодвижений в том, чтобы гостевые машины и основной хост были в одной сетке (в одном пространстве адресов).