Split-horizon на DNSMasq?

Если код уже работает, но выполняется слишком медленно, следующий шаг - начать профилирование. При написании сценариев shell можно использовать time (попробуйте help time, чтобы посмотреть его справочную страницу), чтобы увидеть, сколько времени занимает выполнение каждой команды.

Я думаю, что bc должна быть очень быстрой; sed против одной строки также должен быть очень быстрым; и grep тоже должен быть довольно быстрым, поэтому я решил попробовать профилировать эти две команды xrandr на своей системе. Мне просто нужны были некоторые быстрые оценки, поэтому я попробовал выполнить команды по отдельности (вместо того, чтобы, скажем, обернуть их в сценарий, чтобы запустить их десятки раз для получения среднего значения):

$ time xrandr --prop --verbose >/dev/null

real    0m0.428s
user    0m0.004s
sys     0m0.004s
$ time xrandr --output LVDS1 --brightness 0.9

real    0m0.117s
user    0m0.000s
sys     0m0.008s
$ 

Если вы получите похожие результаты, возможно, ваш запрос занимает больше всего времени.

4
29.11.2015, 08:42
1 ответ

Я не совсем понимаю, что вы подразумеваете под «разделенным горизонтом».

Однако вы можете настроить dnsmasq для разрешения имен для определенного домена через выделенный сервер имен (цитируется из документации ):

Использование специальных серверов.

Dnsmasq может направлять запросы DNS для определенных доменов на определенные вышестоящие серверы имен. Эта функция была добавлена ​​для использования с VPN, но носит общий характер. Сценарий таков: у вас есть стандартное подключение к Интернету через ISP, а dnsmasq настроен для пересылки запросов на серверы имен ISP, затем вы делаете VPN-подключение к своему сети компании, предоставляя доступ к хостам внутри брандмауэра компании. У вас есть доступ, но поскольку многие из внутренних хостов не видны в общедоступном Интернете, ваша компания не публикует их в общедоступном DNS, и вы не можете получить их IP-адреса { {1}} адрес от серверов имен интернет-провайдеров. Решение состоит в том, чтобы использовать сервер имен компании для частных доменов внутри компании, и dnsmasq позволяет это. Предполагая, что все внутренние машины компании находятся в домене internal.myco.com, а сервер имен компаний - 192.168.10.1, тогда параметр server = / internal.myco.com / 192.168.10.1 будет направлять все запросы во внутреннем домене на правильный сервер имен. Вы можете указать более одного домена в каждой опции сервера. Если существует больше , чем один сервер имен, просто включите столько параметров сервера, сколько необходимо , чтобы указать их все.

Итак, вы можете попробовать добавить что-нибудь вроде

server=/acme.corp/10.1.1.2

в вашу конфигурацию.

Возможно, это не коснется вас, но любой, кто пытается настроить свой dnsmasq в современных настольных системах, может вскоре понять, что NetworkManager порождает dnsmasq. Конфигурация собрана вместе из файлов в /etc/NetworkManager/dnsmasq.d/ .

-1
27.01.2020, 21:07

Теги

Похожие вопросы