выбирать между различными * .conf, основываясь на текущей подсети

314
HazyBlueDot

У меня работает gentoo на ноутбуке, который я использую в двух разных сетях. Когда я нахожусь в офисе, есть несколько настроек, которые мне нужны / нужны в make.conf и resol.conf.head: у меня есть доступ к локальному серверу синхронизации и распределенной компиляции, и из-за способа настройки нашего dhcp я необходимо добавить строку в resol.conf.head для правильного разрешения имен в интрасети. Когда я не в сети офиса, мне нужно отключить resol.conf.head и распределенный сервер компиляции и локальной синхронизации в make.conf. Есть ли способ сделать эти изменения автоматически на основе моей текущей подсети? Возможно, указав символическую ссылку на соответствующий файл * .conf?

Любые предложения приветствуются!

1

1 ответ на вопрос

1
David Z

Я бы предложил поместить дополнительные строки, которые вы хотите включить в свой офис, в отдельные файлы, например, /etc/resolv.conf.officeи /etc/make.conf.office. Затем /etc/make.confвы можете написать следующее:

on_office_network && source /etc/make.conf.office 

где on_office_networkбудет какая-то команда, которая будет успешно выполняться, если и только если вы находитесь в своей офисной сети. Если вы можете сказать, основываясь на IP-адресе, эта команда может быть

ifconfig eth0 | grep -q 'inet addr:192.168.1.1' 

(где 192.168.1.1должен быть заменен на любой ваш IP-адрес в вашей офисной сети).

Поскольку /etc/resolv.confэто не bash-скрипт, вам нужно использовать другую технику. Первое, что я хотел бы спросить, - почему дополнительная строка, которая вам нужна, не вставляется автоматически DHCP, и есть ли какой-то способ, которым вы могли бы изменить /etc/conf.d/netее, чтобы она появилась. Если нет, то я думаю, что /etc/resolv.conf.headсоздание символической ссылки и ее изменение, указывающее на то, /etc/resolv.conf.officeкогда вы подключаетесь к офисной сети, - это, вероятно, хороший путь. К сожалению, я не знаю, как запустить процесс, когда вы подключаетесь (или отключаетесь) от сети.

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