JavaScript is required to for searching.
탐색 링크 건너뛰기
인쇄 보기 종료
Oracle Solaris 관리: IP 서비스     Oracle Solaris 10 1/13 Information Library (한국어)
search filter icon
search icon

문서 정보

머리말

제1부시스템 관리 소개: IP 서비스

1.  Oracle Solaris TCP/IP 프로토콜 제품군(개요)

제2부TCP/IP 관리

2.  TCP/IP 네트워크 계획(작업)

3.  IPv6 소개(개요)

4.  IPv6 네트워크 계획(작업)

5.  TCP/IP 네트워크 서비스 구성 및 IPv4 주소 지정(작업)

6.  네트워크 인터페이스 관리(작업)

7.  IPv6 네트워크 구성(작업)

8.  TCP/IP 네트워크 관리(작업)

9.  네트워크 문제 해결(작업)

10.  TCP/IP 및 IPv4에 대한 자세한 정보(참조)

11.  IPv6 세부 개요(참조)

제3부DHCP

12.  DHCP 정보(개요)

13.  DHCP 서비스 계획(작업)

14.  DHCP 서비스 구성(작업)

15.  DHCP 관리(작업)

16.  DHCP 클라이언트 구성 및 관리

DHCP 클라이언트 정보

DHCPv6 서버

DHCPv4와 DHCPv6의 차이점

DHCP 관리 모델

MAC 주소 및 클라이언트 ID

프로토콜 세부 정보

논리적 인터페이스

옵션 협상

구성 구문

DHCP 클라이언트 시작

DHCPv6 통신

DHCP 클라이언트 프로토콜이 네트워크 구성 정보를 관리하는 방법

DHCPv4 클라이언트가 네트워크 구성 정보를 관리하는 방법

DHCPv6 클라이언트가 네트워크 구성 정보를 관리하는 방법

DHCP 클라이언트 종료

DHCP 클라이언트 사용 및 사용 안함

DHCP 클라이언트를 사용으로 설정하는 방법

DHCP 클라이언트를 사용 안함으로 설정하는 방법

DHCP 클라이언트 관리

DHCP 클라이언트에서 사용되는 ifconfig 명령 옵션

DHCP 클라이언트 구성 매개변수 설정

DHCPv4의 경우

DHCPv4 및 DHCPv6

다중 네트워크 인터페이스의 DHCP 클라이언트 시스템

DHCPv4 클라이언트 호스트 이름

DHCPv4 클라이언트가 특정 호스트 이름을 요청하도록 설정하는 방법

DHCP 클라이언트 시스템 및 이름 서비스

DHCP 클라이언트를 NIS+ 클라이언트로 설정

DHCP 클라이언트를 NIS+ 클라이언트로 설정하는 방법

DHCP 클라이언트 이벤트 스크립트

17.  DHCP 문제 해결(참조)

18.  DHCP 명령 및 파일(참조)

제4부IP 보안

19.  IP 보안 아키텍처(개요)

20.  IPsec 구성(작업)

21.  IP 보안 아키텍처(참조)

22.  Internet Key Exchange(개요)

23.  IKE 구성(작업)

24.  Internet Key Exchange(참조)

25.  Oracle Solaris의 IP 필터(개요)

26.  IP 필터(작업)

제5부IPMP

27.  IPMP 소개(개요)

28.  IPMP 관리(작업)

제6부IPQoS(IP Quality of Service)

29.  IPQoS 소개(개요)

30.  IPQoS 사용 네트워크 계획(작업)

31.  IPQoS 구성 파일 만들기(작업)

32.  IPQoS 시작 및 유지 관리(작업)

33.  플로우 계산 및 통계 수집 사용(작업)

34.  IPQoS 세부 정보(참조)

용어집

색인

DHCP 클라이언트 이벤트 스크립트

DHCP 클라이언트를 설정하여 클라이언트 시스템에 적절한 동작을 수행할 수 있는 실행 파일 프로그램 또는 스크립트를 실행할 수 있습니다. 프로그램 또는 스크립트는 이벤트 스크립트라고 하며, 특정 DHCP 임대 이벤트가 발생한 후 자동으로 실행됩니다. 이벤트 스크립트를 사용하여 특정 임대 이벤트에 대한 응답으로 다른 명령, 프로그램 또는 스크립트를 실행할 수 있습니다. 이 기능을 사용하려면 고유의 이벤트 스크립트를 제공해야 합니다.

다음 이벤트 키워드가 dhcpagent에서 DHCP 임대 이벤트를 구별하는 데 사용됩니다.

이벤트 키워드

설명

BOUNDBOUND6

DHCP용으로 인터페이스가 구성됩니다. 클라이언트가 DHCP 서버에서 확인 메시지(DHCPv4 ACK 또는 DHCPv6 Reply)를 수신하여 IP 주소에 대한 임대 요청을 부여합니다. 인터페이스를 성공적으로 구성한 후에 즉시 이벤트 스크립트가 호출됩니다.

EXTENDEXTEND6

클라이언트가 임대를 성공적으로 연장합니다. 클라이언트가 DHCP 서버에서 갱신 요청에 대한 확인 메시지를 수신한 후에 즉시 이벤트 스크립트가 호출됩니다.

EXPIREEXPIRE6

임대 시간이 다 되었을 때 임대가 만료됩니다. DHCPv4의 경우, 임대된 주소가 인터페이스에서 제거되고 인터페이스가 작동 중지로 표시되기 전에 즉시 이벤트 스크립트가 호출됩니다. DHCPv6의 경우, 마지막 남은 임대된 주소가 인터페이스에서 제거되기 전에 바로 이벤트 스크립트가 호출됩니다.

