vtund.conf - файл конфигурации демона виртуальных туннелей VTun
НАЗВАНИЕ
vtund.conf − файл конфигурации демона виртуальных туннелей VTun
ОПИСАНИЕ
Файл конфиуграции демона виртуальных туннелей vtund(8).
Файл состоит из разделов следующего вида:
имя {
ключевое_слово значение;
ключевое_слово значение;
..
}
Точка с запятой в конце каждой пары ключевое_слово−значение обязательны, равно как и группирующие фигурные скобки
{}. Строки, которые начинаются с символов "#", являются комментариями.
Имя раздела (имя) может быть одним из следующих:
options
Этот раздел задаёт общие настройки vtund.
default
Задаёт настройки по умолчанию для всех сеансов.
сеанс
Любые другие слова, за исключением "options" и "default", начинают новый сеанс и задают его настройки.
Все ключевые слова могут быть сокращены до 4 символов.
ОБЩИЕ ОПЦИИ
Этот раздел, называющийся options, задаёт общие настройки, используемые vtund(8). Доступные
ключевые слова:
type stand|inetd
Тип сервера. vtund(8) может работать в самостоятельном режиме (stand), что подразумевается, или может быть вызван из
inetd(8).
ipv4
Использовать IPv4 в качестве транспортной среды. Используется по умолчанию. Внутри туннеля можно использовать другие типы.
ipv6
Использовать IPv6 в качестве транспортной среды.
port номер_порта
Номер порта сервера или порт для подключения. По умолчанию vtund(8) использует порт 5000.
bindaddr список
Список прослушиваемых сервером адресов. Используется для принудительного указания vtund ожидать соединений на указанном адресе и
порту в режиме сервера. Формат:
bindaddr {
опция значение;
};
Опции bindaddr:
iface имя_интерфейса
Использовать адрес на интерфейсе имя_интерфейса для ожидания подключений.
addr адрес
Использовать адрес для ожидания подключений. Можно указать как IP−адрес, так и имя узла.
timeout секунды
Общий таймаут.
persist yes|keep|no
Постоянный режим. Если yes, клиент попытается переподключиться к серверу после закрытия подключения. Если keep,
клиент не удаляет и не добавляет заново устройство tunXX или tapXX при переподключении. Если no, клиент завершит работу (по
умолчанию). Эта опция игнорируется сервером.
syslog число|имя
Указание категории источника syslog, можно указать числом или именем (из syslog(3)).
ppp путь
Путь к программе pppd(8). Может использоваться в разделах сеансов.
ifconfig путь
Путь к программе ifconfig(8). Может использоваться в разделах сеансов.
route путь
Путь к программе route(8). Может использоваться в разделах сеансов.
ip путь
Путь к программе iproute(8). Может использоваться в разделах сеансов.
firewall путь
Программа для настройки пакетной фильтрации.
Все параметры ppp, ifconfig, route и firewall могут указывать имя соответствующей
программы или эквивалента (например, имя shell−сценария). Эти параметры используются в разделах сеансов для настройки сетевых интерфейсов.
ОПЦИИ СЕАНСОВ
Опции сеансов можно указывать внутри разделов сеансов или внутри раздела default. Настройки по умолчанию
применяются к любому сеансу, но могут быть переопределены здесь. Доступные настройки:
passwd пароль
Пароль для аутентификации. Он должен быть одинаковым у клиента и у сервера.
type тип
Тип туннеля. Доступные типы туннелей:
tun
IP−туннель (без заголовков PPP, Ethernet и т.п.).
ether
Ethernet−туннель.
tty
Последовательный туннель (PPP, SLIP и т.п.).
pipe
Туннель−канал.
По умолчанию тип туннеля − tty. Эта опция игнорируется клиентом.
device устройство
Используемое сетевое устройство. Вы можете выбрать tapXX для Ethernet−туннелей или tunXX для
IP−туннелей. По умолчанию vtund(8) автоматически выберет доступное устройство.
proto tcp|udp
Используемый протокол. По умолчанию vtund(8) использует протокол TCP. UDP рекомендуется только для туннелей ether и
tun. Эта опция игнорируется клиентом.
nat_hack client|server|no
Сторона, на которой используется nat_hack. По умолчанию vtund(8) использует опцию ’no’. Сторона, на которой включена
поддержка NAT, производит отложенное подключение к сокету UDP. Нужно включать только со стороны, находящейся снаружи NAT (обычно это сервер)! Опция ’client’ на
сервере и опция ’server’ на клиенте игнорируются, чтобы использовать одинаковый файл конфигурации с обеих сторон.
Имеет значение только при использовании proto udp. Поддержка NAT откладывает подключение к сокету UDP до
получения первого UDP−пакета от другой стороны туннеля. Затем сокет подключается к правильному номеру порта источника пакета (на сервере NAT), а не к тому,
который был использован в процессе рукопожатия (который находится за NAT и обычно бывает недоступен). Первый эхо−запрос тоже отключается на стороне с
включенной поддержкой NAT.
В настоящее время механизм работает только с одной стороны, для одностороннего прохождения NAT. Если включить его
для обеих сторон, обе стороны будут ждать первого пакета и туннель никогда не передаст данные.
Предупреждение о безопасности! Из−за природы отложенных подключений, теоретически туннель может быть
захвачен злоумышленником с той же стороны NAT, путём отправки первого пакета на UDP−порт сервера, до того, как это сделает настоящий клиент. Если вы не
осознаёте риски, или хотите сохранить безопасность с таким типом NAT−маршрутизатора, используйте proto tcp, который поддерживает прохождение NAT.
По вышеизложенным причинам, для повышения безопасности эту опцию можно отключить в процессе компиляции (configure
−−disable−nathack).
timeout секунды
Таймаут подключения.
compress метод[:уровень]
Указывает используемый метод сжатия. Доступные методы сжатия:
no
Без сжатия.
yes
Метод сжатия по умолчанию.
zlib
Сжатие ZLIB.
lzo
Сжатие LZO (если программа скомпилирована с его поддержкой).
Также можно указать уровень сжатия, при помощи цифры (1 − лучшая скорость, 9 − лучший коэффициент сжатия).
Эта опция игнорируется клиентом.
encrypt метод[:уровень]
Указывает используемый метод шифрования. Доступные методы шифрования:
no
Без шифрования.
yes
Метод шифрования по умолчанию (blowfish128ecb).
blowfish128ecb
Шифр Blowfish, 128−битный ключ, режим ECB.
blowfish128cbc
Шифр Blowfish, 128−битный ключ, режим CBC.
blowfish128cfb
Шифр Blowfish, 128−битный ключ, режим CFB.
blowfish128ofb
Шифр Blowfish, 128−битный ключ, режим OFB.
blowfish256ecb
Шифр Blowfish, 256−битный ключ, режим ECB.
blowfish256cbc
Шифр Blowfish, 256−битный ключ, режим CBC.
blowfish256cfb
Шифр Blowfish, 256−битный ключ, режим CFB.
blowfish256ofb
Шифр Blowfish, 256−битный ключ, режим OFB.
aes128ecb
oldblowfish128ecb
Шифр Blowfish, 128−битный ключ, режим ECB
(только для использования с клиентами 2.6) Шифр AES, 128−битный ключ, режим ECB
aes128cbc
Шифр AES, 128−битный ключ, режим CBC.
aes128cfb
Шифр AES, 128−битный ключ, режим CFB.
aes128ofb
Шифр AES, 128−битный ключ, режим OFB.
aes256ecb
Шифр AES, 256−битный ключ, режим ECB.
aes256cbc
Шифр AES, 256−битный ключ, режим CBC.
aes256cfb
Шифр AES, 256−битный ключ, режим CFB.
aes256ofb
Шифр AES, 256−битный ключ, режим OFB.
Эта опция игнорируется клиентом.
keepalive yes|no|интервал:количество
Включить или отключить поддержание соединения. Время интервал − это период между проверками соединения, в секундах, а
количество − это максимальное количество попыток (yes = 30:4). Эта опция игнорируется сервером.
stat yes|no
Включить или отключить сатистику. Если включено, vtund(8) ведёт журнал счётчиков статистики /var/log/vtund/session_X каждые
5 минут.
speed kbps
Задаёт скорость соединения в килобитах в секунду. Правильные значения kbps: 8, 16, 32, 64, 128, 256 и т.п. 0 (по умолчанию)
означает максимальную возможную скорость без ограничения. Можно указать скорость в виде вход:выход, где вход − скорость к клиенту,
выход − скорость от клиента. Одно число означает одинаковую скорость для входа и выхода. Эта опция игнорируется клиентом.
srcaddr список
Локальный (исходный) адрес. Используется для принудительного указания vtund использовать определённые IP−адрес и порт. Формат:
srcaddr {
опция значение;
опция значение;
..
};
Опции srcaddr:
iface имя_интерфейса
Использовать адрес интерфейса имя_интерфейса в качестве исходного адреса.
addr адрес
Исходный адрес. Можно указать как IP−адрес, так и имя узла.
port номер_порта
Исходный порт.
multi значение
Управение множественными подключениями. Значение может быть yes или allow, чтобы разрешить множественные
подключения, no или deny для запрета или killold, чтобы разрешить новое подключение и закрыть прежнее. Игнорируется клиентом.
up список
Список программ, которые нужно запустить после установки подключения. Используется для инициализации протоколов, устройств,
маршрутизации и пакетного фильтра. Эта опция выглядит как самостоятельный раздел внутри раздела сеанса. Формат:
up {
опция значение;
опция значение;
..
};
Опции внутри блоков up (и down):
program путь аргументы [wait]
Запустить указанную программу. Путь − это полный путь к программе, аргументы − это все аргументы, передаваемые ей
(заключены в двойные кавычки). Если указано wait, vtund будет ожидать завершения программы. Особые символы, которые можно использовать внутри
параметра аргументы:
´ (одинарные кавычки) − группировать аргументы
\ (обратная косая черта) − экранирующий символ
%d − имя устройства TUN или TAP или порта TTY
%% (двойной процент) − то же, что и %d
%A − локальный IP−адрес
%P − локальный TCP или UDP−порт
%a − удалённый IP−адрес
%p − удалённый TCP или UDP−порт
ppp аргументы
Запустить программу, указанную выражением ppp в разделе options. Все специальные символы, описанные выше, доступны
для указания в аргументах.
ifconfig аргументы
Запустить программу, указанную выражением ifconfig в разделе options.
route аргументы
Запустить программу, указанную выражением route в разделе options.
ip аргументы
Запустить программу, указанную выражением ip в разделе options.
firewall аргументы
Запустить программу, указанную выражением firewall в разделе options.
down список
Список программ, запускаемых после закрытия подключения. Он аналогичен параметру up, описанному выше. Формат:
down {
опция значение;
опция значение;
..
};
ЗАМЕЧАНИЯ
Опции, игнорируемые клиентом, предоставляются сервером во время запуска или используются только на стороне
сервера.
СМОТРИ ТАКЖЕ
vtund(8), inetd(8), ifconfig(8), route(8), pppd(8), syslog(3),
zlib(3).
АВТОРЫ
vtund написан Максимом Краснянским (Maxim Krasnyansky) <max_mk@yahoo.com>. Эта страница руководства основана
на комментариях конфигурационного файла, сделанных Михаилом Токаревым (Michael Tokarev) <mjt@tls.msk.ru>.
АВТОР ПЕРЕВОДА
Перевод на русский язык выполнил Владимир Ступин <vladimir@stupin.su>.