現在のサブネットに基づいて、異なる* .confから選択します


1

2つの異なるネットワークで使用しているラップトップでgentooを実行しています。私がオフィスにいるとき、make.confとresolve.conf.headで必要な/したいいくつかの調整があります:私はローカル同期サーバーにアクセスして分散コンパイルし、dhcpのセットアップ方法のためにresolve.conf.headに行を追加して、イントラネット名を適切に解決する必要があります。オフィスのネットワーク上にいないときは、resolve.conf.headとmake.confの分散コンパイルおよびローカル同期サーバーを無効にする必要があります。現在のサブネットに基づいてこれらの変更を自動的に行う方法はありますか?おそらく、適切な* .confファイルへのシンボリックリンクをポイントすることで?

どんな提案も大歓迎です!

回答:


1

あなたがあなたのオフィスに含めたい余分な行を別々のファイル、例えば/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.confbashスクリプトではありません、あなたはそこに別の技術を使用する必要があります。私が最初に尋ねるのは、必要な余分な行がDHCPによって自動的に挿入されない理由と、/etc/conf.d/netそれを表示するために変更できる方法があるかどうかです。そうでない場合は、/etc/resolv.conf.headシンボリックリンクを作成/etc/resolv.conf.officeし、オフィスネットワークに接続するたびにそれを指すように変更するのがおそらく良い方法だと思います。残念ながら、ネットワークに接続する(またはネットワークから切断する)たびにプロセスを実行するようにトリガーする方法はわかりません。

ここで適切な回答が得られない場合は、Gentooフォーラムで質問してください

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.