Настройка L2TP-соединения 1. Вначале необходимо установить пакет xl2tp. В репозиториях Ubuntu 8.04 он уже есть. $ sudo apt-get install xl2tpd 2. Редактируем файл /etc/xl2tpd/xl2tpd.conf: $ sudo gedit /etc/xl2tpd/xl2tpd.conf Необходимо прописать в него следующее: [global] access control = yes [lac corbina] lns = l2tp.corbina.net redial = yes redial timeout = 1 require chap = yes require authentication = no name = <corbina-user-name-without-brackets> ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd require pap = no autodial = yes где <corbina-user-name-without-brackets> - ваше имя пользователя в Corbina. 3. Редактируем /etc/ppp/options.xl2tpd: $ sudo gedit /etc/ppp/options.xl2tpd Прописываем в него: unit 0 name <corbina-user-name-without-brackets> remotename l2tp ipparam corbina connect /bin/true mru 1460 mtu 1460 nodeflate nobsdcomp persist maxfail 0 nopcomp noaccomp defaultroute replacedefaultroute 4. В /etc/ppp/chap-secrets добавляем строку (если ее еще там нет): <corbina-user-name-without-brackets> * <corbina-password-without-brackets> 5. Вносим изменения в /etc/init.d/xl2tpd: $ sudo gedit /etc/init.d/xl2tpd Необходимо поменять секцию start следующим образом: 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." route add -host <host l2tp.corbina.ru> gw <default-gw> route add -host <dns-server-1> gw <default-gw> route add -host <dns-server-2> gw <default-gw> Здесь <host l2tp.corbina.ru> (L2TP-сервер провайдера), <dns-server-1> (первый DNSсервер), <dns-server-2> (второй DNS-сервер), <default-gw> (шлюз по умолчанию) определяются для каждого случая свои. Для их определения можно воспользоваться командами: $ host l2tp.corbina.ru $ cat /etc/resolv.conf $ route -n Или уточнить их в службе технической поддержки провайдера. Очень важно, чтобы маршруты были прописаны правильно. 6. Прописываем в /etc/network/interfaces свои настройки сети для карточки: auto lo eth0 iface lo inet loopback address 127.0.0.1 netmask 255.0.0.0 iface eth0 inet dhcp 7. Удаляем network-manager из системы, чтобы не мешал работать стандартной дебиановской сетевой системе и позволил проинициализировать eth0 до того, как будет подниматься ppp0 через xl2tpd: $ sudo aptitude remove network-manager 8. Теперь можно перезагрузиться и посмотреть на результат. Если все нормально, то по команде ifconfig мы получим три интерфейса - lo, eth0 и ppp0. Что и требовалось. 9. В случае, если необходимо расшарить интернет на другие машины, можно в /etc/init.d/xl2tpd в секцию start после route -add добавить строчки: echo 1 >/proc/sys/net/ipv4/ip_forward iptables -F iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu Возможные проблемы В случае неправильных настроек может наблюдаться следующая проблема: соединение устанавливается, но через минуту-две обрывается либо без каких-либо сообщений, либо с сообщением в /var/log/messages: No response to 4 echo-requests В таком случае можно попытаться сделать следующее: Убедиться, что network-manager удален из системы. Кроме того, убедиться, что нет еще каких-либо факторов, мешающих стандартной дебиановской сетевой системе. Таковым может являться firestarter или некорректные настройки dnsmasq или ipmasq. Убедиться, что указан верный маршрут к L2Tp-серверу провайдера. В случае чего уточнить его в службе технической поддержки. Если же интерфейс ppp0 успешно поднимается и не обрывается, но сайты не открываются, то проблема скорее всего в DNS-серверах. Нужно указать их правильные адреса в маршрутах.