среда, 28 ноября 2012 г.

Проблемы с сетевой картой Atheros (Dimaship) в Ubuntu. Зависание компьютера при копировании больших объёмов файлов.

    Путем гугления выяснил что у народа при использовании карт этого производителя возникают «мертвые» зависания, при копировании файлов. Как например описано здесь https://bugs.launchpad.net/ubuntu/+source/linux/+bug/572249.
    Там же в качестве обходного решения предлагается поставить параметр загрузки ядра pci=nomsi.

    I found a possible solution in http://kerneltrap.org/mailarchive/linux-netdev/2009/10/6/6256977/thread where Jay mentions to add pci=nomsi to the boot parameters.

   To implement this I edited /etc/default/grub to include the following line:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_brightness=vendor pci=nomsi"
then ran update-grub2 as usual so that it took effect.

I have just remembered I am still running the atl1e source-built driver, I will try with the stock Ubuntu driver.

понедельник, 26 ноября 2012 г.

Установка Wine 1.5.5


wget http://prdownloads.sourceforge.net/wine/wine-1.5.5.tar.bz2
 tar -xjvf wine-1.5.5.tar.bz2
 cd wine-1.5.5
sudo apt-get install flex
sudo apt-get install flex bison qt3-dev-tools qt4-qmake
./configure
cd tools
./wineinstall

понедельник, 19 ноября 2012 г.

Настройка OpenVPN в Ubuntu

Настройка OpenVPN в Ubuntu

Довольно подробно все обсосано уже до нас вот здесь http://forum.ixbt.com/topic.cgi?id=14:40906 (большое спасибо vinni). Решил вынести ключевые моменты.

Собсна ставим openvpn:

$sudo apt-get install openvpn

Апосля установки настраиваем server.
OpenVPN умеет работать в двух режимах tun = L3-туннель, tap = L2-туннель. При использование tap - сервер работает в режиме бриджа


Рисуем конфиг сервера в режиме tun:

$sudo mcedit /etc/openvpn/server.conf:

и внего пишим следующее:

port 1194
proto udp
dev tun
dev-node tun0

ca /etc/openvpn/cert/ca.crt
cert /etc/openvpn/cert/mmarket.crt
key /etc/openvpn/cert/mmarket.key
dh /etc/openvpn/cert/dh1024.pem

server 10.7.0.0 255.255.255.0
route-method exe
client-config-dir "/etc/openvpn/ccd"
push "route 192.168.10.0 255.255.255.0"
route 192.168.1.0 255.255.255.0

ifconfig-pool-persist ipp
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /etc/openvpn/openvpn-status.log
log /etc/openvpn/openvpn.log
verb 5
mute 20

разберем подробнее:
port 1194 - порт, который слушает сервер (можно выбирать любой)
proto udp - протокол передачи данных (tcp/udp)
dev tun - режим работы openvpn сервера (tun/tap)
dev-node tun0 - явное указание интерфейса (имя интерфейса на котором поднимать сервер, необязательный параметр)

ca, cert, key, dh - сертификаты и ключи (генерируются отдельно, см. ниже)

server 10.7.0.0 255.255.255.0 - этот параметр задает подсеть в которой работает openvpn сервер (лучше брать 172.0.0.0/8, 10.0.0.0/8, 192.168.0.0/8 но чтоб не пересекались с локальными сетями, если таковые есть)

route-method exe - добавление маршрута делать не через API, а через route.exe
client-config-dir "/etc/openvpn/ccd" - директория настроек для клиентов (удобно если много клиентов и каждому из них нужно передать разные параметры), в этой директории нужно создать файл с именем клиента, в который записать необходимые параметры

push "route 192.168.10.0 255.255.255.0" - передать клиентам маршрут на подсеть, которая находится за интерфейсом tun0

route 192.168.1.0 255.255.255.0 - добавить маршрут на сервере; указывает что за клиентом есть подсеть 192.168.1.0/8


ifconfig-pool-persist ipp - помещать ip адреса клиентов в файл ipp
client-to-client - разрешает обмен трафиком между клиентами для режима dev tun
duplicate-cn - у нескольких клиентов могут быть одинаковые имена
keepalive 10 120 - макрокоманда "пинговать" противоположную сторону туннеля с указанным периодом 10 сек, при отсутствии встречных пингов в течение 120 сек считать туннель упавшим и запускать пересоединение
comp-lzo - сжатие трафика
persist-key - поддерживать ключ
persist-tun - поддерживать туннель
status /etc/openvpn/openvpn-status.log - писать статус и состояние в файл
log /etc/openvpn/openvpn.log - вести лог сервера в файл
verb 5 - глубина каментов в логах
mute 20 - писать в лог каждые 20 сек


Как я уже говорил выше, создаем ключи и сертификаты для шифрования и авторизации.
Соответствующие скрипты для этого находятся в папке /usr/share/doc/openvpn/examples/easy-rsa/2.0

Создаем CA (авторитетный сертификат):

$cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
$sudo bash
$. ./vars
$./clean-all
$./build-ca


Теперь создадим сертификат и приватный ключ для сервера:

$./build-key-server mmarket


Примечание: mmarket - имя ключа для сервера (можно использовать любое)

Создаем ключ для клиента (если клиентов несколько, процедуру придётся повторить):

$./build-key client1

Примечание: для каждого клиента должно быть указано своё уникальное имя (в данном случае client1).

Примечание: если новый клиент создаётся спустя некоторое время, процедура будет выглядеть следующим образом:

$cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
$source ./vars
$./build-key client2


Генерируем параметры Диффи-Хеллмана:

$./build-dh

Помещаем следующие файлы в директорию /etc/openvpn/cert

ca.crt
mmarket.crt
dh1024.pem
mmarket.key

Создаём файл /etc/openvpn/ipp в который программа будет помещать IP адреса выданные клиентам клиентов.




Теперь переходим к конфигам клиента...
Схема построения похожа на конфиг сервера


Рисуем конфиг клиента:

$sudo mcedit /etc/openvpn/client.conf:

и внего пишим следующее:


client
dev tun
proto udp


remote 1.2.3.4 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/cert/ca.crt

cert /etc/openvpn/cert/client1.crt

key /etc/openvpn/cert/client1.key
comp-lzo

log /etc/openvpn/openvpn.log
verb 5
mute 20

Разберем конфиг подробнее:


client - явное указание, что это клиент
dev tun - работаем через L3-туннель
proto udp - протокол udp


remote 1.2.3.4 1194 --- 1.2.3.4 - внешний ip сервера, порт 1194
resolv-retry infinite - пытаться бесконечно определить адрес сервера (при указании его по имени), чтобы "обойти" проблему с завершением попытки установления соединения при отказе DNS или сбое внешних соединений
nobind - указание использовать динамический порт на клиенте, актуально только для udp, т.к. для tcp на клиенте всегда используется динамический порт
persist-key - поддерживать ключ
persist-tun - поддерживать туннель

ca /etc/openvpn/cert/ca.crt - сертификат СА (скопировать с сервера)


cert /etc/openvpn/cert/client1.crt - сертификат клиента

key /etc/openvpn/cert/client1.key - ключ клиента
comp-lzo - разрешить сжатие
log /etc/openvpn/openvpn.log - писать лог в файл
verb 5 - глубина каментов в логах
mute 20 - писать в лог каждые 20 сек