시스템 시작 시 네트워크 인터페이스를 시작할 때 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변경 사항은 없습니다.

문제가 어디에 있는지 모르겠습니다. 누구든지 어떤 제안이 있습니까?

(리눅스 박스는 실제로 가상 머신이고 원격 네트워크는 VPN을 통해 액세스되지만 이러한 세부 사항은 이 맥락에서 질문과 관련이 없다고 생각합니다.)

관련 정보