Расплодилось у меня много всяких vpn-соединений ppp и openvpn. Решил все унифицировать с достаточной степенью безопасности. Выбор пал на l2tp, так как есть IPsec, а клиент в любом Windows есть по умолчанию, плюс все это хозяйство должно работать под Linux.
Так как решил использовать Gentoo в качестве сервера, то наиболее распространенное решение это xl2tpd и OpenSwan.
Начало =).
Сначала настраивают xl2tpd. Настройка, как и все в Gentoo, делается элементарно. Основной конфигурационный файл xl2tpd /etc/xl2tpd/xl2tpd.conf. Привожу минимальное содержимое этого файла с которым Windows-клиент соединяется с настройками по умолчанию. Естественно речь идет о Window 7.
; l2tpd.conf
;
[global]
; Номер порта UDP на котором работает сервер l2tp
port = 1701
[lns default]
; Диапазон выдаваемых IP-адресов клиентам
ip range = 192.168.0.10-192.168.0.20
; IP-адрес для сервера
local ip = 192.168.0.1
; Запрет более 1 соединения на клиента
exclusive = yes
; Обязательная авторизация
require authentication = yes
; На время отладки полезная опция
ppp debug = yes
; Файл с опциями pppd для соединения
pppoptfile = /etc/ppp/options.l2tpd
Соответственно дальше можно резвиться, опций у xl2tpd навалом =), но нам нужно настроить точно также по минимуму pppd через /etc/ppp/options.l2tpd
#/etc/ppp/options.l2tpd
# Разрешаем устанавливать адреса при соединении
ipcp-accept-local
ipcp-accept-remote
# Устанавливаем Dns для Windows-клиентов
ms-dns 192.168.1.21
# На всякий случай отключаем компрессию, ибо с ней могут быть проблемы (не тестировал)
noccp
# Требовать авторизацию
auth
# Аппратное управление потоком (не тестировал)
crtscts
# Таймаут соединения в секундах
idle 180
# С размерами пакетов тоже все ясно
mtu 1480
mru 1480
# Просим не мучить клиентов маршрутом по умолчанию
nodefaultroute
# Подробные логи в syslog, после настройки можно отключить
debug
# Создать файл блокировок
lock
# Добавляет адрес в arp таблицу
proxyarp
# Для согласования соединения, в миллисекундах, по умолчанию 1000,
# но для надежности я выставил 5000
connect-delay 5000
# Ждать пока клиент не определится с соединением lcp
silent
# Разрешаем соединяться с использованием PAM, но при этом все равно нужна запись
# в pap-secrets, а пароль будет проверяться через PAM. Работает только для PAP
# при CHAP обязательно указание паролей в chap-secrets
login
Так как Windows по умолчанию не использует PAP, то надо настраивать через CHAP. Для авторизации пишем имя и пароль в chap-secrets
# client server secret IP addresses
user * password 192.168.0.0/24
Вот и все, первая часть, настройка самого xl2tpd готова. Запускаем и тестируем.
четверг, 28 октября 2010 г.
вторник, 5 октября 2010 г.
iLO 2
В какой то момент, мне потребовалось удаленное управление сервером, он видите ли зависал при перезагрузке и приходилось к нему идти ногами, что в общем то не правильно. На моё счастье сервер был Hewlett-Packard DL320G4, в котором "по умолчанию" установлена плата iLO (Integrated Lights-Out) позволяющая управлять им через сеть.
Всё было бы прекрасно, за исключением одного "но" - у меня это не заработало. Долго же я бился, пока не понял, что виртуальная клавиатура в iLO для установленной операционной системы выглядит как USB-клавиатура и если для нее драйверы отсутствуют, то соответственно ни чего не работает. Вроде мелочь, но помнить надо =).
Всё было бы прекрасно, за исключением одного "но" - у меня это не заработало. Долго же я бился, пока не понял, что виртуальная клавиатура в iLO для установленной операционной системы выглядит как USB-клавиатура и если для нее драйверы отсутствуют, то соответственно ни чего не работает. Вроде мелочь, но помнить надо =).
пятница, 9 апреля 2010 г.
ZyXEL (HylaFAX - ответный удар) - продолжение
В прошлый раз я достаточно быстро выкрутился с модемом ZyXEL Omni 56K Duo подключенным по USB и переехал с ядра 2.6.22 на 2.6.27. Мне потребовалось более новое ядро, в частности 2.6.33 и старый трюк с подменой ID модема не сработал. Точнее модуль omninet подгружался но при попытке использования устройства /dev/ttyUSB0 я получил ошибку - Can not open modem (Input/output error).
Поиски в интернете прямого ответа не дали, но результат всё-таки был найден =), правда речь там шла про gps, но факт остается фактом. Необходимо изменить кроме файла omninet.c ещё и usb-serial.c
Вот два патча, которые у меня получились, для ядра 2.6.33:
--- /usr/src/linux/drivers/usb/serial/usb-serial.c 2010-02-24 21:52:17.000000000 +0300
+++ tmp/usb/usb-serial.c 2010-04-09 15:08:09.000000000 +0400
@@ -307,6 +307,8 @@
struct usb_serial_port *port = tty->driver_data;
dbg("%s - port %d", __func__, port->number);
tty_port_close(&port->port, tty, filp);
+ tty_kref_put(tty);
+
}
--- /usr/src/linux/drivers/usb/serial/omninet.c 2010-02-24 21:52:17.000000000 +0300
+++ tmp/usb/omninet.c 2010-04-09 15:08:37.000000000 +0400
@@ -59,7 +59,7 @@
#define DRIVER_DESC "USB ZyXEL omni.net LCD PLUS Driver"
#define ZYXEL_VENDOR_ID 0x0586
-#define ZYXEL_OMNINET_ID 0x1000
+#define ZYXEL_OMNINET_ID 0x1512
/* This one seems to be a re-branded ZyXEL device */
#define BT_IGNITIONPRO_ID 0x2000
Поиски в интернете прямого ответа не дали, но результат всё-таки был найден =), правда речь там шла про gps, но факт остается фактом. Необходимо изменить кроме файла omninet.c ещё и usb-serial.c
Вот два патча, которые у меня получились, для ядра 2.6.33:
--- /usr/src/linux/drivers/usb/serial/usb-serial.c 2010-02-24 21:52:17.000000000 +0300
+++ tmp/usb/usb-serial.c 2010-04-09 15:08:09.000000000 +0400
@@ -307,6 +307,8 @@
struct usb_serial_port *port = tty->driver_data;
dbg("%s - port %d", __func__, port->number);
tty_port_close(&port->port, tty, filp);
+ tty_kref_put(tty);
+
}
--- /usr/src/linux/drivers/usb/serial/omninet.c 2010-02-24 21:52:17.000000000 +0300
+++ tmp/usb/omninet.c 2010-04-09 15:08:37.000000000 +0400
@@ -59,7 +59,7 @@
#define DRIVER_DESC "USB ZyXEL omni.net LCD PLUS Driver"
#define ZYXEL_VENDOR_ID 0x0586
-#define ZYXEL_OMNINET_ID 0x1000
+#define ZYXEL_OMNINET_ID 0x1512
/* This one seems to be a re-branded ZyXEL device */
#define BT_IGNITIONPRO_ID 0x2000
четверг, 4 марта 2010 г.
eml и base64
Получил файл кривого письма в формате eml. По тексту видно, что есть два аттачмента упакованных base64. Выдрал в файлы содержимое этих аттачментов, а дальше:
cat file.base64 | base64 -d > file.png
Не понравилось. Нашел чудесную программу - uudeview. Теперь надо какимто образом не забыть о ее существовании =).
cat file.base64 | base64 -d > file.png
Не понравилось. Нашел чудесную программу - uudeview. Теперь надо какимто образом не забыть о ее существовании =).
четверг, 10 декабря 2009 г.
xfce и samba
Кажется победил! =) Давно маюсь одной, вроде бы простой проблемой - удобство монтирования ресурсов Windows сетей в Linux. Дело в том, что многие программы не поддерживают возможность сетевой работы, а на каждую случайную расшаренную папку "маунтов" не понаделаешь. Эта проблема меня окончательно доняла, когда я перехал под xfce4.
Задача: Монтировать произвольное количество ресурсов samba по ссылку вида smb://сервер/папка с минимальным количеством телодвижений и интегрировать все это хозяйство в окружение xfce.
Для решения задачи потребовалось установить 3 программы:
В общем, после установки всего этого хозяйства потребовалось пара настроек. Привязать в глобальных клавишах на сочетание Alt-F2 запуск gmrun. Для gmrun создан файл настроек:
/etc/gmrunrc
URL_http = /usr/bin/firefox %u
URL_smb = xfce4-gvfs-mount -l %u
Задача: Монтировать произвольное количество ресурсов samba по ссылку вида smb://сервер/папка с минимальным количеством телодвижений и интегрировать все это хозяйство в окружение xfce.
Для решения задачи потребовалось установить 3 программы:
- gvfs - виртуальная файловая система (собирать с USE="fuse")
- xfce4-gvfs-mount - плагин xfce для работы с gvfs
- gmrun - программа запуска приложений с расширенными настройками, для замены стандратной xfrun4
В общем, после установки всего этого хозяйства потребовалось пара настроек. Привязать в глобальных клавишах на сочетание Alt-F2 запуск gmrun. Для gmrun создан файл настроек:
/etc/gmrunrc
URL_http = /usr/bin/firefox %u
URL_smb = xfce4-gvfs-mount -l %u
Подписаться на:
Сообщения (Atom)