DROPDROP6

클라이언트가 임대를 취소하여 DHCP 컨트롤에서 인터페이스를 제거합니다. 인터페이스를 DHCP 제어에서 제거한 후에 즉시 이벤트 스크립트가 호출됩니다.

RELEASERELEASE6

클라이언트가 IP 주소를 양도합니다. 클라이언트가 인터페이스에서 주소를 해제하고 DHCPv4 RELEASE 또는 DHCPv6 Release 패킷을 DHCP 서버로 보내기 전에 즉시 이벤트 스크립트가 호출됩니다.

INFORMINFORM6

인터페이스가 DHCPv4 INFORM 또는 DHCPv6 Information-Request 메시지를 통해 DHCP 서버에서 신규 또는 업데이트된 구성 정보를 획득합니다. 이러한 이벤트는 DHCP 클라이언트가 서버에서 구성 매개변수만 얻고 IP 주소 임대를 얻지 않을 때 발생합니다.

LOSS6

임대 만료 중 하나 이상의 유효한 임대가 계속 남아 있으면 만료된 주소가 제거되기 전에 바로 이벤트 스크립트가 호출됩니다. 이러한 제거 예정 항목은 IFF_DEPRECATED 플래그로 표시됩니다.

이러한 이벤트를 사용하여 dhcpagent는 다음 명령을 호출합니다.

/etc/dhcp/eventhook interface event

여기서 interface는 DHCP를 사용 중인 인터페이스이고 event는 이전에 설명된 이벤트 키워드 중 하나입니다. 예를 들어, ce0 인터페이스가 DHCP용으로 처음 구성될 때 다음과 같이 dhcpagent가 이벤트 스크립트를 호출합니다.

/etc/dhcp/eventhook net0 BOUND

이벤트 스크립트 기능을 사용하려면 다음을 수행해야 합니다.

이벤트 스크립트가 dhcpagent로부터 프로그램 환경을 상속받고 root 권한으로 실행합니다. 스크립트가 dhcpinfo 유틸리티를 사용하여 필요한 경우 인터페이스에 대한 추가 정보를 얻을 수 있습니다. 자세한 내용은 dhcpinfo(1) 매뉴얼 페이지를 참조하십시오.

dhcpagent 데몬이 이벤트 스크립트가 모든 이벤트에서 종료되기를 기다립니다. 이벤트 스크립트가 55초 후에 종료되지 않으면 dhcpagentSIGTERM 신호를 스크립트 프로세스로 보냅니다. 추가 3초 후에도 여전히 프로세스가 종료되지 않으면 데몬이 프로세스를 종료하기 위해 SIGKILL 신호를 보냅니다.

dhcpagent(1M) 매뉴얼 페이지에 이벤트 스크립트의 예가 포함됩니다.

예 16-3은 DHCP 이벤트 스크립트를 사용하여 /etc/resolv.conf 파일의 내용을 최신 상태로 유지하는 방법을 보여줍니다. BOUNDEXTEND 이벤트가 발생하면 스크립트는 도메인 서버 및 이름 서버의 이름을 바꿉니다. EXPIRE, DROPRELEASE 이벤트가 발생하면 스크립트는 파일에서 도메인 서버 및 이름 서버의 이름을 제거합니다.


주 - 스크립트 예에서는 DHCP가 도메인 서버 및 이름 서버의 이름에 대한 권한 있는 소스라고 가정합니다. 또한 이 스크립트에서는 DHCP의 제어를 받는 모든 인터페이스가 일관성있는 현재 정보를 반환한다고 가정합니다. 이러한 가정은 사용자 시스템의 조건을 반영하지 않을 수 있습니다.


예 16-3 /etc/resolv.conf 파일을 업데이트하는 이벤트 스크립트

#!/bin/ksh -p

PATH=/bin:/sbin export PATH
umask 0222

# Refresh the domain and name servers on /etc/resolv.conf

insert ()
{
    dnsservers=`dhcpinfo -i $1 DNSserv`
    if [ -n "$dnsservers" ]; then
        # remove the old domain and name servers
        if [ -f /etc/resolv.conf ]; then
            rm -f /tmp/resolv.conf.$$
            sed -e '/^domain/d' -e '/^nameserver/d' \
                /etc/resolv.conf > /tmp/resolv.conf.$$
        fi

        # add the new domain
        dnsdomain=`dhcpinfo -i $1 DNSdmain`
        if [ -n "$dnsdomain" ]; then
            echo "domain $dnsdomain" >> /tmp/resolv.conf.$$
        fi

        # add new name servers
        for name in $dnsservers; do
            echo nameserver $name >> /tmp/resolv.conf.$$
        done
        mv -f /tmp/resolv.conf.$$ /etc/resolv.conf
    fi
}

# Remove the domain and name servers from /etc/resolv.conf

remove ()
{
    if [ -f /etc/resolv.conf ]; then
        rm -f /tmp/resolv.conf.$$
        sed -e '/^domain/d' -e '/^nameserver/d' \
            /etc/resolv.conf > /tmp/resolv.conf.$$
        mv -f /tmp/resolv.conf.$$ /etc/resolv.conf
    fi
}

case $2 in
BOUND | EXTEND)
    insert $1
    exit 0
    ;;
EXPIRE | DROP | RELEASE)
    remove
    exit 0
    ;;
*)
    exit 0
    ;;
esac