私の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 eth1
nameserver 172.16.0.1
/etc/resolv.conf
ただし、何らかの理由でシステムの起動時には機能しません。route
コマンドはい実行中であり(ルーティングテーブルに修正が表示されるように)、ファイルは期待どおりに変更されましたが、/home/sysadmin/net-status.txt
変更/etc/resolv.conf
はありません。
問題がどこにあるのかわかりません。誰でもどんな提案がありますか?
(Linuxボックスは実際には仮想マシンであり、リモートネットワークはVPNを介してアクセスされますが、これらの詳細はこの文脈では質問とは関係がないと思います。)