30 декабря 2014 г.

Настраиваем автоматическое поднятие VPN (pptp) соединения

Настраиваем автоматическое поднятие VPN (pptp) соединения на примере дистрибутива PuppyRus-A собранного из пакетов Arch Linux. Часть до netctl, поднятие vpn, подходит для любого дистрибутива линукса где есть pptpclient.

Для настройки VPN без использования NetworkManager (все равно пароль в pra не запоминает, а вручную вводить лень), необходимо создать файл /etc/ppp/peers/trion с настройками pptp. У меня провайдер трион и соответственно имя соединения trion и сервер доступа vpn.trion с использованием автоматической настройки dhcp.

cat /etc/ppp/peers/trion

mtu 1416
mru 1500
persist
usepeerdns
maxfail 0
lcp-echo-interval 60
lcp-echo-failure 4
#defaultroute
#При подключении VPN маршрут по умолчанию не изменяется и равен шлюзу локальной сети.
nodefaultroute
pty "pptp vpn.trion --nolaunchpppd"
name cyuixoeo
remotename PPTP
file /etc/ppp/options.pptp
ipparam trion

#replacedefaultroute
noipdefault 50

Проверить, чтобы в /etc/ppp/options.pptp было прописано (в pra с этим все в порядке по умолчанию):
lock
noauth
refuse-pap
refuse-chap
nobsdcomp
nodeflate

В /etc/ppp/pap-secrets и в /etc/ppp/chap-secrets вписываешь логин и пароль для VPN
<логин> PPTP <пароль> *

В консоли пишем sudo pon trion и наслаждаемся интернет серфингом, а для выключения sudo poff trion
Но как обычно нам лень вызывать консоль и выполнять команду включения... да еще противный кот бегает и перехватывает активность окна от терминала на себя при настройке DHCP. Но можно это упростить и ускорить при помощи netctl

Настроим все при помощи "Настройки сети" pra выбрав из списка netctl (Мастер настройки сети). Из примеров выбираем ethernet-dhcp и автозапуск, но не забываем изменить стандартное устройство eth0 на вашу сетевую
карту (у меня это enp3s7, который на самом деле eth1). Все это дело пропишется в настройки systemd и при запуске pra черный кот дорогу нам
уже не перейдет...


Можно конечно и вручную вводить sudo pon trion, но нам же лень! Поэтому воспользуемся хаком netctl и заставим его поднимать VPN соединение автоматически после поднятия DHCP. Для этого необходимо создать скрипт /etc/netctl/hooks/postconnect и установить права на выполнение:

cat /etc/netctl/hooks/postconnect

#!/bin/sh
ExecUpPost="pon trion"

Если уже находитесь в каталоге /etc/netctl/hooks/ то делаем как-то так:
chmod 744 postconnect
ls -la postconnect
-rwxr--r-- 1 root root 37 дек 29 16:58 postconnect

Все, при следующей загрузке pra получаем автоматическое соединение по VPN. Что намного удобнее NetworkManager'а который к тому же требует введения пароля вручную при каждом соединении. В pra NM не запоминает пароль, в отличии от других дистрибутивов. Возможно это когда-нибудь исправят, но меня это сейчас не беспокоит ибо нашел другое решение...

p.s. Если не используете сохранение при помощи changes, не забудьте все изменения добавить в 090-save-*.pfs

n.b. При использовании вместо systemd системы инициализации minirc (например: 075-Minirc-120.2915396-s14) необходимо создать файл /etc/rc.d/net-trion и сделать его исполняемым:
su -
echo "/usr/lib/network/network start ethernet-dhcp &" > /etc/rc.d/net-trion
chmod 744 /etc/rc.d/net-trion
ethernet-dhcp - это ваш профиль netctl, который поднимается при старте minirc.

8 декабря 2014 г.

Устанавливаем ядро Linux 3.18 в Ubuntu


После двух месяцев разработки Линус Торвальдс анонсировал стабильный релиз ядра Linux 3.18 под кодовым названием Diseased Newt.

В новую версию принято около 11200 исправлений от 1300 разработчиков, размер патча - 38 Мб (изменения затронули 9307 файлов, добавлено 485719 строк кода, удалено 355945 строк). Около 47% всех представленных в 3.18 изменений связаны с драйверами устройств, примерно 18% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 4% - файловыми системами и 4% c внутренними подсистемами ядра.

Ubuntu Kernel Team сделала доступными бинарные сборки релиза и я решил их скачать и установить: Download Kernel 3.18 (.deb) Проверено на Ubuntu 14.10/15.04 amd64...

Установить ядро 3.18.0 для 64-bit одной командой:
cd ~/Загрузки && wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-headers-3.18.0-031800-generic_3.18.0-031800.201412071935_amd64.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-headers-3.18.0-031800_3.18.0-031800.201412071935_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-image-3.18.0-031800-generic_3.18.0-031800.201412071935_amd64.deb && sudo dpkg -i *.deb

Не будет лишним обновить загрузчик grub:
sudo update-grub

Тестируем, пользуемся или удаляем ядро 3.18.0:
sudo apt-get remove linux-headers-3.18.0-* linux-image-3.18.0-* && sudo update-grub

---------- update ----------

Для 32-bit (одной командой):
cd /tmp && wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-headers-3.18.0-031800-generic_3.18.0-031800.201412071935_i386.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-headers-3.18.0-031800_3.18.0-031800.201412071935_all.deb http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-image-3.18.0-031800-generic_3.18.0-031800.201412071935_i386.deb && sudo dpkg -i *.deb && sudo update-grub