l2tpconfig - это приложение для управления из командной строки программой OpenL2TP. "l2tpconfig" взаимодействует с демоном программы OpenL2TP - "openl2tpd" по IP (Internet Protocol). Интерфейс командной строки (command-line interface, CLI) утилиты l2tpconfig запоминает ранее набранные команды, умеет завершать синтаксис команд клавишей "Tab" и поддерживает контекстно-зависимую справку по командам (наберите знак вопроса - "?").
Если вы поменяли параметры при настройке программы OpenL2TP через утилиту "l2tpconfig", то это действие можно сохранить в указанный вами файл с настройками при помощи одной простой команды, это делается для того, чтобы не редактировать параметры настраивая OpenL2TP каждый раз. Пользователям рекомендуется использовать интерактивные команды утилиты l2tpconfig для того, чтобы первоначально один раз настроить программу OpenL2TP так как вам угодно, а затем сохранить настройки в файл для того, чтобы настройки могли быть загружены при следующем запуске демона openl2tpd.
НАЗВАНИЕ
РЕЗЮМЕ
- l2tpconfig [-q] [-R ] [-t] [command]
ОПИСАНИЕ
- OpenL2TP управляется с использованием интерфейса Вызова Удалённых Процедур (Remote Procedure Call, RPC), задокументированном в openl2tp_rpc(4). l2tpconfig - это приложение RPC-клиент, реализованное на интерфейсе RPC, предоставляя пользователю интуитивно понятный и доступный интерфейс под управлением в командной строке. Для получения общей информации о возможностях OpenL2TP, пожалуйста, обратитесь к странице руководства openl2tp(7).
ПАРАМЕТРЫ:
- -q
- Тихий режим. Подавляет информационные сообщения, такие как "Создаётся xyz".
- Режим TCP. Для связи с openl2tpd используется TCP, вместо UDP (значение по-умолчанию). Используйте этот параметр при очень большом количестве сеансов, обрабатываемых демоном openl2tpd. У TCP есть преимущество перед UDP, заключающееся в том, что размер RPC-пакетов может быть больше чем 8 килобайт; в случае, когда вывод команды "list" содержит очень много элементов, то для того чтобы отобразить перечисление элементов списка "list" становится недостаточно пространства в 8 килобайт, поэтому для их перечисления используется TCP, что позволяет избегать RPC-ошибок в команде "list" утилиты l2tpconfig. Недостаток TCP - это задержки медленного TCP протокола. Заметьте, что этот параметр влияет только на протокол управления между "l2tpconfig" и "openl2tpd", и это вообще абсолютно никак не касается L2TP. Этот параметр предназначен в основном обычно для использования в провайдерской среде, где элементами списка "list" обычно является множество подключённых абонентов провайдера.
-R <IP-адрес>
Отправляет команды программе openl2tpd, запущенной на IP-адресе <IP-адрес>, а не на локальном хосте. Этот параметр позволяет удалённо управлять программой openl2tpd на удалённом хосте. В значении <IP-адрес> может быть указан как IP-адрес, так и имя хоста (hostname).
<команда>
- выполняется указанная команда, и затем "l2tpconfig" завершает работу. В случае, если никакая команда не указана, то "l2tpconfig" переходит в интерактивный режим работы, перенаправляя пользователя в свой собственный интерфейс командной строки (Command Line Interface, CLI), с возможностью редактирования ввода различных команд, контекстно-зависимой справкой (наберите знак вопроса - "?") и завершением синтаксиса команд по нажатию на клавишу "Tab" (Табуляция).
ОКРУЖАЮЩАЯ СРЕДА
- прежде, чем дана первая команда утилиты "l2tpconfig", должен быть запущен "openl2tpd". Программа OpenL2TP и её компоненты для связи с "openl2tpd" используют технологию Remote Procedure Call (RPC) от Sun, поэтому на системе должен быть установлен и настроен RPC.
КОМАНДЫ
- Команды сгруппированы по типу объекта; объектом можно управлять уже потом, позже, в ходе работы программы OpenL2TP.
Общий формат команды
- [параметр1[=значение1]]...
- Примечание: Независимо от того, является ли параметр обязательным или дополнительным, синтаксис для указания и тех и других параметров - одинаковый. Параметры указываются в любом порядке.
Каждый объект всех различных типов поддерживает одну или более из следующих операций:
- CREATE
- Создаёт один экземпляр выбранного типа объекта. Параметры, указанные далее, обязательно должны содержать название типа объекта, по которому создаётся экземпляр. Дополнительными параметрами можно указать значения, которые будут использоваться при создании экземпляра вместо значений по-умолчанию.
- Удаляет экземпляр объекта различных типов. Параметры, указанные далее, обязательно должны содержать _название_экземпляра_ объекта выбранного типа.
- Изменяет существующий экземпляр объекта различных типов. Параметры, указанные далее, помимо атрибутов и изменяемых значений, обязательно должны содержать _название_экземпляра_ объекта выбранного типа.
- Показать подробную информацию об экземпляре объекта какого то конкретно одного типа. Параметры, указанные далее, помимо атрибутов и изменяемых значений, обязательно должны содержать _название_экземпляра_ объекта выбранного типа.
- Вывести список всех имеющихся на данный момент экземпляров объекта какого то конкретно одного типа. Возможно, этой команде потребуются дополнительные параметры; в зависимости от того, список чего именно вы хотите вывести, экземпляры объекта какого типа? (от контекста), дополнительные параметры для операции "LIST" предоставит контекстно-зависимая справка (наберите знак вопроса - "?").
- Операция "UNSET" применяется только для экземпляров объекта типа "profile" (профиль). Операция "UNSET" удаляет установленные или изменённые ранее значения параметров у экземпляра объекта типа "profile" (профиль), то есть устанавливает значения параметров в значения по-умолчанию. Операция "UNSET" нужна так как параметры у экземпляра объекта типа "profile" (профиль) могут наследоваться. Удаление значения параметра у экземпляра объекта типа "profile" (профиль) означает, что удалённое значение параметра не будет наследоваться другим (следующим) созданным экземпляром объекта типа "profile" (профиль).
В одной команде возможна только одна, из перечисленных выше, операция с объектом; в случае операций "CREATE" и "MODIFY", одна команда может содержать множество параметров. При вызове нескольких последовательных друг за другом операций на объект, в параметрах обязательно должно быть указано _название_экземпляра_ объекта какого то конкретно одного типа. (Исключение - "LIST", потому что в зависимости от контекста, для этой операции, возможно, не потребуются параметры.)
ТИПЫ ОБЪЕКТОВ
- В программе OpenL2TP существуют следующие типы объектов:
- SYSTEM - СИСТЕМА
- TUNNEL PROFILE - ПРОФИЛЬ ТУННЕЛЯ
- SESSION PROFILE - ПРОФИЛЬ СЕССИИ
- PPP PROFILE - ПРОФИЛЬ PPP
- PEER PROFILE - ПРОФИЛЬ ПАРТНЁРА
- TUNNEL - ТУННЕЛЬ
- SESSION - СЕССИЯ
ИНТЕРАКТИВНЫЙ РЕЖИМ
- l2tpconfig предоставляет контекстно-зависимый интерфейс командной строки (Command Line Interface, CLI). Вызов подсказки отображает список ключевых слов для окончания ввода команды в настоящий момент. Ввод нескольких букв ключевого слова и нажатие на клавишу TAB (табуляция) завершает ключевое слово (в том случае, где это возможно). Повторное нажатие на клавишу TAB (табуляция) снова покажет список следующих допустимых ключевых слов. Когда присутствуют правильные названия объектов различных типов и операции, будет показан список необходимых параметров применяемых соответственно к этой операции. Ввод нескольких букв параметра и нажатие на клавишу TAB (табуляция) завершает ввод названия параметра и добавляет знак '=' после названия параметра в том случае, если параметр принимает значение.
Ключ <?>, помимо такого же результата как и клавишей <TAB> (табуляция), где на экран выводятся возможные завершения ключевых слов, также выводит наглядную справку о каждом параметре.
ПРИВЯЗКА КЛАВИШ
- l2tpconfig предоставляет интуитивное редактирование в командной строке с поддержкой истории ранее введённых команд. Привязка клавиш остаётся такой же как по-умолчанию в bash(1), но в то же время привязку клавиш можно легко поменять, используя записи "l2tpconfig" в файле ".inputrc". Для получения дополнительной информации, пожалуйста, обратитесь к странице руководства. По-умолчанию обычно используются следующие привязки клавиш:
начало строки; конец строки;
стирание символов от курсора до конца строки; стирание символов перевода строки
переход по слову; переход по слову назад
- Примечание: На клавиатурах без метаклавиши (Alt), может использоваться клавиша "Escape".
ИСТОРИЯ КОМАНД
- В интерактивном режиме работы утилита l2tpconfig записывает данные из журнала истории команд в файл "~/.l2tp_history" при выходе из приложения. Что очень удобно, так как это позволяет запоминать набранные команды в предыдущем сеансе работы с утилитой l2tpconfig. При желании, переменная окружения "L2TP_HISTFILE" может использоваться для указания на альтернативный файл истории, а переменная окружения "L2TP_HISTFILESIZE" - чтобы ограничить файл истории nnn записями. В том случае, если значение переменной окружения "L2TP_HISTFILE" установлено в пустую строку, то запись журнала истории в файл отключена.
ПОСТОЯННАЯ НАСТРОЙКА
- Файлы с настройками для программы OpenL2TP не используются (!); Программа OpenL2TP полностью настраивается при помощи клиентского приложения по интерфейсу RPC, то есть при помощи "l2tpconfig". Тем не менее, очень полезно сохранять и восстанавливать время от времени настройки, введённые в интерфейсе командной строки утилиты "l2tpconfig". Для этих целей у "l2tpconfig" имеется две следующие команды:
- config save file=путь_до_файла
- config restore file=путь_до_файла
ПОЛНЫЙ СИНТАКСИС ВСЕХ КОМАНД
Следующая ниже информация была взята из контекстно-зависимой справки в интерактивном режиме утилиты "l2tpconfig". Используйте ключ <?> для запроса контекстно-зависимой справки.
- ПОЛНЫЙ СИНТАКСИС КОМАНД
l2tp> ? |
l2tp> peer ? |
l2tp> peer profile ? |
||
• exit - выйти из приложения "l2tpconfig" |
• profile - команды для управления профилями партнёра (peer profiles) |
• create - создать новый профиль для L2TP-партнёра |
||
• peer - команды для управления партнёрами (peers) |
|
|
|
• list - отобразить список всех существующих (ранее созданных) профилей, применяемых к партнёрам |
• ppp - команды для управления ppp |
|
|
|
• show - показать подробную информацию о профиле для партнёра |
• session - команды для управления сессиями (session) |
|
|
|
• modify - изменить параметры настройки профиля для партнёра |
• tunnel - команды для управления туннелями (tunnels) |
|
|
|
• delete - удалить профиль для партнёра |
• system - все системные команды |
|
|
|
• unset - удалить значения параметров у профиля для партнёра |
• debug - команды только для отладки |
|
|
|
|
• server - здесь настройка сервера (LNS) |
|
|
|
|
• config - сохранить/восстановить параметры настроек |
||||
• quit - выйти из приложения "l2tpconfig" |
|
|
|
|
l2tp> ppp ? |
l2tp> ppp profile ? |
|
• profile - команды для управления профилями PPP (PPP profiles) |
• create - создать новый профиль для PPP |
|
|
• list - отобразить список всех доступных (ранее созданных) профилей, применяемых к PPP |
|
|
• show - показать подробную информацию о профиле для PPP |
|
|
• modify - изменить параметры настройки профиля для PPP |
|
|
• delete - удалить профиль для PPP |
|
|
• unset - удалить значения параметров у профиля для PPP |
|
l2tp> tunnel ? |
l2tp> tunnel profile ? |
|
• create - создать новый L2TP-туннель |
• create - создать новый профиль для L2TP-туннеля |
|
• profile - команды для управления профилями туннеля |
• list - отобразить список всех существующих (ранее созданных) профилей, применяемых к туннелям |
|
• show - показать подробную информацию о состоянии L2TP-туннеля |
• show - показать подробную информацию о профиле для туннеля |
|
• show - показать подробную информацию о туннеле |
• modify - изменить параметры настройки профиля для туннеля |
|
• modify - изменить параметры настройки туннеля |
• delete - удалить профиль для L2TP-туннеля |
|
• delete - удалить L2TP-туннель |
• unset - удалить значения параметров настройки у профиля для туннеля |
|
l2tp> session ? |
l2tp> session profile ? |
|
• create - создать новую L2TP-сессию |
• create - создать новый профиль для L2TP-сессии |
|
• profile - команды для управления профилями для сессий |
• list - отобразить список всех доступных (ранее созданных) профилей, применяемых к сессиям |
|
• list - отобразить список всех существующих (ранее созданных) сессий на указанном туннеле |
• show - показать подробную информацию о профиле для сессии |
|
• show - показать подробную информацию о состоянии L2TP-сессии |
• modify - изменить параметры настройки профиля для туннеля |
|
• modify - изменить параметры настройки для сессии |
• delete - удалить профиль для L2TP-сессии |
|
• delete - удалить L2TP-сессию |
• unset - удалить значения параметров настройки у профиля для сессии |
|
l2tp> system ? |
l2tp> debug ? |
|
• modify - изменить параметры настройки для системы |
• modify - изменить параметры настройки для отладки |
|
• show - показать подробную статистику и подробную информацию о параметрах настройки для системы |
• show - показать подробную информацию о параметрах настройки для отладки |
|
l2tp> server ? |
l2tp> config ? |
|
• modify - изменить параметры настройки для сервера |
• save - сохранить в указанный вами файл параметры настроек, введённые вами в интерфейсе командной строки утилиты "l2tpconfig" |
|
• show - показать подробную информацию о параметрах настройки для сервера |
• restore - восстановить из указанного вами файла ранее сохранённые параметры настройки |
|
- ИНТЕРАКТИВНАЯ СПРАВКА ВТОРОГО УРОВНЯ
PEER PROFILE CREATE / MODIFY / UNSET / LIST / SHOW / DELETE
Вынесено в отдельную страничку peer
PPP PROFILE CREATE / MODIFY / UNSET / LIST / SHOW / DELETE
Вынесено в отдельную страничку ppp
TUNNEL CREATE / MODIFY / LIST / SHOW / DELETE
TUNNEL PROFILE CREATE / MODIFY / UNSET
TUNNEL PROFILE SHOW / DELETE
Вынесено в отдельную страничку tunnel
SESSION CREATE / MODIFY
SESSION LIST / SHOW / DELETE
SESSION PROFILE CREATE / MODIFY / UNSET
SESSION PROFILE SHOW / DELETE
Вынесено в отдельную страничку session
SYSTEM MODIFY / SHOW
Вынесено в отдельную страничку system
DEBUG MODIFY / SHOW
Вынесено в отдельную страничку debug
l2tp> server modify ? |
l2tp> config save ? |
l2tp> config restore ? |
||
• name - Здесь указывается IP-адрес или hostname, с которого будет слушать подключения от пиров (peers) L2TP-демон. Значение по-умолчанию=localhost. |
• file - Название файла для операций config save и config restore |
• file - Название файла для операций config save и config restore. |
||
ПРИМЕРЫ:
- Создаём L2TP-тунннель на удалённый LNS (L2TP Network Server) с IP-адресом 1.2.3.4, который не требует проверки подлинности. Добавляем сессию, используя PPP-login (имя пользователя) и PPP-password (пароль пользователя) - "myuser"/"mypassword"
l2tp> tunnel create dest_ipaddr=1.2.3.4 Created tunnel 39767
l2tp> session create tunnel_id=39767 user_name=myuser \
- password=mypassword
l2tp> tunnel create dest_ipaddr=1.2.3.4 secret=mypassword Created tunnel 4964
l2tp> session create tunnel_id=39767 user_name=myuser \
- password=mypassword
l2tp> peer profile create profile_name=mysubnet \
- ip_addr=1.2.3.0 netmask=255.255.255.0
l2tp> peer profile create profile_name=one \
- default_tunnel_profile=one \ default_session_profile=one \ default_ppp_profile=one
l2tp> tunnel profile modify profile_name=default \
- auth_mode=simple
l2tp> tunnel profile create profile_name=one \
- hide_avps=yes secret=mysecret auth_mode=challenge
l2tp> session profile create profile_name=one \
- use_data_sequencing=yes
l2tp> ppp profile create profile_name=one \
- lcp_echo_interval=5
l2tp> tunnel profile modify profile_name=one \
- trace_flags=protocol,fsm,api,avp,data,ppp
l2tp> debug modify tunnel_profile_name=one \
- protocol=on fsm=on data=off
l2tp> tunnel list
- 53502 192.168.0.1 192.168.0.2 55348 1 ESTABLISHED
- 20903 192.168.0.253 192.168.0.2 33790 1 ESTABLISHED
l2tp> tunnel show tunnel_id=20903 Tunnel 20903, from 192.168.0.2 to 192.168.0.253:-
- state: ESTABLISHED created at: Aug 31 11:04:55 2005 administrative name: 'one' created by admin: YES, tunnel mode: LAC peer tunnel id: 33790, host name: NOT SET UDP ports: local 32771, peer 1701 authorization mode: NONE, hide AVPs: OFF, allow PPP proxy: OFF tunnel secret: 'wibble' session limit: 0, session count: 2 tunnel profile: default, peer profile: default session profile: default, ppp profile: default hello timeout: 60, retry timeout: 1, idle timeout: 0 rx window size: 10, tx window size: 10, max retries: 5 use udp checksums: OFF do pmtu discovery: OFF, mtu: 1460 framing capability: SYNC, bearer capability: DIGITAL use tiebreaker: OFF trace flags: NONE peer vendor name: Cisco Systems, Inc. peer protocol version: 1.0, firmware 4384 peer framing capability: NONE peer bearer capability: NONE peer rx window size: 800 Transport status:-
- ns/nr: 5/2, peer 5/2 cwnd: 6, ssthresh: 10, congpkt_acc: 0
- out-of-sequence control/data discards: 0/0 zlbs tx/txfail/rx: 2/0/3 retransmits: 0, duplicate pkt discards: 0, data pkt discards: 0 hellos tx/txfail/rx: 1/0/0 control rx packets: 5, rx bytes: 194 control tx packets: 7, tx bytes: 303 data rx packets: 15, rx bytes: 347, rx errors: 0 data tx packets: 15, tx bytes: 298, tx errors: 0 establish retries: 0
l2tp> tunnel show tunnel_id=53502 config Tunnel 53502, from 192.168.0.2 to 192.168.0.1:-
- state: ESTABLISHED created at: Aug 31 11:09:20 2005 created by admin: NO, tunnel mode: LNS peer tunnel id: 55348, host name: NOT SET UDP ports: local 32772, peer 34215 authorization mode: NONE, hide AVPs: OFF, allow PPP proxy: OFF session limit: 0, session count: 0 tunnel profile: default, peer profile: default session profile: default, ppp profile: default hello timeout: 60, retry timeout: 1, idle timeout: 0 rx window size: 10, tx window size: 10, max retries: 5 use udp checksums: OFF do pmtu discovery: OFF, mtu: 1460 framing capability: SYNC, bearer capability: DIGITAL use tiebreaker: OFF trace flags: NONE peer vendor name: Katalix Systems Ltd. Linux-2.4.27 (i386) peer protocol version: 1.0, firmware 1 peer framing capability: SYNC ASYNC peer bearer capability: DIGITAL ANALOG peer rx window size: 10
l2tp> session list tunnel_name=one 2 sessions on tunnel one:-
- 29680 4386
l2tp> session show tunnel_name=one session_id=29680 Session 29680 on tunnel 20903:-
- type: LAC Incoming Call, state: ESTABLISHED created at: Aug 31 11:04:59 2005 administrative name: one created by admin: YES, peer session id: 5 ppp user name: cisco ppp user password: cisco ppp profile name: one data sequencing required: OFF use data sequence numbers: OFF trace flags: NONE framing types: SYNC ASYNC bearer types: DIGITAL ANALOG call serial number: 4 use ppp proxy: NO Peer configuration data:-
- data sequencing required: OFF framing types: bearer types: call serial number: 4
- state: ESTABLISHED created at: Aug 31 11:04:55 2005 administrative name: 'one' created by admin: YES, tunnel mode: LAC peer tunnel id: 33790, host name: NOT SET UDP ports: local 32771, peer 1701 authorization mode: NONE, hide AVPs: OFF, allow PPP proxy: OFF tunnel secret: 'wibble' session limit: 0, session count: 2 tunnel profile: default, peer profile: default session profile: default, ppp profile: default hello timeout: 60, retry timeout: 1, idle timeout: 0 rx window size: 10, tx window size: 10, max retries: 5 use udp checksums: OFF do pmtu discovery: OFF, mtu: 1460 framing capability: SYNC, bearer capability: DIGITAL use tiebreaker: OFF trace flags: NONE peer vendor name: Cisco Systems, Inc. peer protocol version: 1.0, firmware 4384 peer framing capability: NONE peer bearer capability: NONE peer rx window size: 800 Transport status:-
l2tp> tunnel list remote_only
- 53502
l2tp> tunnel list local_only
- 20903
- Эта форма списка туннелей, полученная по команде, может оказаться полезна в скриптах для получения идентификаторов активных исходящих туннелей с последующей передачей полученного списка в другую команду.
l2tp> tunnel list names
- one
- Эта форма списка туннелей, полученная по команде, может оказаться полезна в скриптах для получения произвольных имён туннелей с последующей передачей полученного списка в другую команду. Произвольные имена могут использоваться в комбинации с параметрами local_only или remote_only для ограничения списка произвольных имён интересующего вас типа туннелей.
l2tp> session list tunnel_name=one local_only names
- one two
l2tp> system modify deny_remote_tunnel_creates=yes
l2tp> tunnel profile modify profile_name=default out_udp_port=1701
l2tp> ppp profile modify profile_name=default ip_pool_name=one
l2tp> ppp profile modify profile_name=default \
- use_radius=yes \ radius_hint=/etc/radiusclient/myradiusclient.conf
СМОТРИТЕ ТАКЖЕ
- openl2tp(7), openl2tpd(8), readline(3).
Ссылки
OpenL2TP — Официальный сайт "OpenL2TP"
OpenL2TP - l2tpconfig — Официальный сайт "OpenL2TP", l2tpconfig
