DHCP 클라이언트 설정하기

고객지원 지식기반 (dhcp_client62)
적용 범위

SuSE Linux: 버전 6.2


Note: 수세 리눅스 6.2이하의 버전을 사용하고 있으시면 이 문서의 전에 쓰여진 문서를 참 조하시기 바랍니다.

Symptom:

리눅스 시스템을 DHCP 클라이언트로 환경 설정했는데 제대로 동작하지 않습니다.

Reason:

DHCP 클라이언트가 제대로 동작하지 않을 수 있는 이유들은 여러 가지가 있습니다.

자신만의 네트워크를 셋업하는 경우에는 DHCP 서버를 로컬 컴퓨터로부터의 접속이 가능하 도록 해야 합니다. 간단한 LAN에서는 이것이 클라이언트와 서버가 같은 물리적 네트워크와 논리 네트워크에 존재해야만 한다는 것을 의미합니다. 다시 말해, 클라이언트 서버 사이에 라우터가 없어야 된다는 것입니다. 더 고급인 네트워크에서는 로컬 네트워크에 DHCP 릴레 이 에이전트가 있을 수 있습니다. 예를 들어, 미국에서 XDSL과 케이블 모뎀 접속을 판매하 고 있는 인터넷 서비스 제공자들의 대부분은 자신들의 공급 하드웨어에 DHCP 릴레이 에이 전트를 가지고 있습니다.

또 하나의 일반적인 문제는 DHCP 서버가 클라이언트에 DHCP_OFFER를 보낼 때 불완전한 정보를 보낸다는 것입니다.

최근에 수세 리눅스 6.2에서 미국 인터넷 서비스 제공자에 의해서 운영되는 DHCP 서버가 6.2 DHCP 클라이언트에서 설정된 네트워크 주소로부터의 DHCP 요청에 응답을 보이지 않 는 특수한 사례가 있었습니다.

