Страницы

Показаны сообщения с ярлыком /etc/network/interfaces. Показать все сообщения
Показаны сообщения с ярлыком /etc/network/interfaces. Показать все сообщения

понедельник, 30 апреля 2018 г.

IPv6 over OpenVPN в VPS Ubuntu 16.04.3 LTS

Для сервера на Ubuntu 16.04.3 LTS, со статическим IP-адресом (ради чего и  затевалось) достаточно просто  настроить IPv6 адресацию, посредством автоматического туннеля 6to4.
Далее, можно выданные подсети IPv6 распространить на тунельное подключение OpenVPN.
Клиенты OpenVPN смогут получить маршрутизируемые IPv6 адреса и стать доступными из сети Интернет.
Таким образом, обойдя NAT/NAT/NAT в цепочке подключения к ip-сети в своём городе, можно получить подключение к настоящей сети Интернет.
Настоящая сеть Интернет, даёт возможность оставить дома включённый компьютер, дисковый массив или камеру, уехать на край света и беспроблемно получить доступ - будь то VNC, FTPS, webdav - да что угодно.

В российской мобильной индустрии уже начали предлагать доступ к IPv6. Некоторые провайдеры тоже обеспечивают выдачу клиенту желаемого, но не всегда так, как хотелось бы - пока экспериментируют, смотрят.
Стоп, а что-же я жду и не бегу за 4g модемом и подключением. А ну да, отсутствует конкурентное тарифное предложение.


Итак, единственная трудность для подключения автоматического туннеля ipv6 - это как раз преобразование статического IP-адреса в шестнадцатиричный вид, чтобы поместить его в ipv6-префикс.
Но для этого есть сервисная страница по адресу:  6to4.version6.ru

А дальше, в файл /etc/network/interfaces вносится определение туннеля, полученное по ссылке выше на основе IP-адреса сервера, вот так:


auto tun6to4
iface tun6to4 inet6 v4tunnel
    pre-up modprobe ipv6
    address 2002:XXXX:XXXX::1
        netmask 16
    gateway ::192.88.99.1
    endpoint any
    local XX.XXX.XX.XXX


# If you have set up an IPv6-capable firewall (and you should),
# it can be enabled by using an "up" rule, such as the example below.
#       up /usr/local/sbin/ipv6firewall.sh tun6to4


local XX.XXX.XX.XXX - это IPv4-адрес сервера.
2002: - это префикс для туннелей 6to4.
XXXX:XXXX - IPv4-адрес сервера, в шестнадцатиричном формате.

После этого, стартуертся интерфейс:

ifup tun6to4


Для клиентов OpenVPN делается правка (3 строчки) для поддержки IPv6 в туннеле:

# OpenVPN server KVM1
# Open Virtual Private Network server test configuration
# server: kvm1
# date: april 28, 2018

port 1194
proto tcp
dev tun

# Certificate Authority (CA) - public key
ca /etc/openvpn/authorities/authority.crt
# Certificate - public key of the server, signed with CA private key via request
cert /etc/openvpn/keys/testserver.crt
# Private key (key) - secret data, private key of server
key /etc/openvpn/keys/testserver.key

# Diffie Hellman parameters
# openssl dhparam -out dh2048.pem 2048

dh /etc/openvpn/keys/dh2048.pem

# IP-address of the server
local 81.177.6.229

keepalive 10 120

topology subnet
server 192.168.6.0 255.255.255.0
push "route 192.168.6.0 255.255.255.0"
push "redirect-gateway def1"

# IPv6 support
server-ipv6 2002:XXXX:XXXX:abcd::/64
push "route-ipv6 2000::/3"
push "dhcp-option DNS 2001:4860:4860::8888"


abcd - это префикс, выделенный (придуманный мной) для подсети клиентов openvpn.

Это пока не полная конфигурация openvpn на стороне сервера, т.к. там ещё много всяких фишек, которые можно применить для своих задач. Учебная конфигурация.

После получение IPv6-адресов, настольные компьютеры становятся беззащитными. Но они, пока ещё в разряде тех, кто никому не нужен.

Для каждого надо настроить защиту от подключений и пр.
Это позже.

