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>.