システム起動時のネットワークインタフェース起動時のresolv.confの修正

システム起動時のネットワークインタフェース起動時のresolv.confの修正

私のLinuxボックスには、現在他のサブネット上のネットワークに接続できるネットワークインターフェースがあります。ネットワークインターフェイスが表示されたら、ルーティングテーブルを変更してこれを達成します。 「リモート」ネットワークにもDNSサーバーがあるので、インターフェイスを有効にするときに/etc/resolv.confファイルに追加したいと思います。

私の/etc/network/interfacesファイルには現在、次の内容があります。

# Secondary network interface (using NAT)
allow-hotplug eth1
iface eth1 inet dhcp
        post-up route add -net 172.16.0.0 netmask 255.255.255.0 gw 10.0.3.2
        post-up echo 'Up and running...' >> /home/sysadmin/net-result.txt; date >> /home/sysadmin/net-result.txt
        post-up sed -i '1inameserver 172.16.0.1' /etc/resolv.conf
        post-down sed -i '/^nameserver 172.16.0.1/d' /etc/resolv.conf

(この行は、post-up echo...コマンドが実行中でファイルシステムにアクセスできることを証明するためのものです。)

コマンドラインを使用してインターフェイスを制御すると、正常に動作します。予想通り線ifup eth1が現れて消えます。ifdown eth1nameserver 172.16.0.1/etc/resolv.conf

ただし、何らかの理由でシステムの起動時には機能しません。routeコマンドはい実行中であり(ルーティングテーブルに修正が表示されるように)、ファイルは期待どおりに変更されましたが、/home/sysadmin/net-status.txt変更/etc/resolv.confはありません。

問題がどこにあるのかわかりません。誰でもどんな提案がありますか?

(Linuxボックスは実際には仮想マシンであり、リモートネットワークはVPNを介してアクセスされますが、これらの詳細はこの文脈では質問とは関係がないと思います。)

ベストアンサー1

おすすめ記事