Также замечу, что нужно настроить форвардинг пакетов (IPv4 и IPv6 в туннель. Маскарад и пр. правила netfilter.


P.S. Всё меньше и меньше мне нравится Mikrotik. Своей замшелостью и запутанностью интерфейса, неявными проблемами. Не могу пока настроить его в качестве openvpn-клиента к vps-серверу, так, чтобы и клиенты роутера получали доступ к настоящей сети Интернет. IPv4 режим работает, а IPv6 где-то засада.


P.P.S. Раньше я как-то обходился без сторонних собственных серверов, но теперь жизнь заставляет, поэтому просьба о финансовой поддержке добавлена справа вверху. Я конечно не ожидаю сюрпризов, но рубль к рублику - сервер будет жить.

※※※

четверг, 30 августа 2012 г.

HP Proliant Microserver router VLAN + Cisco SG200-08

PC маршрутизатор на основе связки микросервера HP Proliant microserver и гигабитного управляемого коммутатор Cisco SG200-08 (SLM2008T-EU).

Использование управляемого коммутатора 2-го уровня и PC роутера (в данном случае микросервера) с одной сетевой картой, для организации маршрутизации домашней сети в Интернет.
Исходная сетевая конфигурация микросервера представляла собой 2 сетевые карты, одна для внешней сети и Интернет (usb-адаптер), другая для домашней сети (встроенный гигабитный адаптер). Микросервер работает под операционной системой Ubuntu 12.04 LTS.

В данном руководстве, используется идея организации сети, которая была почерпнута на форуме [1]. Идея позволяет экономить 1 сетевой порт на сервере, за счет внедрения vlan "между" коммутатором и микросервером. Это расширяет возможности применения систем с одним сетевым интерфейсом в домашних условиях, в качестве маршрутизатора Интернета.
В нашем микросервере, мы избавляемся от сетевого usb-адаптера, переводя встроенный гигабитный адаптер в специальный "транковый" режим.
Для данной конфигурации, коммутатор обязательно должен быть управляемым и в нем должна присутствовать поддержка VLAN.
Возможно, это решение не требуется обычным пользователям, имеющим 1 подключение к сети интернет и один компьютер.

Идея технологии VLAN (англ. Virtual Local Area Network) - присвоение специальной метки VLAN ID (тэга) ethernet фрейму, означающего принадлежность к определенной VLAN. Получается т.н. тэгированный трафик. Подробное описание в стандарте 802.1Q. В результате любое устройство с поддержкой vlan может этот трафик обрабатывать тем или иным способом.

Each VLAN in a network has an associated VLAN ID, which appears in the IEEE
802.1Q tag, also known as VLAN tag, in the Layer 2 header of packets transmitted
on a VLAN



Определение возможностей оборудования
Определим наличие аппаратной поддержки vlan ( 802.1q) у встроенного сетевого интерфейса микросервера, в данном случае это home.

Предварительно установим пакет программы Ethtool, для управления сетевой картой
$sudo apt-get install ethtool
$sudo ethtool -k home

Offload parameters for home:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp-segmentation-offload: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off
receive-hashing: off

В данном случае, интересует разгрузка для vlan, - она присутствует, о чем свидетельствуют rx-vlan-offload, tx-vlan-offload

Гигабитный управляемый коммутатор Cisco SG200-08 (SLM2008T-EU) имеет встроенную поддержку VLAN, о чем свидетельствует спецификация устройства. Да и выбирался он именно с такой поддержкой.


Установка пакета поддержки VLAN на микросервере
$sudo apt-get install vlan

Общее описание схемы подключения

Цитата с [1]:
"
Общая схема подключений примерно такая:
- в один из портов управляемого коммутатора включается приход от провайдера, порт назначается в vlan1;
- в другой порт включается приход от другого провайдера, если таковой имеется, порт назначается в vlan2;
- выбирается группа портов, в которые будут подключаться устройства домашней локальной сети, эти порты назначаются, например, в vlan50;
- в Web-интерфейсе коммутатора ему переназначаются IP, маска и шлюз из произвольной подсети и назначается Management VLAN, например, vlan100 (эта подсеть будет использоваться для управления коммутатором, поэтому её маска может быть узкой, вплоть до /30);
- в произвольный порт коммутатора включается кабель от роутера, этот порт назначается транковым с инкапсуляцией по 802.1Q; vlan1, vlan2, vlan50 тегируются при передаче в этот порт (tagged), vlan100 не тегируется (untagged);
- для случая FreeBSD настраиваем вланы vlan1, vlan2, vlan50, vlan100 и присваиваем им IP-адреса, согласно вышепроцитированному сообщению.
Очевидным недостатком такой схемы является то, что через транковый порт коммутатора ходит трафик как внутренней домашней сети, так и трафик от/к провайдера(у), но в разных вланах, т.е. не пересекаясь на 2-ом уровне. Поэтому, как минимум, этот порт коммутатора и встроенная сетевая карта mini-ITX-платы должны быть гигабитными.
"
После продолжительного размышления идея стала понятна. Так что в путь.


Общий порядок действий администратора микросервера

1. Обычная загрузка микросервера, в настроенной сетевой конфигурации с двумя сетевыми адаптерами.
2. Вход в консоль и выполнение отключения сетевого интерфейса Интернета ppp8 и местного провайдера beeline. В моем случае и извлечение сетевого usb-адаптера. Выход из консоли. Эти операции можно проделать и удаленно. На сервере остается поднятым только интерфейс home.
3. Провод (ethernet кабель 5 категории) из гнезда микросервера подключаем в один из портов. Я решил выбрать №1 порт, т.к. он крайний (граничный) и его позиция одним взглядом позволяет судить о том, есть связь сервера и коммутатора или нет, а не искать его среди других портов.
4. Включаем управляемый коммутатор cisco sg200-08. Коммутатор по умолчанию настроен на получение ip-адреса через dhcp и он его получит, о чем будет свидетельствовать прекращение моргания индикатора питания. А вот от кого он его получить зависит от настроек сети. У меня он получает как от микросервера, так и роутера и часто оказывается в разных подсетях.
5. Провод настольного компьютера можно подключить в один из портов коммутатора. Я выбрал №3, т.к. порт №2 я зарезервировал за вторым провайдером. Компьютер автоматически должен получить ip-адрес. Если все прошло гладко, то включение коммутатора в домашнюю сеть прошло штатно. 
6. Порт №2 оставил пустым в резерве для второго провайдера.
7. Т.к. ip-адрес коммутатора после динамического получения ip-адреса от dhcp-сервиса микросервера, не известен, то пропинговав несколько адресов из диапазона местной сети, я его нашел. Указываю его в броузере и захожу в web-интерфейс управления. Пароли по умолчанию стандартные cisco/cisco. Тут же предлагается его сменить. Меняю. Выхожу из интерфейса и повторно захожу уже с новым паролем.
Также можно найти выданный коммутатору (арендованный) ip-адрес, если в качестве dhcp-сервера использовался микросервер с dhcpd просмотрев файл аренды адресов:
root@microserver:~# cat /var/lib/dhcp/dhcpd.leases

8. Теперь надо немного остановиться и подумать как организовать свои виртуальные сети, сколько VLAN создать, какие практики хорошие, а какие "так себе". С чего начать конфигурирование, так чтобы не развалилась домашняя сеть и переход прошел гладко.
Виртуальная локальная сеть позволяет сделать "как-бы" несколько сетевых плат на микросервере, доступных однако через 1 физический встроенный ethernet-адаптер.
Т.е. таким образом, при планировании, я выделяю одну виртуальную сетевую плату первому провайдеру, одну виртуальную сетевую плату второму провайдеру, третью сетевую плату домашней сети. Микросервер должен осуществить ip маршрутизацию между этими сетевыми виртуальными платами. Ситуация почти аналогична той исходной, в которой 2 физические сетевые платы. На языке vlan, это называется сегментация по широковещательным доменам или разделение по подсетям. Один vlan - это один широковещательный домен( или одна подсеть), который может находится и на разных коммутаторах. Также можно рассматривать одну виртуальную сеть и как сегмент сети. Ранее, до vlan это сегмент ограничивался одним коммутатором, теперь можно сделать одну сеть разнесенную территориально. Чем все это может помочь в домашней сети? А домашние сети бывают разные.

Предварительно, запросы портов такие:

 - Группа портов для домашней инфраструктуры (ip телефон №3, камера №4, точки доступа №5), пока не существующей.

 - Один порт для соединения с другим коммутатором, пока не существующим №7.
 - Порт для компьютера домашней сети №6.
 - Порт для несуществующего телевизора с медиапроигрывателем.
8 портов оказались легко распланированы. При экономном подходе, точку доступа можно интегрировать в микросервер, освободив один порт.

Приходит понимание, что количество портов - очень ограниченный ресурс и их требуется больше в современных условиях. Например, коммутатор Cisco SB SRW2016-K9-EU.
Приходит также понимание, что коммутаторы с 8 портами лучше использовать локально на местах, а не в качестве основы инфраструктуры.

Недостаток данной схемы в том, что полоса пропускания порта №8 (т.е. до микросервера) делиться между провайдерами и домашней сетью. Спасает ситуацию то, что редко провайдер (а чаще пользователю не нужно) предоставляет 1Gigabit, обычно 100 Мбит, что с лихвой покрывается гигабитным портом. Да и не каждый пользователь строит сеть в такой конфигурации.

В принципе, можно создать 8 vlan по числу портов, потому что требования к качеству обслуживания у разного оборудования разные, например для ip-телефона очень, очень важен приоритет голосового трафика. Одно более разумно продумать иное группирование, чтобы абоненты-корреспонденты одной группы не выходили за пределы одной vlan, снижая нагрузку на порт микросервера. Например, медиасервер и телевизор для просмотра медиаконтента, или группа видеокамер и видеосервер.


9. Заходим в интерфейс управления коммутатором и выполняем административные процедуры
Устанавливаем время на коммутаторе, задаем иные параметры.
Сохраняем конфигурацию, чтобы при следующем включении конфигурация соответствовала настроенной. Вкладка "Administration" - "File management" - "Copy/Save configuration". Указываем сохранять конфигурацию "Running configuration" в "Startup configuration".
По идее, после выключения питания и включения, коммутатор должен иметь настроенную конфигурацию, а не по умолчанию. Обязательно проверить, сохранилась ли конфигурация и восстанавливается ли она после холодного рестарта.


10. Интерфейс home на микросервере переименовываем в vlan или trunk, так чтобы имя интерфейса  отражало суть. В принципе, можно не переименовывать, но я это делаю. Переименование осуществляется в файле:
nano /etc/udev/rules.d/70-persistent-net.rules

11. Пример решения о конфигурации
Особенности: микросервер "on the go". Сетевая конфигурация отличается от ранее настроенной, микросервер путешествует.
. В порт №1 коммутатора я решил подключить микросервер. Порт №1 будет "trank" транковый, т.е. пропускать трафик всех vlan до микросервера.
. В порт №8 я решил подключить 3G роутер bigpond, в один из его портов встроенного хаба (интернет провайдер в деревне. Тариф Мегафон-модем). В принципе его можно использовать с любым роутером, который раздает готовое подключение к Интернет, например adsl. Т.к. интерфейс у микросервера будет настроен на получение динамической конфигурации.
. В порт №3 я решил подключить настольный компьютер.

Определил VLAN ID 8 для порта №8 для провайдера интернета, в данном случае 3g.
Определил VLAN ID 99 для будущей Management VLAN. Это на этапе первоначальной настройки можно не делать.


12. Настройка сетевой конфигурации на микросервере

На микросервере добавим заданные VLAN к интерфейсу home. Он может быть поднят.
root@microserver#modprobe 8021q
root@microserver#vconfig add home 99
root@microserver#vconfig add home 8


Для Management VLAN определим виртуальный интерфейс, исключительно предназначенный для управления коммутатором, в файле /etc/network/interfaces микросервера. Как бы выделенный провод между микросервером и коммутатором.

root@microserver#cat /etc/network/interfaces
...
# Management VLAN адаптер. Интерфейс для управления коммутатором cisco
# 30 августа 2012
# VLAN ID = 99
iface home.99 inet static
 address 192.168.99.2
 netmask 255.255.255.0
 gateway 192.168.99.2
 broadcast 192.168.99.255
 vlan_raw_device home

# Интерфейс провайдера 3g
# 30 августа 2012
# VLAN ID = 8
iface home.8 inet dchp
 vlan_raw_device home
...
auto home
auto home.99
auto home.8
...

Если их поднять без настроенного коммутатора, то не будет ip-адресов.

13. Настройка коммутатора. Создание виртуальных локальных сетей.

Вкладка "VLAN Management" - "Create VLAN"
Нажмем кнопку "Add..."
В открывшемся окне можно задать VLAN ID, VLAN NAME, также можно создать несколько сетей задав диапазон (range) VLAN ID.
Вкладка "Create VLAN" на Cisco SB200-08

Создание vlan - безопасная операция.


Т.к. любой провайдер обычно поставляет нетегированный (untagged) трафик, то нам надо, чтобы этот трафик попадал в определенный vlan и далее через "trunk" в микросервер.

Пример для первого провайдера. Операция манипуляции с vlan опасная, можно случайно потерять связь с коммутатором из-за переназначения.

Вкладка "Interface settings" на Cisco SB200-08
Вкладка "Port to VLAN" на Cisco SB200-08
Вкладка "Port VLAN Membership" на Cisco SB200-08

В коммутаторе на вкладке Interface Settings для интерфейса g8, мы указываем, для физического порта режим "access", "admin untagged only", для Access VLAN указываем 8. Таким образом, весь непомеченный трафик, прибывший через этот порт (№8) в коммутатор, будет помечен тэгом VLAN ID = 8 и соответственно следуя другим настройкам будет направлен в транковый порт №1 где достигнет микросервера и его интерфейса home.8.

И да, надо не забыть сохранить рабочую конфигурацию коммутатора в загрузочную конфигурацию. См. п.9.

Интерфейс home.8 получает адрес от dhcp-сервера bigpond. Для этого в данной рабочей обстановке, коммутатор и роутер (провайдер) должны быть включены ранее микросервера, чтобы при загрузке интерфейс home.8 получил динамический ip-адрес.

Для второго провайдера аналогично, только VLAN ID иной. У меня пока нет, но можно проэмулировать с помощью другого компьютера или роутера.

После этого на микросервере имеется 2 интерфейса с доступом в Интернет и можно настраивать режим "two WAN", так как будто это обычные сетевые адаптеры. Выполнять балансировку, резервирование канала и т.п.

14. Для порядка, можно все неиспользуемые порты назначить в режим "access", предполагая, что в них будут подключаться устройства с нетегированным трафиком. Однако, можно сделать роуминг некоторых устройств, тогда портам надо установить режим "general", для пропуска и тегированного трафика, а на самом устройстве сделать членство в определенной vlan. Получиться что-то типа роуминга.
Также, vlan-коммутатор, позволяет легко собирать сеть из отдельных устройств, на новом месте, при этом не меняя сетевую конфигурацию.


Также можно повесить dhcp-сервер на определенный интерфейс vlan. Это может пригодиться, например, когда нет выделенного dhcp-сервера.


Вопросы
1. Куда использовать старое оборудование DIR-320, уже 4 года в эксплуатации в качестве интернет-маршрутизатора, с dd-wrt прошивкой? В холодный резерв.

Вывод
- сделать ревизию оборудования на предмет поддержки vlan
- в коммутаторе Cisco Switch SG 200-08 отсутствует ssh доступ, что создает некоторые трудности в удаленном управлении


Ресурсы
1. Создание PC-роутера на базе Mini-ITX/-DTX-платформ.  http://forum.ixbt.com/topic.cgi?id=14:51494
VLAN в Linux. http://xgu.ru/wiki/VLAN_%D0%B2_Linux
VLAN "разветвитель" своими руками. http://mcmcc.bat.ru/vlan/
Коммутатор Cisco SB 200-08. Страница поддержки.  http://www.cisco.com/en/US/products/ps11229/tsd_products_support_series_home.html

четверг, 15 марта 2012 г.

Настройка Билайн Интернет в Ubuntu 12.04 на HP ProLiant MicroServer

Заметка по настройке сети Билайн-Интернет (быв. Корбина-Интернет) в Петербурге
Пошаговый, ручной способ, для лучшего понимания взаимодействия частей.
Девиз: пакет не знаешь куда идти? - иди на шлюз по умолчанию.

Чистый установленный сервер Ubuntu 12.04.
В принципе. методика применима к серверу Ubuntu 11.10, Ubuntu 11.04, Ubuntu 10.10.
Железо: HP Proliant Microserver, версия N40L.
Сервер будет использоваться как роутер домашней сети, сервер резервирования, сервер разработки.
 Т.к. сеть интернет недоступна из коробки, ее надо настроить. Сервер устанавливался с образа на флешке, подготовленного встроенным в Ubuntu средством "Создание загрузочного диска".
Сложностью здесь может быть то, что требуемые пакеты для нормальной работы Билайн-Интернет, надо скачивать из сети Интернет.

Требуются пакеты:
1. Для PPTP VPN - pptp-linux
2. Для L2TP VPN - xl2tpd

Я обошел эту проблему первоначальным временным подключением сервера к обычному настольному компьютеру с Ubuntu 11.10, на котором дополнительно установил адаптер USB-Ethernet (или вторую сетевую плату). Сеть между ними я временно настроил со статическими IP адресами. На настольном компьютере произвел настройки, предоставляющие доступ в Интернет серверу (IP mascarade) через настроенное соединение на настольном компьютере. У сервера адресом шлюза по-умолчанию был выбран IP настольного компьютера.
Есть и другой способ, можно создать собственный загрузочный диск с необходимыми пакетами, перебрав диск Ubuntu 12.04.
Можно также перенести эти файлы на флешке, предварительно их загрузив тем или иным способом.
Есть и самый интересный способ, - использовать локальный репозиторий Ubuntu, которые поддерживает Beeline Интернет на своих серверах. У них есть локальный FTP сервер, по адресу 195.14.50.21 (см. Ресурсы п. 5), там же и репозитории пакетов Ubuntu.

Итак, временные настройки на настольном компьютере, обеспечивающие NAT для сервера:
$sudo -s
$echo 'net.ipv4.ip_forward = 1' >>/etc/sysctl.conf
$sysctl -p
$sudo iptables -t nat -I POSTROUTING -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j MASQUERADE

$sudo iptables-save >/etc/iptables.conf



Настройки на сервере, в файле /etc/network/interfaces, добавил:

auto eth0
iface eth0 inet static
 address   192.168.1.1
 netmask  255.255.255.0
 gateway 192.168.1.2

server$ sudo ifconfig eth0 up

Добавил маршрут по умолчанию, на сервере:
server$ route add default gw 192.168.1.2

Проверил и перепроверил соединения:
server$ ping 192.168.1.2
desktop$ ping 192.168.1.1
server$ ping www.google.com

Скачал требуемые пакеты
server$ sudo apt-get install pptp-linux xl2tpd

Заодно русифицировал консоль:
?
$ sudo apt-get install console-cyrillic
$ sudo dpkg-reconfigure console-cyrillic
$ sudo dpkg-reconfigure console-setup
Включить настройку консоли при загрузке. Для этого в файл /etc/initramfs-tools/initramfs.conf необходимо добавить параметр FRAMEBUFFER=Y. В результате будут показываться шрифты, приветствия на русском языке.
Обновить initramfs, чтобы в него добавились нужные параметры:
sudo update-initramfs -u

далее в файл /etc/rc.local добавляет строку:
/etc/init.d/console-cyrillic start
Перезагрузился.

Переименование сетевых интерфейсов в Ubuntu 12.04

Для удобства восприятия сетевых интерфейсов на сервере, сделаем переименование невнятных eth, в что-то более адекватное, например - интерфейс к провайдеру - district или beeline, интерфейс к домашней сети - home.
Это также позволит писать более-менее универсальные правила iptables.

Переименование делается на основе mac-адресов, сетевых плат в файле:
$sudo nano /etc/udev/rules.d/70-persistent-net.rules
Для строки сетевой платы (у меня usb-ethernet), я изменил только имя на beeline (быв. eth0).
Для встроенной сетевой платы, я задал имя home (быв. eth1).
Также изменил и /etc/network/interfaces

iface beeline inet dhcp

iface home inet static
 address   192.168.3.1
 netmask   255.255.255.0

auto home
auto beeline


Для моей домашней сети выбран диапазон 192.168.3.1/24

после перезагрузки, команда ifconfig выводит:
beeline   Link encap:Ethernet  HWaddr ....  
...
home Link encap:Ethernet  HWaddr ....  
...
Т.е. в системе получилось два понятных сразу, по их назначению, интерфейса. Гут. Это становится актуально при наличии многих интерфейсов, виртуальных бриджей и пр.

Позже, тоже самое проделал и для домашнего компьютера.


Настройка VPN PPTP Билайн-Интернет в Ubuntu 12.04
Вначале начал настраивать PPTP соединение, как более легкое и отработанное. Это туннель через соединение точка-точка (PtP)
Сервер VPN - vpn.internet.beeline.ru
Должен быть открыт порт PPTP - 1723.
MTU PPTP - 1460, MSS PPTP - 1452, MRU - 1500.

Особенностью подключения является то, что при получении IP-адреса через локальную (районную) сеть, также устанавливается шлюз по-умолчанию. Но этот шлюз, не обеспечивает доступ в Интернет, однако можно получить доступ к районными ресурсам провайдера.
Вот вывод команды, после загрузки и поднятия интерфейса beeline.
$sudo route -n

Таблица маршрутизации ядра протокола IP

здесь 10.123.240.1 - шлюз по-умолчанию. У меня beeline, у вас может быть eth0, eth1 или иное, если  делали переименование.

Также, автоматически сервер VPN не становиться доступным, т.е.
$ ping vpn.internet.beeline.ru
не отрабатывает в моей системе.

Т.к. подразумевается что в системе должен быть один шлюз по умолчанию, а при подключении к pptp создается правильный шлюз,  то старых районных шлюз все рекомендуют удалить. Что мы и проделаем ниже. Можно удалить до подключения ppp, а можно после.
$ ip route del default

Также на форумах Beeline Интернет настоятельно советуют настроить таблицу маршрутов, следующим образом - указать доступ к vpn-серверам, dns-серверам через шлюз (он же шлюз по-умолчанию) полученный нами по DHCP.
Очень странно, что не все эти маршруты не передаются автоматически в dhcp - запросе. А они передаются, только хитрым способом (см. ресурсы п.2). Для этого надо настроить еще клиент dhcp, через /etc/dhcp/dhclient.conf.


# Добавляем маршрут от районного шлюза к впн-серверу и к днс-серверам
# Обратите внимание шлюз, который нам выдал DHCP-сервер, в данном примере это 10.123.240.1 (районный шлюз).

Добавлю DNS-адрес,  актуальный для моих условий Петербурга. У Вас может быть свои DNS-серверы, это можно выяснить у тех. поддержки.
$ sudo ip route add 85.21.192.3 via 10.123.240.1 dev beeline
или route add -host 85.21.192.3 gw 10.123.240.1
после добавления маршрута к dns серверу, команда route стала способна показывать dns-адреса  маршрутов.

C VPN сервером сложнее, он не один, а их много, а выдает их адреса, один vpn.internet.beeline.ru
Для того, чтобы имя vpn сервера, было доступно, после добавления маршрута к DNS-серверу, добавляем маршрут по умолчанию через районный шлюз, а там пусть шлюз разбирается. Главное dns-сервер доступен.
$ sudo ip route add default via 10.123.240.1 dev beeline

В принципе, остальные маршруты не нужны для функционирования Интернет.


в папке /etc/ppp/peers создадим настройку для нашего соединения VPN, назовем ее beeline. В результате, мы сможем управлять соединением, с помощью команд вида, pon beeline и poff beeline, из под рута.
$ sudo touch /etc/ppp/peers/beeline

Заполним настройку beeline, для этого отредактируем ее:
$ sudo nano /etc/ppp/peers/beeline
Внесем следующее:
# Настройка подключения к провайдеру Beeline Интернет
# сервер: микросервер
# 15 марта 2012
name {мой логин}
remotename beeline
# Строка опции linkname передается в скрипты  ip-up, ip-pre-up and ip-down
# может быть использована для создания скрипта, выполняющегося исключительно, 
# только для этого соединения
linkname beeline-pptp

# Тип авторизации не eap и не pap, т.е. либо chap либо chap+MD5
refuse-eap
refuse-pap
#Устанавливать шлюз по умолчанию для соединения ppp
defaultroute

# Заменить существующий шлюз по-умолчанию
# в журнале отражается как
# microserver pppd[2294]: replacing old default route to beeline [10.123.240.1]
# после отключения восстанавливается, удобно
# В этой конфигурации сделано так, а в L2TP несколько иначе
replacedefaultroute

# Использовать DNS-адреса, получаемые через PPP
# но можно не использовать, а прописать DNS сервера вручную в домашнем dhcp-сервере
usepeerdns

# Поддержание постоянного соединения, если оно рвется, то демон пытается соединиться
persist
# столько раз он пытается и только тогда выключается
maxfail 20

mtu 1476
pty "pptp vpn.internet.beeline.ru --nolaunchpppd"

# Не требовать от билайна того, что он билайн
noauth
# Возможно пригодится, - бесценный опыт из Интернета, собранный долгими мучениями пользователей
#nomppe
#nomppc
#sync
#lock
#nobsdcomp
#nodeflate
#nopcomp
#noaccomp
#updetach

где {мой логин} - это имя пользователя выданное провайдером Beeline, совпадает с именем Личного кабинета в Beeline. Пароль будет указан в другом файле

Указываем пароль для соединения
$ sudo nano /etc/ppp/chap-secrets
{мой логин} beeline {мой пароль}

Все. Теперь можно устанавливать тестовое соединение с Интернет. под sudo. Superuser DO.
# pon beeline
Чтобы отключиться:
# poff beeline

Чтобы просмотреть статистику подключения:
# pppstats

Быстро проверить результат выполнения (несколько последних строк вывода pppd)
# plog



Чтобы контролировать процесс установки соединения, надо выбрать вторую виртуальную консоль на сервере (alt+F2), войти в систему и выполнить команду:

$ tail -f /var/log/syslog

Команда будет показывать хвост журнала syslog, до тех пор, пока не нажмете Ctrl-C.
Alt+F1 - переключиться на первую консоль.

$ sudo ifconfig
Среди списка интерфейсов ищем обычно ppp0,  и смотрим его IP адрес.

Следующее, не нужно делать, если опция replacedefaultroute нормально отрабатывает.
Удаляем маршрут по-умолчанию, установленный на интерфейс eth0:
$ sudo ip route del default
Далее, добавляем маршрут по умолчанию:
route add default gw {IP-адрес}
К примеру, у меня был IP-адрес 176.14.13.105, соотв. добавление маршрута выглядело так:
route add default gw 176.14.13.105
либо с использование команды ip (новый способ)
ip route add default via 176.14.13.105 dev ppp0

либо так:
ip route add default dev ppp0

Итак, после подъема соединения pon beeline (beeline - это имя для ppp peer), я делаю две команды:
ip route del default
ip route add default dev ppp0


Проверка соединения:
$ sudo ping www.google.com
Должно работать, при синтаксически верных файлах и правильных паролях. PPtP - для доступа в Интернет, более менее отработанная технология.

После отключения от Интернет, надо восстановить маршрут по умолчанию, у меня через beeline.
$ sudo ip route add default via ..... dev beeline
автоматически восстанавливается, если работает опция replacedefaultroute.



Для автоматического поднятия соединения вносим в файл /etc/network/interfaces, запись относительно ppp


# Подключение сети Интернет при загрузке и заодно переименовываем интерфейс в internet
 iface ppp9 inet ppp
  provider beeline
# делаем так, что vpn-подключение всегда создает интерфейс вида: ppp9
# это для того, чтобы другие ppp соединения имели возможность выбрать номер 0-8.
  unit 9
# Также строка для выполнения, команд после поднятия интерфейса ppp9
  post-up ip link set dev ppp9 down && ip link set dev ppp9 name "internet" && ip link set dev internet up && ip route add default dev internet

auto ppp9


после перезагрузки видим четкие и понятные интерфейсы
$ ifconfig
lo ...
beeline ...
home ...
ppp9 ...

иногда интернет отваливается, можно поднять ifup ppp9, а остановить ifdown ppp9.






Настройка L2TP соединения. УЖЕ НАСТРОЕНО.
L2TP сервер VPN - tp.internet.beeline.ru
L2TP - 1701, MTU L2TP 1460, MSS L2TP - 1460

Особенности: у нас есть подключение ethernet к локальной (районной) сети Beeline Интернет (быв. Корбина). Адрес IPv4 получается динамически, через DHCP. Интернет доступен через l2tp сервер. Протокол рукопожатия - простой CHAP. Существуют проблемы с правильной настройкой подключения в Linux, с таблицей маршрутизации. Например, соединение vpn есть, а интернета нет.
Протокол DHCP сообщает нам адрес шлюза, но через него мы не можем выйти в Интернет, надо поднимать l2tp соединение, так уж устроено в Билайн-Интернет.
При каждом обращении по адресу tp.internet.beeline.ru выдается какой-либо vpn сервер, с собственными адресом. Т.е. похоже какой-то балансировщик нагрузки. Это исключает возможность статически прописать все IP-адреса vpn-серверов.

Настройка L2TP долго не давалась, пока не были выяснены все нюансы подключения, обходы багов и пр., основная засада от корбины-билайна.

Куда я вносил изменения:
1. /etc/dhcp/dhclient.conf
2. /etc/network/interfaces
3. /etc/xl2tpd/xl2tpd.conf
4. /etc/ppp/options.xl2tpd
5. /etc/ppp/options
6. /etc/ppp/ip-up.d/delroute
7. /etc/ppp/chap-secrets

Итак, после установки пакета xl2tpd.

root@microserver:~# xl2tpd -v
xl2tpd version:  xl2tpd-1.3.1

Видим, на сервере Ubuntu 12.04 установлена версия 1.3.1 демона xl2tpd.

Порядок действий и ручных проверок подключения по протоколу L2TP
Предварительно.
 Отключен интерфейс beeline. В файле /etc/network/interfaces
минимально задано, для начала:
iface beeline inet dhcp
 Таблица маршрутов пустая, за исключением маршрута в home. Маршрута по умолчанию - нет, у меня он удаляется автоматически при поднятии home. Если он есть, его надо удалить, чтобы он не мешался при поднятии интерфейса beeline.

1. Открываем дополнительную консоль, на которой исполняем команду просмотра хвоста системного журнала. Тут мы будем наблюдать за ходом подключения:
$ tail -f /var/log/syslog

2. Поднимаем Ethernet-интерфейс beeline.
$ sudo ifup beeline

В консоли наблюдаем получение IP-адреса по DHCP.
Распечатываем таблицу маршрутов:
$ ip route

Видим, что получены различные маршруты.

Просматриваем содержимое файла /etc/resolv.conf
$ cat /etc/resolv.conf
Видим серверы имен, полученные по dchp и внесенные сюда командой ifup, через вызов resolvconf.
Записываем на бумаге их.

3. Начинаем проверку доступности L2TP-сервера. Делаем ping.
$ ping tp.internet.beeline.ru
Видим доступность L2TP-сервера, потому что работает маршрут по-умолчанию, через районный шлюз.

4. Делаем пинг, до DNS серверов.
Видимо их доступность, потому что работает маршрут по-умолчанию, через районный шлюз.

5. Начинаем вносить маршруты до DNS-серверов в таблицу маршрутизации.
ip route add 85.21.192.3 via 10.123.240.1
ip route add 213.234.192.8 via 10.123.240.1
Мы обеспечили доступность DNS серверов через районный шлюз, независимо от маршрута по-умолчанию. 10.123.240.1 - это районный шлюз, у Вас может быть другой. Выясняется по команде ifconfig


6. Делаем пинг, до L2TP сервера. Несколько раз. При работающем маршруте по-умолчанию
$ ping tp.internet.beeline.ru

$ ping tp.internet.beeline.ru

Видим, что каждый раз IP-адрес L2TP сервера меняется, но они кучкуются в одной подсетке.

7. Добавляем маршрут к выявленной подсетке серверов в таблицу маршрутизации, через районный шлюз
ip route add 83.102.254.0/24 via 10.123.240.1

8. Удаляем маршрут по-умолчанию
ip route del default

9. Проверяем доступность L2TP-серверов, при удаленном маршруте по-умолчанию.
$ ping tp.internet.beeline.ru
Видим, что DNS-имя L2TP-сервера, переводится в IP-адрес. Каждый раз новый, как ранее.
Т.е. при отключенном маршруте по умолчанию, L2TP-сервер доступен. DNS-сервера доступны. Мы теперь можем использовать доменное имя L2TP-сервера в конфигурационных файлах.

10. Готовим урезанные версии конфигурационных файлов демона xl2tpd, для целей ручного тестирования и поднятия туннеля.

Файлы конфигураций xl2tpd находятся:
/etc/xl2tpd/xl2tpd.conf
/etc/ppp/options.xl2tpd

Редактируем, основываясь на прочтении man xl2tpd.conf
Временно исключаем ряд опций: redial
Временно добавляем ряд опций отладки: debug network, debug tunnel


$ sudo nano /etc/xl2tpd/xl2tpd.conf

[global]
access control = yes
port = 1701
auth file = /etc/ppp/chap-secrets
debug network = yes
debug tunnel = yes

[lac beeline]
lns = tp.internet.beeline.ru
require chap = yes
name = <ваш логин>
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
tx bps = 1000000000
autodial = yes


lac - L2TP Access Concentrator (LAC)
lns - L2TP Network Server (LNS)
Замените строчку <ваш логин> на свой, он совпадает с логином для входа в личный кабинет.
На моем тарифе, опция tx bps роли не играет. Без нее тоже работает.

$  sudo nano /etc/ppp/options.xl2tpd

# Опции для L2TP подключения к Beeline Интернет
# сервер: микросервер
# Дата изменения: 
unit 8
name <ваш_логин>
remotename = l2tp
linkname = beeline-l2tp
connect /bin/true
noauth
defaultroute

Небольшой такой, компактный файл опций. Все нужное, ничего лишнего, для начала
Опция defaultroute - определяет, что туннель ppp8 будет установлен как маршрут по-умолчанию в таблице маршрутизации. Здесь важно, чтобы в таблице маршрутизации, перед установлением соединения l2tp,  не было маршрута по умолчанию, иначе pppd не станет устанавливать маршрут по-умолчанию.
Опция linkname используется в скрипте delroute в папке /etc/ppp/ip-up.d/ ,
чтобы выполниться только когда поднимается соединение l2tp.

Можно добавить опцию, mtu 1460. У меня, без этой опции  скорость на отдачу низкая. Есть еще mru 1460.



11. Исправляем цепляющиеся опции pppd, которые присоединяются к нашим опциям из файла /etc/ppp/options

Особенность, в том, что демон pppd присоединяет файл /etc/ppp/options к конфигурации /etc/ppp/options.l2tp

Просмотр опций которые присоединяются:
egrep -v '#|^ *$' /etc/ppp/options

Вот что я оставил:
asyncmap 0
xonxoff
lock
hide-password
lcp-echo-interval 30
lcp-echo-failure 4
noipx

12. Теперь основная проблема pppd (см. Ресурсы. п.8) у провайдера Билайн (быв. Корбина)

Цитата: "Распространённая ошибка при настройке бывает в том, что после поднятия ppp0 не указывают маршрут до vpn-сервера, поэтому ppp0 генерирует гигабайты tx bytes. "

В ручном режиме, я исправлял так, после установления соединения. Если успевал.
$sudo ip route del 83.102.254.204 dev ppp8
где 83.102.254.204 IP-адрес L2TP сервера

13. Создаем файл, в пути /etc/ppp/ip-up.d/delroute для обхода особенности с паразитным маршрутом
Сразу делаем его исполняемым, чтобы не забыть.
$ sudo chmod +x /etc/ppp/ip-up.d/delroute

Редактируем:
$ sudo nano /etc/ppp/ip-up.d/delroute


#!/bin/sh
# Скрипт для удаления паразитного маршрута
# env > /tmp/env.vpn
if [ $LINKNAME = "beeline-l2tp" ]; then
 ip route del $5 dev $1
 echo "Выполнен delroute" >> /var/log/syslog
 echo "5 параметр:" $5 >> /var/log/syslog
 echo "1 параметр:" $1 >> /var/log/syslog
else
 echo "Не выполнен delroute" >> /var/log/syslog
fi
exit 0


В этом скрипте, одно условие, которое выполняется, когда исполняются наши опции из файла /etc/ppp/options.xl2tpd. Опция linkname и играет роль условия при котором этот скрипт будет выполнен.
Параметры $LINKNAME, $5,$1 передаются в скрипт демоном. $LINKNAME, устанавливается опцией linkname, $1 - это имя вновь создаваемого интерфейса ppp. По умолчанию, ppp0, но можно изменить опцией pppd - unit. Я себе сделал unit 8.
На основе имени линка, я определяю, что подключение L2TP и соответственно удаляю паразитный маршрут, для всех остальных ppp-соединений ничего не случается.
Ранее используемая опция ipparam не работает у меня, в ней не передаются параметры.


14. Редактируем файл /etc/ppp/chap-secrets
Вносим имя пользователя (логин) и пароль

$ sudo nano /etc/ppp/chap-secrets

<ваш логин> l2tp <пароль>

Заменить <ваш логин> вашим именем пользователя (договора), а <пароль> паролем. У билайн имя пользователя выглядит приблизительно так - 0123456789.


15. Установка соединения и разрыв соединения L2TP, посредством service
service - команда управления сервисами SysV init.
Файл относящийся к xl2tpd находится в /etc/init.d/xl2tpd. Он исполняемый.

$ sudo service xl2tpd start
Сервис автоматически начнет устанавливать соединение pppd. В консоли наблюдаем за ходом выполнения.

Например, я забыл сделать файл delroute исполняемым, в результате паразитный маршрут не удалялся, Интернета не было. При этом быстрый рост счетчика TX на интерфейсе ppp0. За пару минут, он достигал значения 4 гигабайта и соединение разрывалось.
Т.к. у меня установлено только однократное подключение, в памяти оставался висеть демон xl2tpd.

Останавливал я его командой.
$ sudo service xl2tpd stop

После этого, все было чисто.

Разрывом - установкой соединения можно управлять и не останавливая demon xl2tpd, через pipe /var/run/l2tp-control

Из документации к xl2tpd, команды выполняются следующим образом, при правах суперпользователя:
echo "t tp.internet.beeline.ru" >/var/run/xl2tpd/l2tp-control
echo "c beeline" > /var/run/xl2tpd/l2tp-control
echo "d beeline" >/var/run/xl2tpd/l2tp-control

beeline - это мой настроенный LAC указанный в файле /etc/xl2tpd/xl2tpd.conf

Цитата:
"
t <host> - create a tunnel to <host>
c <tid> or <entry> - originate an l2tp call on the tunnel identified locally by <tid>, or dial the entry <entry>
h <cid> - hang up a call with the local identifier <cid>
d <tid> or <entry> - disconnect the tunnel locally identified by <tid> or a lac entry <entry>
"

Если отключить опцию autodial в /etc/xl2tpd/xl2tpd.conf , то можно запустить демона xl2tpd без автоподключения, а подключение выполнять по требованию.


В принципе это все позволяет создать в ppp/peers новое подключение и управлять им через pon / poff, но надо умудриться.

Как-то, случился у меня CHAP authentication failed: Authentication failed, минут 10 не мог понять, причину отказа. Оказалось кончились деньги на счете. Воспользовался доверительным платежем. Инет подключился, с небольшой задержкой. Пополнил через Интернет. Очень удобно.
Хотелось бы в логах видеть причину CHAP Authentication failed. Например сообщение: деньги кончились.

Иногда случается:

Connection terminated.
Mar 22 23:17:47 microserver xl2tpd[7997]: network_thread: recv packet from 83.102.254.x, size = 88, tunnel = 21415, call = 22037 ref=0 refhim=0
Mar 22 23:17:47 microserver xl2tpd[7997]: handle_avps:  don't know how to handle atribute 46.
Mar 22 23:17:47 microserver xl2tpd[7997]: handle_avps:  don't know how to handle atribute 104.
Mar 22 23:17:47 microserver xl2tpd[7997]: control_finish: Connection closed to 83.102.254.x, serial 1 (Locally generated disconnect)

Лечиться это у меня обычно либо перезапуском демона xl2tpd, либо установление нового туннеля: echo "t tp.internet.beeline.ru" >/var/run/xl2tpd/l2tp-control
и последующим соединение: echo "c beeline" > /var/run/xl2tpd/l2tp-control



Для окончательно включения функции NAT и транзита пакетов, отредактируем:
$sudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1

Осталось настроить iptables, чтобы при загрузке они пополнялись правильными правилами.
итак, у меня
home - интерфейс домашней сети
beeline - интерфейс провайдера
ppp9 - интерфейс к сети Интернет через VPN PPTP
ppp8 - интерфейс к сети Интернет, через VPN L2TP

Минимально необходимые команды, для обеспечения интернетом домашней сети, при 2 типах подключения:
iptables -t nat -I POSTROUTING -o ppp9    -j MASQUERADE
iptables -t nat -I POSTROUTING -o ppp8    -j MASQUERADE
iptables -t nat -I POSTROUTING -o beeline -j MASQUERADE

iptables -A FORWARD -i home    -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp8    -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp9    -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i beeline -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu


Последние 5 правила добавляются по умолчанию в таблицу "фильтр", опция -t filter. Однако, без них работает с перебоями, то страницы не открываются, то долго, одни сайты легко, другие задумчиво.
Если еще упростить,для одного соединения то:
iptables -t nat -I POSTROUTING -o ppp8    -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu


Опционально, пока не проработано окончательно.
Определим место хранения настроек iptables в /etc/default/iptables
Сохранение
$sudo iptables-save > /etc/defualt/iptables
Восстановление
$sudo iptables-restore < /etc/defualt/iptables


Обеспечение автоматического подъема соединения L2TP при загрузке микросервера

В этом разделе, я настроил автоматическое установление соединения посредством создания "работ" Upstart. Upstart , в Ubuntu, - основная подсистема инициализации сервисов. У меня есть статья на тему Upstart.
Файл /etc/init/internet.conf создаем с правами суперпользователя

$ sudo nano /etc/init/internet.conf

# Работа по поднятию соединения с Интернет Билайн через VPN
# сервер: микросервер
# Дата изменения: 24 марта 2012

author "gimmor.blogspot.com"
description "управление соединением с Интернет Билайн"

exec /usr/sbin/xl2tpd -c /etc/xl2tpd/xl2tpd.conf
expect fork

pre-start script
test -d /var/run/xl2tpd || mkdir -p /var/run/xl2tpd
end script

post-start script
iptables -t nat -I POSTROUTING -o ppp8 -j MASQUERADE
end script


pre-start script
# нет пока
end script

post-stop script
iptables -t nat -D POSTROUTING -o ppp8 -j MASQUERADE
end script

# Сервис пытается запуститься после поднятия beeline
start on net-device-up IFACE=beeline
stop on net-device-down IFACE=beeline


В последних двух строчках в параметре IFACE надо указать свое актуальное имя интерфейса провайдера, если оно не изменено на beeline. У меня изменено.
Важная опция в файле: expect fork, она позволяет системе Upstart правильно получить PID демона xl2tpd, чтобы корректно управлять запуском/остановкой службы internet.



Также надо не забыть отключить запуск сервиса xl2tpd через службу SysV.
sudo chmod -x /etc/init.d/xl2tpd
для избежания конфликта и недоразумений.

При этом в файле /etc/network/interfaces, устанавливаются правильные маршруты, для корректного последующего поднятия ppp8 (xl2tpd L2TP PPP).

iface beeline inet dhcp
  post-up iptables -t nat -I POSTROUTING -o beeline -j MASQUERADE
   post-up iptables -t filter -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
  post-up ip route del default
  post-up ip route add 85.21.192.3 via 10.123.240.1
  post-up ip route add 213.234.192.8 via 10.123.240.1
  post-up ip route add 83.102.254.0/24 via 10.123.240.1
  post-up ip route add 224/4 via 10.123.240.1

Также, в /etc/network/interfaces , убрать строку auto ppp9, относящуюся к PPTP, чтобы оно не поднималось автоматически и не вступало в конфликт с ppp8.

После перезагрузки - работает. Соединение устанавливается автоматически. При всех входящих, - баланс на лицевом счете положительный и пр, кабель физически подключен.

В результате:
 - автоматическое поднятие соединения L2TP во время загрузки микросервера
 - управление остановкой службы internet, посредством стандартной команды: $sudo stop internet
 - управление запуском службы internet, посредством стандартной команды: $ sudo start internet
 - получение состояния службы internet,  посредством стандартной команды: $ sudo status internet
Надо заметить, из-за особенностей серверов Билайна, перезапуск службы internet командой initctl reload internet, не всегда, а в большинстве случаев всегда, не срабатывает. Я это понимаю так, что на сервере Билайна не окончательно отключается туннель. В результате в журнал сыпятся сообщения вида:


Mar 24 07:04:08 microserver xl2tpd[2628]: Can not find tunnel 28736 (refhim=0)
Mar 24 07:04:08 microserver xl2tpd[2628]: network_thread: unable to find call or tunnel to handle packet.  call = 0, tunnel = 28736 Dumping.
Ну что же, надо подождать минут 3-4 и потом запускать start.


Первоначально, между запуском и остановкой службы internet, надо делать паузу, чтобы дать время процессам завершиться.

И всё равно, это не позволяет вовремя получить сообщение на клиенте о пропадании сети Интернет. :-(.

Конфигурация - не окончательное, еще не используется автоматическое поднятие при разрыве ppp-соединения. при наличии поднятого туннеля (опции redial в /etc/xl2tpd/xl2tpd.conf). Просто, пока не решил, как микросервер будет это обрабатывать.


Мы затронули изменениями файлы, каждый файл содержит строчку-метку "микросервер", которая, в дальнейшем позволяет этот файл направить на резервное копирование.

Также можно создать собственный пакет конфигурации, для быстрого развертывания. Пока не сделал.

И да, перезагрузка в Ubuntu - помогает.
Часто после манипуляций с подключениями на сервере, начинают не открываться страницы на клиенте. Для исправления, на клиенте, переподключаюсь. Сетевой интерфейс обновляет dns и пр., и пропадания проходят.



Опционально. Локальные репозитории Beeline Интернет

Укажем маршрут до сервера с репозитариями Beeline Интернет:
$sudo ip route add 195.14.50.21 via РАЙОННЫЙ_ШЛЮЗ
заменить РАЙОННЫЙ_ШЛЮЗ IP-адресом собственного районного шлюза, получаемого по dhcp (default gateway)
2. Исправляем список репозиториев
$sudo cp /etc/apt/soources.list /etc/apt/sources.list.orig
$sudo nano /etc/apt/sources.list

Содержимое файла должно быть таким, для версии сервера 12.04 LTS (precise):
deb http://195.14.50.21/pub/Linux/ubuntu/ precise main restricted
deb http://195.14.50.21/pub/Linux/ubuntu/ precise-updates main restricted
deb http://195.14.50.21/pub/Linux/ubuntu/ precise universe
deb http://195.14.50.21/pub/Linux/ubuntu/ precise-updates universe
deb http://195.14.50.21/pub/Linux/ubuntu/ precise multiverse
deb http://195.14.50.21/pub/Linux/ubuntu/ precise-updates multiverse
deb http://195.14.50.21/pub/Linux/ubuntu/ precise-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu precise partner
deb http://195.14.50.21/pub/Linux/ubuntu precise-security main restricted
deb http://195.14.50.21/pub/Linux/ubuntu precise-security universe
deb http://195.14.50.21/pub/Linux/ubuntu precise-security multiverse

Обновляем репозитарии:      
$sudo apt-get update
Обновляем пакеты, если есть обновления
$sudo apt-get upgrade



Выводы

Обеспечить стабильный Интернет посредством протоколов PPP - это трудная, почти не выполнимая задача. То что оно как-то работает, при этом влияющих факторов - море, это чудо. Отсюда проистекает и то понимание, что соединение может рваться по причинам, которые нам не ведомы в момент настройки и предусмотреть реакцию на них заранее сложно.


Почитать про дополнительное конфигурирование микросервера, воспользоваться меткой: микросервер

Вполне может пригодиться настройка DNS на микросервере.


Что ещё почитать

Есть у меня новая заметка о настройке маршрутизатора Mikrotik RB951G-2HnD, аналогично, для доступа к сети Beeline. Mikrotik в сети Beeline.


Ресурсы

1. В. Федорчук. Настройка сетевых интерфейсов с помощью IPROUTE 2,  http://www.opennet.ru/base/net/iproute2.txt.html
2. Получение полных маршрутов сети Beeline через DHCP. http://homenet.beeline.ru/index.php?showtopic=297786
3. Скрипт помощник vpn. http://help.ubuntu.ru/wiki/%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82_vpn
4. Документация Ubuntu. Настройка сети в ручную. http://help.ubuntu.ru/wiki/%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0_%D1%81%D0%B5%D1%82%D0%B8_%D0%B2%D1%80%D1%83%D1%87%D0%BD%D1%83%D1%8E
5. Локальные репозитории Ubuntu в Beeline Интернет. http://president.sytes.net/wordpress/lokalnyie-repozitarii-korbinyi-ubuntu
6. По теме, от пользователя услуг Yorick. http://yorick.homelinux.com/blogs/corbinabeeline-i-perehod-na-ih-l2tp-protokol/#more-5
7. Подключения к Internet Beeline (Corbina) в Debian GNU/Linux 6 по протоколу l2tp. http://www.opennet.ru/tips/info/2539.shtml
8. О проблеме демона PPPD, в приложении к Корбине (а теперь и Билайн). http://homenet.beeline.ru/index.php?showtopic=69646