[Linux]/etc/resolv.conf를 업데이트할 수 없는 경우

10945 단어 LinuxCentOSRHELtech

개시하다


이번에 업데이트가 불가능한 경우/etc/resolv.conf에 대한 대응 출력입니다.

이번 환경의 구성도

  • 네트워크 다이어그램
  • 물리적 아키텍처 그래프

  • 사용된 OS 등


    항목
    설명
    PC(호스트 OS)
    MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)
    가상화 소프트웨어
    VirtualBox 6.1.18
    고객 OS
    CentOS Linux release 7.5.1804 (Core)
    결과를 확인하다
    [root@worker1 ~]# cat /etc/redhat-release
    CentOS Linux release 7.5.1804 (Core)
    [root@worker1 ~]#
    

    이벤트

    /etc/resolv.conf 업데이트되었지만 서비스를 다시 시작할 때network 원래 설정으로 돌아갑니다.

    사건이 재현되다

  • 사전 확인/etc/resolv.conf.
  • 명령하다
    cat /etc/resolv.conf
    
    실행 예)
    실행 예
    [root@worker1 ~]# cat /etc/resolv.conf
    # Generated by NetworkManager
    nameserver 192.168.100.1
    [root@worker1 ~]#
    
    nameserver 192.168.100.1는 DHCP 서버에서 자동으로 끌어낸 DNS 서버입니다.

  • 변경/etc/resolv.conf의 설정.
  • Google의 DNS 서버8.8.8.8/8.8.4.4를 설정합니다.
    명령하다
    vi /etc/resolv.conf
    
    파일 내용 수정
    수정 전)
    수정 전
    # Generated by NetworkManager
    nameserver 192.168.100.1
    
    수정 후)
    수정 후
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    
  • network 서비스를 다시 시작합니다.
  • 명령하다
    systemctl restart network
    
  • /etc/resolv.conf의 내용이 복구되었는지 확인합니다.
  • 명령하다
    cat /etc/resolv.conf
    
    실행 예)
    실행 예
    [root@worker1 ~]# cat /etc/resolv.conf
    # Generated by NetworkManager
    nameserver 192.168.100.1
    [root@worker1 ~]#
    

    대책


    ① Network Manager 중지/자동 시작
    ② 인터넷에 연결된 NIC(NAT)의 설정에 다음과 같은 내용을 추가한다.PEERDNS=no

    처리 프로그램

  • NetworkManager 중지/자동 시작 중지
  • ○ 설치
    NetworkManger 중지
    systemctl stop NetworkManager
    
    NetworkManger 자동 시작 중지
    systemctl disable NetworkManager
    
    확인
    NetworkManger 중지 확인
    systemctl stop NetworkManager
    
    → 상태가 "inactive(dead)"인지 확인합니다.
    NetworkManger 자동 시작 중지 확인
    systemctl is-enabled NetworkManager
    
    → 확인 결과는 "disabled"입니다.
  • /etc/sysconfig/network-scripts/ifcfg-ens0s3PEERDNS=no
  • 추가
    명령하다
    vi /etc/sysconfig/network-scripts/ifcfg-ens0s3
    
    편집 전)
    편집 전
    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="dhcp"
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="enp0s3"
    UUID="f3293731-ece8-4e5e-a9f8-1aa68f5b14ab"
    DEVICE="enp0s3"
    ONBOOT="yes"
    
    편집 후)
    편집 후
    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="dhcp"
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="enp0s3"
    UUID="f3293731-ece8-4e5e-a9f8-1aa68f5b14ab"
    DEVICE="enp0s3"
    ONBOOT="yes"
    PEERDNS="no"
    

  • 변경/etc/resolv.conf의 설정.
  • Google의 DNS 서버8.8.8.8/8.8.4.4를 설정합니다.
    명령하다
    vi /etc/resolv.conf
    
    파일 내용 수정
    수정 전)
    수정 전
    # Generated by NetworkManager
    nameserver 192.168.100.1
    
    수정 후)
    수정 후
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    
  • network 서비스를 다시 시작합니다.
  • 명령하다
    systemctl restart network
    

  • 확인/etc/resolv.conf의 내용은 그대로 유지됩니다.
  • 명령하다
    cat /etc/resolv.conf
    
    실행 예)
    실행 예
    [root@worker1 ~]# cat /etc/resolv.conf
    nameserver 8.8.8.8
    nameserver 8.8.4.4
    [root@worker1 ~]#
    

    참고 문장


    resolv.conf 무시된 이벤트 정보(CentOS의 경우)

    좋은 웹페이지 즐겨찾기