Solution:

  1. 수세 리눅스 6.3 배포 이전에 미국에서 가장 일반적으로 나타났던 문제는 인터페이스의 IP 주 소와 관련한 것이었습니다. DHCP 서버가 고전적으로 사용되어 오고 있는 0.0.0.0 주소를 요구하는 반면 인터페이스에서는 192.168.1.254와 같은 주소들로 설정되고 있습니다.

    이 문제를 해결하기 위해서는 /sbin/init.d/dhclient 파일을 수정해 주어야 합니다. 이 파일을 텍스트 편집기에서 열어서 다음과 같이 보이는 라인에 코멘트 기호를 붙이고 내용을 그 아 래에 있는 것으로 바꾸시기 바랍니다.

    	    ifconfig $NETDEV 192.168.1.254 broadcast 192.168.1.255 netmask 255.255.255.0 up
    
    #	    ifconfig $NETDEV 192.168.1.254 broadcast 192.168.1.255 netmask 255.255.255.0 up
                ifconfig $NETDEV 0.0.0.0 up
    
    로 바꾸십시오.

    이제 클라이언트를 다시 테스트해 봅니다.

  2. DHCP 서버가 제대로 동작하고 있습니까? 이것을 알기 위해 가장 좋은 방법은 이미 환 경설정이 끝난 다른 리눅스 클라이언트를 통해 확인을 하거나 DHCP 리스를 요구하는 다른 운영체제 환경의 통신을 통해서 확인하는 것입니다.

    수세 리눅스를 DHCP 서버로 사용하고 있다면 시리즈 n(네트워크 지원(TCP/IP, UUCP, Mail, News))에 위치한 dhcp 패키지를 인스톨했는가 확인해야 합니다. 이 패키지의 메인 환경 설정 파일은 /etc/dhcpd.conf 파일이고 이 파일은 자신의 네트워크 환경에 맞도록 수 정되어 있어야 합니다.(즉, 사용 가능한 IP 주소 범위, DNS 서버, 게이트웨이 등) 환경 설 정 파일에는 또한 잘 정돈된 예들을 가지고 있습니다. 그리고 dhcpd를 위한 맨 페이지와 dhcpd.conf 문서 파일들도 있습니다. 이 서비스는 다음 스크립트로 시작합니다.

    /sbin/init.d/dhcp start 
    
    이 서비스는 부팅시 자동적으로 시작되도록 설정시킬 수 있습니다. 그렇게 하는 방법은 /etc/rc.config 파일에 다음과 같이 필요한 변수값을 설정하는 것입니다.
     
    START_DHCPD="yes"
    DHCPD_INTERFACE="eth0"
    

  3. 야스트의 시스템 어드미니스트레이션--> 콘피규레이션 파일 변경 메뉴에서 이들 변수 값들 을 설정하면 SuSEconfig가 자동적으로 실행되기 때문에 여기서 하는 것을 권장합니다. 네트워크 지원을 위한 시리즈 n에 들어 있는 DHCP 클라이언트 패키지인 dhclient가 인 스톨되어 있는가 확인하십시오. 이 패키지가 일단 인스톨되어 있으면 인터페이스를 DHCP 인터페이스로 설정해 주어야 합니다. 이것은 야스트의 시스템 어드미니스트레이션--> 네트 워크 콘피규레이션--> DHCP 클라이언트 메뉴에서 할 수 있습니다.

  4. DHCP가 같은 서브넷에 있고 접속이 가능한 가 또는 그 사이에 호스트가 있는가를 보기 위해서 traceroute 유틸리티를 사용합니다. DHCP 클라이언트에서 테스트를 하고 있다면 일 시적으로 DHCP 서버를 정적 주소로 설정해 줄 필요가 있습니다. 트레이스라우트의 출력이 한 줄 이상이라면 클라이언트와 서버가 같은 서브넷에 있지 않다는 것을 보여 주는 것입니 다. DHCP 서버가 라우터의 다른 측에 있다면 자신의 네트워크 토폴로지를 바꾸거나 DHCP 릴레이 에이전트를 인스톨해서 환경설정해 주어야 합니다.

    케이블 모뎀과 xDSL의 경우 이들 서비스 업체의 하드웨어가 DHCP 릴레이 에이전트로 설 정되는 경우가 많습니다. 이것에 대해서 확신하지 못하면 이들 업체에 연락헤서 자신의 컴 퓨터가 DHCP 서버에 어떻게 연결되는지 물어 보시기 바랍니다.

  5. DHCP 클라이언트는 자신이 요청한 정보를 모두 받을 수 있는 것은 아닙니다. 그래서 /etc/dhclient.conf DHCP 클라이언트 환경설정 파일을 수정해서 서버가 전송하지 못하도록 설정된 정보(서브넷 마스크나 DNS 등)에 대해서는 클라이언트가 요구하지 않도록 설정하는 것이 좋습니다. 이렇게 하는 것이 자신이 DHCP 서버를 통제하지 않을 경우 적절합니다.

    /etc/dhclient.conf 파일에서 다음 라인에 # 코멘트 마크를 붙이십시오.

    require subnet-mask, domain-name-servers;
    

    또 하나 권장하는 것은 DHCP 서버가 요청된 정보를 자동적으로 제공하도록 설정하는 것입 니다.

  6. DHCP_REQUEST 패킷이 서버에 도착하고 있습니까? 이것은 서버측에 있는 /var/log/messages 파일을 살펴 보면 알 수 있습니다. 이 파일에서는 현재 일어나고 있는 전체 DHCP 전송 사항을 볼 수 있습니다.

  7. 만약 두 개 이상의 네트워크 인터페이스를 가지고 있다면 이들 중에서 하나만 dhcp를 통하도록 셋업시켜야 합니다. 그것은 다음과 같이 할 수 있습니다.

    먼저, 이 방법은 버전 6.2에서 새로 변화된 것이고 6.3에서 적용됩니다. 그리고 아마도 그 이후 버전에서도 이 방법이 사용될 것입니다.

    모든 인터페이스에 대해서 야스트에서 적절한 드라이버를 설정합니다. 예를 들어, 각 네트 워크 인터페이스의 드라이브를 선택하기 위해서 야스트의 시스템 어드미니스트레이션--> 하드웨어 시스템 통합--> 네트워킹 디바이스 콘피규레이션 메뉴를 사용할 수 있습니다. 만 약 같은 종류의 이더넷 카드가 여러 개 있다면 이 카드들을 한 옵션 라인에서 기술해 주어 야 합니다. 하지만 이것은 DHCP의 경우 구체적인 것이 아닙니다. 더 자세한 사항은 수세 리눅스 핸드북을 참조하시기 바랍니다.

    다음에는 야스트에서 모든 네트워킹 인터페이스를 설정해 줍니다. 이것은 시스템 어드미니 스트레이션--> 네트워크 콘피규레이션--> 네트워크 베이스 콘피규레이션 메뉴에서 할 수 있습니다. 각 인터페이스드들의 타입을 선택하십시오.(대부분의 경우 eth0,eth1 식입니다.). 그리고 정적으로 설정해 주려는 모든 인터페이스의 IP 주소 정보를 입력해 줍니다.(즉, DHCP와 함께 셋업되지 않을 인터페이스들을 말하는 것입니다.)

    그런 다음에 DHCP 클라이언트가 시스템 부팅시 시작되도록 설정해 줍니다. 이것은 야스트 의 시스템 어드미니스트레이션--> 네트워크 콘피규레이션--> DHCP 클라이언트 메뉴에서 할 수 있습니다. 이때 이렇게 하면 네트워크 베이스 콘피규레이션 부분이 회색으로 되는 것 을 볼 수 있습니다. 하지만 이것은 정상으로 문제가 발생했다는 것은 아닙니다.

    이제 마지막으로 DHCP를 통해서 사용할 인터페이스를 선정해 줍니다. 이것은 /etc/rc.config 파일을 직접 편집해서 하거나 아니면 야스트의 시스템 어드미니스트레이션 --> 콘피규레이션 파일 변경 메뉴에서 할 수 있습니다. 여기서 중요한 변수는 IFCONFI_0 에서 IFCONFIG_4까지의 변수들입니다. DHCP을 통해서 네 개의 인터페이스들을 위해서 dhcpclient 값을 입력해 줍니다. 이때 변수값을 쓰여진대로 정확히 입력시키도록 조심을 해 야 합니다.

    시스템을 다시 부팅시키고 나면 dhcp 인터페이스가 동작하게 됩니다. 이것은 ifconfig 명령 으로 확인할 수 있습니다.


키워드: DHCP, CLIENT, BOOTP

카테고리:

SDB-dhcp_client62, Copyright SuSE Linux AG, Nrnberg, Germany - 버전: 20. Feb 2001
SuSE Linux AG - 최근에 만들어진 : 20. Feb 2001 에 의해 jrodman (sdb_gen 1.40.0)