==================================================================================================

※ 해당 내용의 경우 VMware를 이용한 로컬 네트웍 상에서 작업을 하는 내용을 안내하여 드립니당~!

[ 시스템 설정을 위한 내용 ]

설치된 Base Windows  : Windows 7 Pro
설치된 CentOS Server  : CentOS 6.5
설치된 VMware Program : VM workstation 10.0.0

==================================================================================================

가상화 기반(VMware 와 같은) DHCP 환경의 리눅스 서버에서 자주 발생되는 현상으로

/etc/resolv.conf 파일을 수정하고 저장한뒤 서버 리부팅이나 network restart시

resolv.conf 파일의 내용이 초기화 되는 현상이 확인됩니다.


이 내용은 버그 및 오류가 아니라는 부분은 분명히 언급하고 지나가야 될 듯합니다.

/etc/resolv.conf 파일 상단에 보면 아래와 같은 주석 문구가 있는데 이 내용은


; generated by /sbin/dhclient-script


DHCP를 이용하여 IP를 자동으로 할당 받을 때 '/sbin/dhclient-script' 명령에 의해

/etc/resolv.conf 파일이 재생성되게 되어있다는 뜻으로 해석됩니다.


따라서 오류가 아니므로 그대로 사용하셔도 무방하나 /etc/resolv.conf 파일이 자주

재생성되면 귀찮아 질 수 있고, 실 운영서버에서는 치명적인 오류가 될 수 있으므로

이를 방지하기위해 /sbin/dhclient-script 파일 내용에서 'make_resolv_conf’함수를

호출하는 부분이나 함수부분을 찾아 주석 처리해주면 됩니다.


# vi /sbin/dhclient-script


     97번 행에서 정의된 'make_resolv_conf()' 함수 부분을 조정하셔도 되고

     아래와 같이 ip설정을 맞추기 위한 부분의 함수에서 'make_resolv_conf()' 함수 호출 부분을 주석처리 해주셔도 됩니다.


====================================================================================================================

    309 dhconfig() {

....

    464     if [ -n "${new_host_name}" ] && need_hostname; then

    465         hostname ${new_host_name}

    466     fi

    467

    468     #make_resolv_conf

    469

    470     if [ -n "${DHCP_TIME_OFFSET_SETS_TIMEZONE}" ] &&

    471        [[ "${DHCP_TIME_OFFSET_SETS_TIMEZONE}" = [yY1]* ]]; then

    472         if [ -n "${new_time_offset}" ]; then

    473             # DHCP option "time-offset" is requested by default and should be

    474             # handled.  The geographical zone abbreviation cannot be determined

    475             # from the GMT offset, but the $ZONEINFO/Etc/GMT$offset file can be

    476             # used - note: this disables DST.

    477             ((z=new_time_offset/3600))

    478             ((hoursWest=$(printf '%+d' $z)))


====================================================================================================================

    538 dh6config() {

    539     case "${reason}" in

    540         BOUND6)

    541             if [ -z "${new_ip6_address}" ] &&

    542                [ -z "${new_ip6_prefixlen}" ]; then

    543                 exit_with_hooks 2

    544             fi

    545

    546             add_ipv6_addr_with_DAD

    547

    548             #make_resolv_conf

    549             ;;

    550

    551         RENEW6|REBIND6)

    552             if [ -n "${new_ip6_prefixlen}" ] &&

    553                [ -n "${new_ip6_address}" ] &&

    554                [  ! "${new_ip6_address}" = "${old_ip6_address}" ]; then

    555                 add_ipv6_addr_with_DAD

    556             fi

    557

    558             if [ ! "${new_dhcp6_name_servers}" = "${old_dhcp6_name_servers}" ] ||

    559                [ ! "${new_dhcp6_domain_search}" = "${old_dhcp6_domain_search}" ]; then

    560                 make_resolv_conf

    561             fi

    562             ;;

    563



AND