탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 관리: IP 서비스 Oracle Solaris 10 1/13 Information Library (한국어) |
1. Oracle Solaris TCP/IP 프로토콜 제품군(개요)
5. TCP/IP 네트워크 서비스 구성 및 IPv4 주소 지정(작업)
10. TCP/IP 및 IPv4에 대한 자세한 정보(참조)
Neighbor Discovery에서 제공하는 ICMP 메시지
ARP 및 관련 IPv4 프로토콜과 Neighbor Discovery 비교
Oracle Solaris 이름 서비스에 대한 IPv6 확장
이 절에서는 Oracle Solaris에서 IPv6을 사용하는 파일, 명령 및 데몬에 대해 설명합니다.
이 절에서는 IPv6 구현에 포함된 구성 파일에 대해 설명합니다.
/etc/inet/ndpd.conf 파일은 in.ndpd Neighbor Discovery 데몬에서 사용하는 옵션을 구성하는 데 사용됩니다. 라우터의 경우 주로 ndpd.conf를 사용하여 링크에 알릴 사이트 접두어를 구성하십시오. 호스트의 경우 ndpd.conf를 사용하여 주소 자동 구성을 해제하거나 임시 주소를 구성하십시오.
다음 표는 ndpd.conf 파일에 사용되는 키워드를 보여줍니다.
표 11-2 /etc/inet/ndpd.conf 키워드
|
ndpd.conf 파일에서 이 표의 키워드를 라우터 구성 변수 세트와 함께 사용하십시오. 이러한 변수는 RFC 2461, Neighbor Discovery for IP Version 6 (IPv6)에 자세히 정의되어 있습니다.
다음 표는 인터페이스 구성에 사용되는 변수를 간략한 설명과 함께 보여줍니다.
표 11-3 /etc/inet/ndpd.conf 인터페이스 구성 변수
|
다음 표는 IPv6 접두어 구성에 사용되는 변수를 보여줍니다.
표 11-4 /etc/inet/ndpd.conf 접두어 구성 변수
|
예 11-1 /etc/inet/ndpd.conf 파일
다음 예는 ndpd.conf 파일에서 키워드 및 구성 변수가 사용되는 방식을 보여줍니다. 변수를 활성화하려면 주석(#)을 제거하십시오.
# ifdefault [variable-value ]* # prefixdefault [variable-value ]* # if ifname [variable-value ]* # prefix prefix/length ifname # # Per interface configuration variables # #DupAddrDetectTransmits #AdvSendAdvertisements #MaxRtrAdvInterval #MinRtrAdvInterval #AdvManagedFlag #AdvOtherConfigFlag #AdvLinkMTU #AdvReachableTime #AdvRetransTimer #AdvCurHopLimit #AdvDefaultLifetime # # Per Prefix: AdvPrefixList configuration variables # # #AdvValidLifetime #AdvOnLinkFlag #AdvPreferredLifetime #AdvAutonomousFlag #AdvValidExpiration #AdvPreferredExpiration ifdefault AdvReachableTime 30000 AdvRetransTimer 2000 prefixdefault AdvValidLifetime 240m AdvPreferredLifetime 120m if qe0 AdvSendAdvertisements 1 prefix 2:0:0:56::/64 qe0 prefix fec0:0:0:56::/64 qe0 if qe1 AdvSendAdvertisements 1 prefix 2:0:0:55::/64 qe1 prefix fec0:0:0:56::/64 qe1 if hme1 AdvSendAdvertisements 1 prefix 2002:8192:56bb:1::/64 qfe0 if hme1 AdvSendAdvertisements 1 prefix 2002:8192:56bb:2::/64 hme1
IPv6은 시작 시에 /etc/hostname6.interface 파일을 사용하여 IPv6 논리적 인터페이스를 자동으로 정의합니다. Oracle Solaris 설치 중 IPv6 Enabled(IPv6 사용) 옵션을 선택하면 /etc/hostname. interface 파일 외에도 설치 프로그램이 기본 네트워크 인터페이스에 대해 /etc/hostname6.interface 파일을 만듭니다.
설치 중에 물리적 인터페이스가 두 개 이상 감지되면 이러한 인터페이스를 구성할지 여부를 묻는 프롬프트가 표시됩니다. 설치 프로그램은 사용자가 표시하는 각 추가 인터페이스에 대해 IPv4 물리적 인터페이스 구성 파일 및 IPv6 논리적 인터페이스 구성 파일을 만듭니다.
IPv4 인터페이스에서와 같이 Oracle Solaris 설치 후 IPv6 인터페이스를 수동으로 구성할 수도 있습니다. 새 인터페이스에 대해 /etc/hostname6. interface 파일을 만듭니다. 인터페이스를 수동으로 구성하는 방법에 대한 자세한 내용은 6 장네트워크 인터페이스 관리(작업)를 참조하십시오.
네트워크 인터페이스 구성 파일 이름의 구문은 다음과 같습니다.
hostname.interface hostname6.interface
interface 변수의 구문은 다음과 같습니다.
dev[.module[.module ...]]PPA
네트워크 인터페이스 장치를 나타냅니다. 장치는 물리적 네트워크 인터페이스(예: eri 또는 qfe) 또는 논리적 인터페이스(예: 터널)일 수 있습니다. 자세한 내용은 IPv6 인터페이스 구성 파일을 참조하십시오.
장치가 연결될 때 장치에 푸시할 하나 이상의 STREAMS 모듈을 나열합니다.
물리적 연결 지점을 나타냅니다.
[.[.]] 구문도 허용됩니다.
예 11-2 IPv6 인터페이스 구성 파일
다음은 유효한 IPv6 구성 파일 이름의 예입니다.
hostname6.qfe0 hostname.ip.tun0 hostname.ip6.tun0 hostname6.ip6to4tun0 hostname6.ip.tun0 hostname6.ip6.tun0
/etc/inet/ipaddrsel.conf 파일에는 IPv6 기본 주소 선택 정책 테이블이 포함되어 있습니다. IPv6이 사용 가능한 상태로 Oracle Solaris를 설치하면 이 파일에는 표 11-5에 표시된 내용이 포함됩니다.
/etc/inet/ipaddrsel.conf의 내용은 편집할 수 있습니다. 그러나 대부분의 경우 이 파일을 수정하지 않는 것이 좋습니다. 수정이 필요할 경우 IPv6 주소 선택 정책 테이블을 관리하는 방법 절차를 참조하십시오. ippaddrsel.conf에 대한 자세한 내용은 IPv6 주소 선택 정책 테이블을 수정하는 이유 및 ipaddrsel.conf(4) 매뉴얼 페이지를 참조하십시오.
이 절에서는 Oracle Solaris IPv6 구현으로 추가된 명령에 대해 설명합니다. 또한 IPv6을 지원하도록 기존 명령을 수정하는 방법에 대해서도 설명합니다.
ipaddrsel 명령을 사용하여 IPv6 기본 주소 선택 정책 테이블을 수정할 수 있습니다.
Oracle Solaris 커널은 IPv6 기본 주소 선택 정책 테이블을 사용하여 IPv6 패킷 헤더에 대한 대상 주소 순서 지정 및 소스 주소 선택을 수행합니다. /etc/inet/ipaddrsel.conf 파일에는 정책 테이블이 포함되어 있습니다.
다음 표는 정책 테이블의 기본 주소 형식 및 우선 순위를 보여줍니다. IPv6 주소 선택에 대한 기술적인 세부 정보는 inet6(7P) 매뉴얼 페이지를 참조하십시오.
표 11-5 IPv6 주소 선택 정책 테이블
|
이 표에서 IPv6 접두어(::1/128 및 ::/0)가 6to4 주소(2002::/16) 및 IPv4 주소(::/96 및 ::ffff:0:0/96)보다 우선적으로 사용됩니다. 따라서 기본적으로 커널은 다른 IPv6 대상으로 이동하는 패킷에 대해 전역 IPv6 주소의 인터페이스를 선택합니다. IPv4 주소의 인터페이스는 특히 IPv6 대상으로 이동하는 패킷에 대해 낮은 우선 순위를 갖습니다. 선택한 IPv6 소스 주소가 제공될 경우, 커널에서는 대상 주소에 대해 IPv6 형식도 사용됩니다.
대부분의 경우에는 IPv6 기본 주소 선택 정책 테이블을 변경할 필요가 없습니다. 정책 테이블을 관리해야 하는 경우 ipaddrsel 명령을 사용하십시오.
다음과 같은 경우에 정책 테이블을 수정할 수 있습니다.
시스템 인터페이스가 6to4 터널에 사용되는 경우, 6to4 주소에 더 높은 우선 순위를 제공할 수 있습니다.
특정 소스 주소를 특정 대상 주소와의 통신에만 사용하려는 경우, 이 주소를 정책 테이블에 추가하면 됩니다. 그런 다음 ifconfig를 사용하여 이 주소를 선호 주소로 플래그 지정할 수 있습니다.
IPv4 주소가 IPv6 주소보다 우선적으로 사용되게 하려는 경우, ::ffff:0:0/96의 우선 순위를 더 높은 숫자로 변경할 수 있습니다.
제거된 주소에 더 높은 우선 순위를 지정해야 하는 경우, 제거된 주소를 정책 테이블에 추가하면 됩니다. 예를 들어 사이트 로컬 주소는 이제 IPv6에서 제거되었습니다. 이러한 주소의 앞에는 fec0::/10이 붙습니다. 사이트 로컬 주소에 더 높은 우선 순위를 제공하도록 정책 테이블을 변경할 수 있습니다.
ipaddrsel 명령에 대한 자세한 내용은 ipaddrsel(1M) 매뉴얼 페이지를 참조하십시오.
6to4 터널링을 사용하면 분리된 6to4 사이트 간에 통신할 수 있습니다. 그러나 고유 비6to4 IPv6 사이트를 포함하는 패킷을 전송하려면 6to4 라우터가 6to4 릴레이 라우터를 사용하여 터널을 설정해야 합니다. 그러면 6to4 릴레이 라우터가 6to4 패킷을 IPv6 네트워크 및 고유 IPv6 사이트로 전송합니다. 6to4 지원 사이트가 고유 IPv6 사이트와 데이터를 교환해야 하는 경우 6to4relay 명령을 사용하여 해당 터널을 사용으로 설정하십시오.
릴레이 라우터 사용은 보안되지 않으므로 Oracle Solaris에서는 기본적으로 릴레이 라우터가 사용 안함으로 설정되어 있습니다. 이 시나리오를 배치하기 전에 6to4 릴레이 라우터에 대한 터널 생성과 관련된 문제를 주의 깊게 고려하십시오. 6to4 릴레이 라우터에 대한 자세한 내용은 6to4 릴레이 라우터에 대한 터널 고려 사항을 참조하십시오. 6to4 릴레이 라우터 지원을 사용하려는 경우 6to4 터널을 구성하는 방법에서 관련 절차를 참조하십시오.
6to4relay -e [-a IPv4-address] -d -h
6to4 라우터와 애니캐스트 6to4 릴레이 라우터 간 터널에 대한 지원을 사용으로 설정합니다. 그러면 터널 끝점 주소가 192.88.99.1(6to4 릴레이 라우터의 애니캐스트 그룹에 대한 기본 주소)로 설정됩니다.
지정된 IPv4-address를 사용하여 6to4 라우터와 6to4 릴레이 라우터 간 터널에 대한 지원을 사용으로 설정합니다.
6to4 릴레이 라우터에 대한 터널링 지원을 사용 안함으로 설정합니다. 이는 Oracle Solaris의 기본값입니다.
6to4relay에 대한 도움말을 표시합니다.
자세한 내용은 6to4relay(1M) 매뉴얼 페이지를 참조하십시오.
예 11-3 6to4y 릴레이 라우터 지원의 기본 상태 표시
인수가 없는 6to4relay 명령은 6to4 릴레이 라우터 지원의 현재 상태를 표시합니다. 이 예는 IPv6의 Oracle Solaris 구현에 대한 기본값을 보여줍니다.
# /usr/sbin/6to4relay 6to4relay:6to4 Relay Router communication support is disabled
예 11-4 6to4 릴레이 라우터 지원을 사용으로 설정하여 상태 표시
릴레이 라우터 지원이 사용으로 설정된 경우, 6to4relay는 다음과 같은 출력을 표시합니다.
# /usr/sbin/6to4relay 6to4relay:6to4 Relay Router communication support is enabled IPv4 destination address of Relay Router=192.88.99.1
예 11-5 6to4 릴레이 라우터를 지정하여 상태 표시
6to4relay 명령에 -a 옵션과 IPv4 주소를 지정한 경우, -a와 함께 제공한 IPv4 주소가 192.88.99.1 대신 표시됩니다.
6to4relay는 -d, -e 및 -a IPv4 address 옵션이 성공적으로 실행되면 이를 보고하지 않습니다. 그러나 이러한 옵션을 실행할 때 생성될 수 있는 오류 메시지는 6to4relay가 표시합니다.
ifconfig 명령은 IPv6 인터페이스 및 연결할 터널링 모듈을 사용으로 설정합니다. ifconfig는 ioctls의 확장 세트를 사용해서 IPv4 및 IPv6 네트워크 인터페이스를 모두 구성합니다. 다음은 IPv6 작업을 지원하는 ifconfig 옵션에 대한 설명입니다. ifconfig와 관련된 IPv4 및 IPv6 작업 모두의 범위는 ifconfig 명령으로 인터페이스 구성 모니터링를 참조하십시오.
인터페이스 인덱스를 설정합니다.
터널 소스 또는 대상을 설정합니다.
사용 가능한 다음 논리적 인터페이스를 만듭니다.
특정 IP 주소의 논리적 인터페이스를 삭제합니다.
인터페이스에 대한 지점 간 대상 주소를 설정합니다.
인터페이스에 대한 주소 또는 넷마스크를 설정하거나 둘 다 설정합니다.
인터페이스의 서브넷 주소를 설정합니다.
인터페이스에서 패킷 전송을 사용 또는 사용 안함으로 설정합니다.
7 장IPv6 네트워크 구성(작업)에서는 IPv6 구성 절차를 제공합니다.
예 11-6 ifconfig 명령의 -addif 옵션을 사용하여 논리적 IPv6 인터페이스 추가
ifconfig 명령의 다음 형식에서는 hme0:3 논리적 인터페이스를 만듭니다.
# ifconfig hme0 inet6 addif up Created new logical interface hme0:3
이 형식의 ifconfig는 새로운 인터페이스 만들기를 확인합니다.
# ifconfig hme0:3 inet6 hme0:3: flags=2000841<UP,RUNNING,MULTICAST,IPv6> mtu 1500 index 2 inet6 inet6 fe80::203:baff:fe11:b321/10
예 11-7 ifconfig 명령의 -removeif 옵션을 사용하여 논리적 IPv6 인터페이스 제거
ifconfig 명령의 다음 형식에서는 hme0:3 논리적 인터페이스를 제거합니다.
# ifconfig hme0:3 inet6 down # ifconfig hme0 inet6 removeif 1234::5678
예 11-8 ifconfig를 사용하여 IPv6 터널 소스 구성
# ifconfig ip.tun0 inet6 plumb index 13
물리적 인터페이스 이름과 연결할 터널을 엽니다.
# ifconfig ip.tun0 inet6 ip.tun0: flags=2200850<POINTOPOINT,RUNNING,MULTICAST,NONUD, #IPv6> mtu 1480 index 13 inet tunnel src 0.0.0.0 inet6 fe80::/10 --> ::
TCP/IP가 터널 장치를 사용하고 장치 상태를 보고하기 위해 필요한 스트림을 구성합니다.
# ifconfig ip.tun0 inet6 tsrc 120.46.86.158 tdst 120.46.86.122
터널의 소스 및 대상 주소를 구성합니다.
# ifconfig ip.tun0 inet6 ip.tun0: flags=2200850<POINTOPOINT,RUNNING,MULTICAST,NONUD, IPv6> mtu 1480 index 13 inet tunnel src 120.46.86.158 tunnel dst 120.46.86.122 inet6 fe80::8192:569e/10 --> fe80::8192:567a
구성 후 장치의 새 상태를 보고합니다.
예 11-9 ifconfig를 통해 6to4 터널 구성(긴 형식)
이 6to4 의사 인터페이스 구성 예에서는 서브넷 ID 1을 사용하고 호스트 ID를 16진수 형식으로 지정합니다.
# ifconfig ip.6to4tun0 inet6 plumb # ifconfig ip.6to4tun0 inet tsrc 129.146.86.187 \ 2002:8192:56bb:1::8192:56bb/64 up
# ifconfig ip.6to4tun0 inet6 ip.6to4tun0: flags=2200041<UP,RUNNING,NONUD,IPv6>mtu 1480 index 11 inet tunnel src 129.146.86.187 tunnel hop limit 60 inet6 2002:8192:56bb:1::8192:56bb/64
예 11-10 ifconfig를 통해 6to4 터널 구성(짧은 형식)
이 예에서는 6to4 터널 구성을 위한 짧은 형식을 보여줍니다.
# ifconfig ip.6to4tun0 inet6 plumb # ifconfig ip.6to4tun0 inet tsrc 129.146.86.187 up
# ifconfig ip.6to4tun0 inet6 ip.6to4tun0: flags=2200041<UP,RUNNING,NONUD,IPv6>mtu 1480 index 11 inet tunnel src 129.146.86.187 tunnel hop limit 60 inet6 2002:8192:56bb::1/64
netstat 명령이 IPv4 및 IPv6 네트워크 상태를 모두 표시합니다. /etc/default/inet_type 파일에서 DEFAULT_IP 값을 설정하거나 -f 명령줄 옵션을 사용하여 표시할 프로토콜 정보를 선택할 수 있습니다. DEFAULT_IP를 영구적으로 설정하면 netstat가 IPv4 정보만 표시합니다. -f 옵션을 사용하여 이 설정을 대체할 수 있습니다. inet_type 파일에 대한 자세한 내용은 inet_type(4) 매뉴얼 페이지를 참조하십시오.
netstat 명령의 -p 옵션은 net-to-media 테이블(IPv4의 경우 ARP 테이블이고, IPv6의 경우 이웃 캐시임)을 표시합니다. 자세한 내용은 netstat(1M) 매뉴얼 페이지를 참조하십시오. 이 명령의 사용 절차에 대한 설명은 소켓 상태를 표시하는 방법을 참조하십시오.
snoop 명령이 IPv4 및 IPv6 패킷을 모두 캡처할 수 있습니다. 이 명령은 IPv6 헤더, IPv6 확장 헤더, ICMPv6 헤더 및 Neighbor Discovery 프로토콜 데이터를 표시할 수 있습니다. 기본적으로 snoop 명령은 IPv4 및 IPv6 패킷을 모두 표시합니다. ip 또는 ip6 프로토콜 키워드를 지정하면 snoop 명령은 IPv4 또는 IPv6 패킷만 표시합니다. IPv6 필터 옵션을 사용하여 IPv6 패킷만 표시하도록 모든 패킷(IPv4 및 IPv6)을 필터링할 수 있습니다. 자세한 내용은 snoop(1M) 매뉴얼 페이지를 참조하십시오. snoop 명령 사용 절차는 IPv6 네트워크 트래픽을 모니터링하는 방법을 참조하십시오.
route 명령이 IPv4 및 IPv6 경로 모두에서 작동합니다. 이때 기본값은 IPv4 경로입니다. 명령줄에서 route 명령 바로 뒤에 -inet6 옵션을 사용하면 작업이 IPv6 경로에서 수행됩니다. 자세한 내용은 route(1M) 매뉴얼 페이지를 참조하십시오.
ping 명령이 IPv4 및 IPv6 프로토콜을 모두 사용하여 대상 호스트를 프로빙합니다. 이름 서버가 지정된 대상 호스트에 대해 반환하는 주소에 따라 프로토콜 선택이 달라집니다. 기본적으로 이름 서버가 대상 호스트에 대해 IPv6 주소를 반환하는 경우 ping 명령은 IPv6 프로토콜을 사용합니다. 이름 서버가 IPv4 주소만 반환하는 경우 ping 명령은 IPv4 프로토콜을 사용합니다. -A 명령줄 옵션을 사용하여 사용할 프로토콜을 지정하면 이 작업이 대체됩니다.
자세한 내용은 ping(1M) 매뉴얼 페이지를 참조하십시오. ping 사용 절차는 ping 명령으로 원격 호스트 확인을 참조하십시오.
traceroute 명령을 사용하여 특정 호스트에 대해 IPv4 및 IPv6 경로를 추적할 수 있습니다. 프로토콜 관점에서 traceroute는 ping과 동일한 알고리즘을 사용합니다. 이 선택을 대체하려면 -A 명령줄 옵션을 사용하십시오. -a 명령줄 옵션을 사용하면 멀티홈 호스트의 각 주소에 대해 개별 경로를 추적할 수 있습니다.
자세한 내용은 traceroute(1M) 매뉴얼 페이지를 참조하십시오. traceroute 사용 절차는 traceroute 명령으로 경로 지정 정보 표시를 참조하십시오.
이 절에서는 IPv6 관련 데몬에 대해 설명합니다.
in.ndpd 데몬은 IPv6 Neighbor Discovery 프로토콜 및 라우터 검색을 구현합니다. 이 데몬은 IPv6에 대한 주소 자동 구성도 구현합니다. 다음은 in.ndpd의 지원되는 옵션을 보여줍니다.
디버깅을 설정합니다.
특정 이벤트에 대한 디버깅을 설정합니다.
기본 /etc/inet/ndpd.conf 파일 대신 구성 데이터를 읽도록 파일을 지정합니다.
각 인터페이스에 대한 관련 정보를 출력합니다.
라우터 알림을 루프백하지 않습니다.
수신된 패킷을 무시합니다.
다양한 유형의 진단 메시지를 보고하도록 상세 정보 표시 모드를 지정합니다.
패킷 추적을 설정합니다.
in.ndpd 데몬은 /etc/inet/ndpd.conf 구성 파일에 설정된 매개변수와 /var/inet/ndpd_state. interface 시작 파일의 매개변수로 제어됩니다.
/etc/inet/ndpd.conf 파일이 있으면 이 파일이 구문 분석되어 노드를 라우터로 구성하는 데 사용됩니다. 표 11-2은 이 파일에 나타날 수 있는 키워드를 보여줍니다. 호스트가 부트되는 즉시 라우터가 사용 가능하지 않을 수 있습니다. 라우터에 의해 알려진 패킷은 삭제될 수 있습니다. 또한 호스트에 연결되지 않을 수도 있습니다.
/var/inet/ndpd_state.interface 파일은 상태 파일입니다. 이 파일은 각 노드에서 정기적으로 업데이트됩니다. 노드가 실패하여 다시 시작되었을 때 라우터가 없는 경우 노드가 인터페이스를 구성할 수 있습니다. 이 파일에는 파일이 마지막으로 업데이트된 당시의 인터페이스 주소 및 파일 유효 기간이 포함되어 있습니다. 또한 이전 라우터 알림에서 “학습한” 기타 매개변수도 포함되어 있습니다.
구성 변수 및 허용되는 값 목록은 in.ndpd(1M) 매뉴얼 페이지 및 ndpd.conf(4) 매뉴얼 페이지를 참조하십시오.
in.ripngd 데몬은 IPv6 라우터에 대한 차세대 경로 지정 정보 프로토콜(RIPng)을 구현합니다. RIPng는 IPv6에 해당하는 RIP입니다. routeadm 명령으로 IPv6 라우터를 구성하고 IPv6 경로 지정을 설정하면 in.ripngd 데몬이 라우터에서 RIPng를 구현합니다.
다음은 RIPng의 지원되는 옵션을 보여줍니다.
n은 RIPng 패킷을 전송 또는 수신하는 데 사용되는 대체 포트 번호를 지정합니다.
경로 지정 정보를 표시하지 않습니다.
데몬이 라우터로 사용되지 않는 경우에도 경로 지정 정보를 표시합니다.
Poison Reverse를 사용하지 못하도록 합니다.
in.ripngd가 라우터로 사용되지 않는 경우 데몬은 각 라우터의 기본 경로만 통과합니다.
IPv6 지원 서버 응용 프로그램은 IPv4 요청과 IPv6 요청을 모두 처리하거나, IPv6 요청만 처리할 수 있습니다. 서버는 항상 IPv6 소켓을 통해 요청을 처리합니다. 또한 해당 클라이언트가 사용하는 것과 동일한 프로토콜을 사용합니다.
IPv6용 서비스를 추가하거나 수정하려면 SMF(서비스 관리 기능)에서 제공하는 명령을 사용하십시오.
SMF 명령에 대한 자세한 내용은 Oracle Solaris 관리: 기본 관리의 SMF 명령줄 관리 유틸리티를 참조하십시오.
SMF를 사용하여 SCTP를 통해 실행되는 IPv4 서비스 매니페스트를 구성하는 예제 작업은 SCTP 프로토콜을 사용하는 서비스를 추가하는 방법을 참조하십시오.
IPv6 서비스를 구성하려면 해당 서비스에 대한 inetadm 프로파일의 proto 필드 값에 적합한 값이 나열되어야 합니다.
IPv4 및 IPv6 요청을 모두 처리하는 서비스의 경우 tcp6, udp6 또는 sctp를 선택합니다. tcp6, udp6 또는 sctp6의 값이 proto일 경우 inetd는 서버에 IPv6 소켓을 전달합니다. IPv4 클라이언트에 요청이 있는 경우 서버에는 IPv4 매핑 주소가 포함됩니다.
IPv6 요청만 처리하는 서비스의 경우 tcp6only 또는 udp6only를 선택합니다. proto에 대해 이러한 값 중 하나를 사용할 경우, inetd는 서버에 IPv6 소켓을 전달합니다.
Oracle Solaris 명령을 다른 구현으로 바꿀 경우 해당 서비스 구현이 IPv6을 지원하는지 확인해야 합니다. 구현이 IPv6을 지원하지 않는 경우 proto 값을 tcp, udp 또는 sctp로 지정해야 합니다.
다음은 IPv4 및 IPv6을 둘 다 지원하고 SCTP를 통해 실행되는 echo 서비스 매니페스트에 대해 inetadm이 실행되도록 하는 프로파일입니다.
# inetadm -l svc:/network/echo:sctp_stream SCOPE NAME=VALUE name="echo" endpoint_type="stream" proto="sctp6" isrpc=FALSE wait=FALSE exec="/usr/lib/inet/in.echod -s" user="root" default bind_addr="" default bind_fail_max=-1 default bind_fail_interval=-1 default max_con_rate=-1 default max_copies=-1 default con_rate_offline=-1 default failrate_cnt=40 default failrate_interval=60 default inherit_env=TRUE default tcp_trace=FALSE default tcp_wrappers=FALSE
proto 필드의 값을 변경하려면 다음 구문을 사용하십시오.
# inetadm -m FMRI proto="transport-protocols"
Oracle Solaris 소프트웨어에 제공되는 모든 서버에는 proto를 tcp6, udp6 또는 sctp6로 지정하는 프로파일 항목이 하나만 있으면 됩니다. 그러나 원격 셸 서버(shell) 및 원격 실행 서버(exec)는 이제 단일 서비스 인스턴스로 구성됩니다. 이 경우 proto 값에는 tcp 및 tcp6only 값이 포함됩니다. 예를 들어 shell의 proto 값을 설정하려면 다음 명령을 실행하십시오.
# inetadm -m network/shell:default proto="tcp,tcp6only"
소켓을 사용하는 IPv6 지원 서버를 작성하는 방법에 대한 자세한 내용은 Programming Interfaces Guide 의 IPv6 extensions to the Socket API를 참조하십시오.
IPv6용 서비스를 추가하거나 수정할 경우 다음 사항에 유의하십시오.
proto 값을 tcp6, sctp6 또는 udp6로 지정해야 IPv4 및 IPv6 연결이 모두 가능합니다. proto 값을 tcp, sctp 또는 udp로 지정한 경우 서비스는 IPv4만 사용합니다.
inetd에 대해 일대다 스타일 SCTP 소켓을 사용하는 서비스 인스턴스를 추가할 수는 있지만, 이는 권장되지 않습니다. 일대다 스타일 SCTP 소켓에서는 inetd가 작동하지 않습니다.
wait-status 또는 exec 등록 정보가 다르기 때문에 서비스에 두 개의 항목이 필요할 경우, 원래 서비스에서 두 개의 인스턴스/서비스를 만들어야 합니다.