Так сложилось, что очень многие провайдеры (как в Украине, так и в России) предоставляют подключение к интернет через VPN-соединение; в Linux оно реализуется через протокол PPTP (стоит отметить, что в дитстрибутивах Linux полная поддержка PPTP отсутствовала из-за опасения патентных претензий по поводу протокола MPPE; официально поддержка PPTP была начата с версии ядра Linux 2.6.14).
Некоторые провайдеры предоставляют возможность подключения по протоколу L2TP. Не вдаваясь в технические подробности, L2TP — протокол туннелирования, гораздо примитивнее PPTP, и, соответственно, требует намного меньше накладных расходов (хотя и менее защищен). Прирост производительности связан с уменьшением коллизий пакетов (по сравнению с PPTP) и сжатии данных на уровне протокола (L2TP).
Лично мне использование L2TP привело к увеличению скорости примерно в 10 раз.
Техническое отступление:
L2TP — сетевой протокол туннелирования канального уровня, сочетающий в себе протокол L2F, разработанный компанией Cisco, и протокол PPTP корпорации Microsoft. Является стандартом IETF (RFC 2661).
Переходим к настройке L2TP в Ubuntu Linux. Сказанное должно быть справедливым и для Debian.
Очень рекомендую убрать пакет NetworkManager:
Нам понадобится пакет xl2tpd:
После чего переходим к редактированию конфигурационных файлов. Сразу отмечу, что приводимые мной настройки относятся к моему провайдеру (SevStar); для других провайдеров, возможно, потребуются некоторые изменения.
- Редактируем файл
/etc/xl2tpd/xl2tpd.conf(sudo nano /etc/xl2tpd/xl2tpd.conf):[-]View Code Text[global]
access control = yes
[lac sevstar]
# Хост или IP-адрес L2TP-сервера провайдера
lns = l2tp.sevstar.net
autodial = yes
redial = yes
redial timeout = 3
require authentication = no
ppp debug = no
pppoptfile = /etc/ppp/options.xl2tpd - Редактируем
/etc/ppp/options.xl2tpd(sudo nano /etc/ppp/options.xl2tpd) — если файл не существует, его нужно создать:[-]View Code Textlock
noauth
nobsdcomp
nodeflate
noaccomp
refuse-eap
refuse-pap
refuse-chap
nomppe
mru 1500
mtu 1500
nopersist
maxfail 0
defaultroute
name your_username_for_l2tp
password your_password_for_l2tp
Важное замечание: к моменту запуска xl2tpd в системе должны быть прописаны маршруты к L2TP-серверу провайдера (и DNS-серверам, если в lns указано имя хоста, а не IP-адрес). Практически это реализуется через /etc/network/interfaces:
iface eth1 inet dhcp
pre-up /etc/network/firewall.sh
post-up /sbin/route add -net 10.10.0.0/16 gw 10.10.72.1
post-up /sbin/route add -net 192.168.0.0/16 gw 10.10.72.1
Разумеется, что нужно прописывать свои маршруты



Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.





Тут разве что добавить немного. Севсрань пользует L2TP в сочетании с IPSec, поэтому недостатка в безопасности особо не наблюдается.
Единственной проблемой для сисадминов встанет время, ведь на настройку такого сервера и каждого клиента надо потратить намного больше времени, чем на элементарный pptpd
Мне казалось, что СевСтар использует шифрование только для аутентификации, сам же канал передачи данных не шифруется?
Такая вот фигня: в Ubuntu почему-то при загрузке системы в syslog вылазит такая ошибка:
Если создать каталог
/var/run/xl2tpdи перезапуститьxl2tpd, то Интернет появляется. Я так и не понял, кто убивает этот каталог.Решение следующее: в файл
/etc/init.d/xl2tpdдобавляем строкиstart)
###################################################
if !([ -f /var/run/xl2tpd/l2tp-control ]); then
mkdir -p /var/run/xl2tpd
touch /var/run/xl2tpd/l2tp-control
fi
###################################################
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;