6 февр. 2019 г.

Openvpn\Tunnelblick hide `unrecognized option` window

Давненько ничего не приходилось записать, но вот...

На текущем рабочем месте доступ к ряду ресурсов организован через OpenVPN. Помимо прочих опций сервер выдает настройки DNS сервера, однако используются эти опции исключительно в win-среде, а мой macos-ный Tunnelblick на них ругается как на `unrecognized`:

Линуксовый openvpn-клиент сругнется ровно также:
2019-02-06 22:16:04 Options error: Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:1: block-outside-dns (2.4.6)

2019-02-06 22:16:04 Options error: Unrecognized option or missing or extra parameter(s) in [PUSH-OPTIONS]:3: register-dns (2.4.6)
И если к сообщениям в логе можно отнестись спокойно (и не заметить), то всплывающее окно при каждом открытии крышки ноутбука напрягает.

Однако решение есть! В документации находим следующее:
--pull-filter accept|ignore|reject text
Filter options received from the server if the option starts with text. Runs on client. The action flag accept allows the option, ignore removes it and reject flags an error and triggers a SIGUSR1 restart. The filters may be specified multiple times, and each filter is applied in the order it is specified. The filtering of each option stops as soon as a match is found. Unmatched options are accepted by default.
Prefix comparison is used to match text against the received option so that
--pull-filter ignore "route"would remove all pushed options starting with route which would include, for example, route-gateway. Enclose text in quotes to embed spaces.
--pull-filter accept "route 192.168.1."--pull-filter ignore "route "would remove all routes that do not start with 192.168.1.
This option may be used only on clients. Note that reject may result in a repeated cycle of failure and reconnect, unless multiple remotes are specified and connection to the next remote succeeds. To silently ignore an option pushed by the server, use ignore.


 Добавив в конфигурационный файл нужные строки:
pull-filter ignore redister-dns
pull-filter ignore block-outside-dns
Получаем тишь и благодать:

2019-02-06 22:38:37 Pushed option removed by filter: 'block-outside-dns'
2019-02-06 22:38:37 Pushed option removed by filter: 'register-dns'