이 장에서는 WAN을 통해 클라이언트 시스템을 설정 및 설치하는 예를 제공합니다. 이 장의 예에서는 HTTPS 연결을 통해 보안 WAN 부트를 설치하는 방법에 대해 설명합니다.
그림 13–1은 이 예에 대한 사이트 설정을 보여줍니다.
이 샘플 사이트에는 다음과 같은 특성이 있습니다.
wanserver-1 서버는 WAN 부트 서버 및 설치 서버로 구성됩니다.
wanserver-1의 IP 주소는 192.168.198.2입니다.
wanserver-1의 도메인 이름은 www.example.com입니다.
wanserver-1에서 현재 Solaris 릴리스를 실행합니다.
wanserver-1에서 Apache 웹 서버를 실행합니다. wanserver-1의 Apache 소프트웨어에서 HTTPS를 지원하도록 구성됩니다.
설치할 클라이언트 이름은 wanclient-1입니다.
wanclient-1은 UltraSPARCII 시스템입니다.
wanclient-1의 클라이언트 ID는 010003BA152A42입니다.
wanclient-1의 IP 주소는 192.168.198.210입니다.
클라이언트 서브넷의 IP 주소는 192.168.198.0입니다.
wanclient-1 클라이언트 시스템은 인터넷에 액세스하지만 wanserver-1을 포함하는 네트워크에 직접 연결되지 않습니다.
wanclient-1은 현재 Solaris 릴리스 소프트웨어와 함께 설치되는 새 시스템입니다.
설치 파일 및 데이터를 저장하려면 wanserver-1의 문서 루트 디렉토리(/opt/apache/htdocs)에 다음 디렉토리를 설정합니다.
Solaris Flash 디렉토리
wanserver-1# mkdir -p /opt/apache/htdocs/flash/ |
WAN 부트 미니루트 디렉토리
wanserver-1# mkdir -p /opt/apache/htdocs/miniroot/ |
wanboot 프로그램 디렉토리
wanserver-1# mkdir -p /opt/apache/htdocs/wanboot/ |
setup_install_server(1M)을 -w 옵션과 함께 사용하여 WAN 부트 미니루트와 Solaris 소프트웨어 이미지를 wanserver-1의 /export/install/Solaris_10 디렉토리로 복사합니다.
wanserver-1에 연결된 매체 드라이브에 Solaris Software 매체를 넣습니다. 다음 명령을 입력합니다.
wanserver-1# mkdir -p /export/install/cdrom0 wanserver-1# cd /cdrom/cdrom0/s0/Solaris_10/Tools wanserver-1# ./setup_install_server -w /export/install/cdrom0/miniroot \ /export/install/cdrom0 |
WAN 부트 미니루트를 WAN 부트 서버의 문서 루트 디렉토리(/opt/apache/htdocs/)로 이동합니다.
wanserver-1# mv /export/install/cdrom0/miniroot/miniroot \ /opt/apache/htdocs/miniroot/miniroot.s10_sparc |
클라이언트 시스템에서 다음 명령을 입력하여 클라이언트 OBP가 WAN 부트를 지원하는지 확인합니다.
# eeprom | grep network-boot-arguments network-boot-arguments: data not available |
앞의 예에서 network-boot-arguments: data not available 출력은 클라이언트 OBP가 WAN 부트를 지원함을 나타냅니다.
WAN 부트 서버에 wanboot 프로그램을 설치하려면 Solaris Software 매체에서 WAN 부트 서버의 문서 루트 디렉토리로 프로그램을 복사합니다.
wanserver-1에 연결된 매체 드라이브에 Solaris DVD 또는 Solaris Software - 1 CD를 넣고 다음 명령을 입력합니다.
wanserver-1# cd /cdrom/cdrom0/s0/Solaris_10/Tools/Boot/platform/sun4u/ wanserver-1# cp wanboot /opt/apache/htdocs/wanboot/wanboot.s10_sparc |
WAN 부트 서버에 /etc/netboot 디렉토리의 wanclient-1 하위 디렉토리를 만듭니다. WAN 부트 설치 프로그램은 설치 도중 이 디렉토리에서 구성 및 보안 정보를 검색합니다.
wanclient-1은 서브넷 192.168.198.0에 있으며 클라이언트 ID는 010003BA152A42입니다. wanclient-1에 대해 해당하는 /etc/netboot 하위 디렉토리를 만들려면 다음 작업을 수행합니다.
/etc/netboot 디렉토리를 만듭니다.
/etc/netboot 디렉토리의 권한을 700으로 변경합니다.
/etc/netboot 디렉토리의 소유자를 웹 서버 프로세스의 소유자로 변경합니다.
웹 서버 사용자와 동일한 사용자 역할을 가정합니다.
서브넷(192.168.198.0) 이름을 따라 /etc/netboot의 하위 디렉토리를 만듭니다.
클라이언트 ID 이름을 따라 서브넷 디렉토리의 하위 디렉토리를 만듭니다.
/etc/netboot 하위 디렉토리의 권한을 700으로 변경합니다.
wanserver-1# cd / wanserver-1# mkdir /etc/netboot/ wanserver-1# chmod 700 /etc/netboot wanserver-1# chown nobody:admin /etc/netboot wanserver-1# exit wanserver-1# su nobody Password: nobody# mkdir -p /etc/netboot/192.168.198.0/010003BA152A42 nobody# chmod 700 /etc/netboot/192.168.198.0 nobody# chmod 700 /etc/netboot/192.168.198.0/010003BA152A42 |
현재 Solaris 릴리스를 실행 중인 시스템에서 wanboot-cgi 프로그램은 /usr/lib/inet/wanboot/ 디렉토리에 있습니다. WAN 부트 서버에서 설치 데이터를 전송할 수 있게 하려면 wanboot-cgi 프로그램을 웹 서버 소프트웨어 디렉토리의 cgi-bin 디렉토리로 복사합니다.
wanserver-1# cp /usr/lib/inet/wanboot/wanboot-cgi \ /opt/apache/cgi-bin/wanboot-cgi wanserver-1# chmod 755 /opt/apache/cgi-bin/wanboot-cgi |
기본적으로 모든 WAN 부트 로깅 메시지가 클라이언트 시스템에 표시됩니다. 이러한 기본 작동으로 설치 문제를 빠르게 디버그할 수 있습니다.
WAN 부트 서버에서 부트 및 설치 메시지를 보려면 bootlog-cgi 스크립트를 wanserver-1의 cgi-bin 디렉토리로 복사합니다.
wanserver-1# cp /usr/lib/inet/wanboot/bootlog-cgi /opt/apache/cgi-bin/ wanserver-1# chmod 755 /opt/apache/cgi-bin/bootlog-cgi |
WAN 부트 설치에 HTTPS를 사용하려면 웹 서버 소프트웨어에서 SSL 지원을 활성화해야 합니다. 또한 WAN 부트 서버에 디지털 인증서를 설치해야 합니다. 이 예에서는 wanserver-1의 Apache 웹 서버에서 SSL을 사용하도록 구성된 것으로 가정합니다. 이 예에서는 또한 wanserver-1의 ID를 설정하는 디지털 인증서와 인증 기관이 wanserver-1에 이미 설치된 것으로 가정합니다.
웹 서버 소프트웨어에서 SSL을 사용하도록 구성하는 방법에 대한 예는 웹 서버 설명서를 참조하십시오.
서버가 클라이언트에게 자가 인증을 요구하여 HTTPS를 통해 서버에서 클라이언트로 전송되는 데이터를 보호합니다. 서버 인증을 사용하려면 신뢰할 수 있는 인증서를 클라이언트에게 제공합니다. 신뢰할 수 있는 인증서를 사용하면 클라이언트는 설치 도중 서버의 ID를 확인할 수 있습니다.
클라이언트에게 신뢰할 수 있는 인증서를 제공하려면 웹 서버 사용자와 동일한 사용자 역할을 가정합니다. 그리고 해당 인증서를 분할하여 신뢰할 수 있는 인증서를 추출합니다. 그런 다음 /etc/netboot 계층 구조의 클라이언트 truststore 파일에 신뢰할 수 있는 인증서를 삽입합니다.
이 예에서는 웹 서버 사용자 역할로 nobody를 가정합니다. 그런 다음 cert.p12라는 서버 PKCS#12 인증서를 분할한 다음 신뢰할 수 있는 인증서를 wanclient-1의 /etc/netboot 디렉토리에 삽입합니다.
wanserver-1# su nobody Password: wanserver-1# wanbootutil p12split -i cert.p12 -t \ /etc/netboot/192.168.198.0/010003BA152A42/truststore |
설치하는 동안 데이터를 보다 잘 보호하기 위해 wanclient-1에게 wanserver-1에 대해 자가 인증을 요구할 수 있습니다. 설치에서 클라이언트 인증을 사용 가능하게 하려면 클라이언트 인증서와 개인 키를 /etc/netboot 계층 구조의 하위 디렉토리에 배치합니다.
클라이언트에 개인 키 및 인증서를 제공하려면 다음 작업을 수행합니다.
웹 서버 사용자와 동일한 사용자 역할을 가정합니다.
PKCS#12 파일을 개인 키와 클라이언트 인증서로 분할합니다.
클라이언트의 certstore 파일에 해당 인증서를 삽입합니다.
개인 키를 클라이언트의 keystore 파일에 삽입합니다.
이 예에서는 웹 서버 사용자 역할로 nobody를 가정합니다. 그런 다음 cert.p12라는 이름의 서버 PKCS#12 인증서를 분할합니다. 인증서를 wanclient-1의 /etc/netboot 계층 구조에 삽입합니다. 그런 다음 wanclient.key라는 이름의 개인 키를 클라이언트의 keystore 파일에 삽입합니다.
wanserver-1# su nobody Password: wanserver-1# wanbootutil p12split -i cert.p12 -c \ /etc/netboot/192.168.198.0/010003BA152A42/certstore -k wanclient.key wanserver-1# wanbootutil keymgmt -i -k wanclient.key \ -s /etc/netboot/192.168.198.0/010003BA152A42/keystore \ -o type=rsa |
서버와 클라이언트간에 전송된 데이터를 보호하려면 해싱 키와 암호 키를 만듭니다. 서버에서는 해싱 키를 사용하여 wanboot 프로그램의 무결성을 보호합니다. 서버에서는 암호 키를 사용하여 구성 및 설치 데이터를 암호화합니다. 클라이언트는 해싱 키를 사용하여 다운로드한 wanboot 프로그램의 무결성을 검사합니다. 클라이언트는 암호 키를 사용하여 설치 도중 데이터를 해독합니다.
먼저 웹 서버 사용자와 동일한 사용자 역할을 가정합니다. 이 예에서 웹 서버 사용자 역할은 nobody입니다.
wanserver-1# su nobody Password: |
그런 다음 wanbootutil keygen 명령을 사용하여 wanserver-1에 대한 마스터 HMAC SHA1 키를 만듭니다.
wanserver-1# wanbootutil keygen -m |
그런 다음 wanclient-1에 대한 해싱 키와 암호 키를 만듭니다.
wanserver-1# wanbootutil keygen -c -o net=192.168.198.0,cid=010003BA152A42,type=sha1 wanserver-1# wanbootutil keygen -c -o net=192.168.198.0,cid=010003BA152A42,type=3des |
이전 명령으로 wanclient-1에 대한 HMAC SHA1 해싱 키와 3DES 암호 키가 만들어집니다. 192.168.198.0은 wanclient-1의 서브넷을 지정하고 010003BA152A42는 wanclient-1의 클라이언트 ID를 지정합니다.
이 예에서는 wanserver-1 마스터 시스템을 복제하여 Solarish Archive 아카이브를 만듭니다. 아카이브의 이름은 sol_10_sparc이며 마스터 시스템에서 정확히 복사됩니다. 아카이브는 마스터 시스템의 정확한 복제본입니다. 아카이브는 sol_10_sparc.flar에 저장됩니다. 아카이브를 WAN 부트 서버에 있는 문서 루트 디렉토리의 flash/archives 하위 디렉토리에 저장합니다.
wanserver-1# flarcreate -n sol_10_sparc \ /opt/apache/htdocs/flash/archives/sol_10_sparc.flar |
wanclient-1 시스템을 사전 구성하려면 sysidcfg 파일에 키워드와 값을 지정합니다. 이 파일을 wanserver-1 문서 루트 디렉토리의 하위 디렉토리에 저장합니다.
다음 예는 wanclient-1용 sysidcfg 파일입니다. 이 시스템의 호스트 이름, IP 주소 및 넷마스크는 이름 지정 서비스를 편집하여 미리 구성되었습니다. 이 파일의 위치는 /opt/apache/htdocs/flash/ 디렉토리입니다.
network_interface=primary {hostname=wanclient-1 default_route=192.168.198.1 ip_address=192.168.198.210 netmask=255.255.255.0 protocol_ipv6=no} timezone=US/Central system_locale=C terminal=xterm timeserver=localhost name_service=NIS {name_server=matter(192.168.254.254) domain_name=leti.example.com } security_policy=none
wanclient-1 시스템의 경우 wanclient_1_prof라는 이름의 프로필을 만듭니다. wanclient_1_prof 파일에는 wanclient-1 시스템에 설치할 현재 Solaris 릴리스소프트웨어를 정의하는 다음 항목이 들어 있습니다.
# profile keywords profile values # ---------------- ------------------- install_type flash_install archive_location https://192.168.198.2/flash/archives/cdrom0.flar partitioning explicit filesys c0t1d0s0 4000 / filesys c0t1d0s1 512 swap filesys c0t1d0s7 free /export/home
다음 목록에서는 이 예의 일부 키워드와 값에 대해 설명합니다.
프로필이 복제 시스템에서 Solaris Flash 아카이브를 설치합니다. 초기 설치와 마찬가지로 모든 파일을 덮어씁니다.
압축된 Solaris Flash 아카이브를 wanserver-1에서 검색합니다.
파일 시스템 슬라이스는 filesys 키워드, 값 explicit에 의해 결정됩니다. 루트(/)의 크기는 Solaris Flash 아카이브의 크기를 기준으로 합니다. swap의 크기는 필요한 크기로 설정되고 c0t1d0s1에 설치됩니다. /export/home은 남은 디스크 공간을 기준으로 합니다. /export/home은 c0t1d0s7에 설치됩니다.
사용자 정의 JumpStart 프로그램은 rules 파일을 사용하여 wanclient-1 시스템에 대한 올바른 설치 프로필을 선택합니다. rules라는 이름의 텍스트 파일을 만듭니다. 그런 다음 이 파일에 키워드와 값을 추가합니다.
wanclient-1 시스템의 IP 주소는 192.168.198.210이며 넷마스크는 255.255.255.0입니다. 사용자 정의 JumpStart 프로그램이 wanclient-1을 설치할 때 사용해야 하는 프로필을 지정하려면 network rule 키워드를 사용합니다.
network 192.168.198.0 - wanclient_1_prof - |
이 rules 파일은 사용자 정의 JumpStart 프로그램이 wanclient_1_prof을 사용하여 wanclient-1에 현재 Solaris 릴리스 소프트웨어를 설치하도록 지시합니다.
이 규칙 파일의 이름을 wanclient_rule로 지정합니다.
프로필과 rules 파일을 만든 다음 check 스크립트를 실행하여 파일이 유효한지 검증합니다.
wanserver-1# ./check -r wanclient_rule |
check 스크립트가 오류를 발견하지 않으면 스크립트는 rules.ok 파일을 작성합니다.
rules.ok 파일을 /opt/apache/htdocs/flash/ 디렉토리에 저장합니다.
설치 서버에 있는 sysidcfg 파일 및 사용자 정의 JumpStart 파일의 위치를 나열하는 시스템 구성 파일을 만듭니다. 이 파일을 WAN 부트 서버에서 액세스할 수 있는 디렉토리에 저장합니다.
다음 예에서 wanboot-cgi 프로그램은 WAN 부트 서버의 문서 루트 디렉토리에서 sysidcfg 및 사용자 정의 JumpStart 파일을 찾습니다. WAN 부트 서버의 도메인 이름은 https://www.example.com입니다. WAN 부트 서버는 보안 HTTP를 사용하여 설치 도중 데이터와 파일을 보호하도록 구성됩니다.
이 예에서 시스템 구성 파일은 이름이 sys-conf.s10–sparc 이며 WAN 부트 서버의 /etc/netboot 계층에 저장됩니다. sysidcfg 및 사용자 정의 JumpStart 파일은 문서 루트 디렉토리의 flash 하위 디렉토리에 위치합니다.
SsysidCF=https://www.example.com/flash/ SjumpsCF=https://www.example.com/flash/
WAN 부트에서는 wanboot.conf 파일에 포함된 구성 정보를 사용하여 클라이언트 시스템을 설치합니다. 텍스트 편집기로 wanboot.conf 파일을 만듭니다. WAN 부트 서버의 /etc/netboot 계층 구조에 있는 해당하는 클라이언트 하위 디렉토리로 파일을 저장합니다.
wanclient-1의 다음 wanboot.conf 파일에는 보안 HTTP를 사용하는 WAN 설치를 위한 구성 정보가 포함되어 있습니다. 이 파일도 WAN 부트에서 HMAC SHA1 해싱 키와 3DES 암호 키를 사용하여 데이터를 보호하도록 지시합니다.
boot_file=/wanboot/wanboot.s10_sparc root_server=https://www.example.com/cgi-bin/wanboot-cgi root_file=/miniroot/miniroot.s10_sparc signature_type=sha1 encryption_type=3des server_authentication=yes client_authentication=no resolve_hosts= boot_logger= system_conf=sys-conf.s10–sparc
이 wanboot.conf 파일은 다음 구성을 지정합니다.
wanboot 프로그램의 이름은 wanboot.s10_sparc입니다. 이 프로그램은 wanserver-1의 문서 루트 디렉토리에 있는 wanboot 디렉토리에 있습니다.
wanserver-1에서 wanboot-cgi 프로그램의 위치는 https://www.example.com/cgi-bin/wanboot-cgi입니다. URL의 https 부분은 이 WAN 부트 설치에서 보안 HTTP를 사용함을 나타냅니다.
WAN 부트 미니루트의 이름은 miniroot.s10_sparc입니다. 미니루트는 wanserver-1의 문서 루트 디렉토리에 있는 miniroot 디렉토리에 있습니다.
wanboot 프로그램과 WAN 부트 파일 시스템은 HMAC SHA1 해싱 키를 사용하여 서명됩니다.
wanboot 프로그램과 WAN 부트 파일 시스템은 3DES 키를 사용하여 암호화됩니다.
설치 도중 서버가 인증됩니다.
설치 도중 클라이언트는 인증되지 않습니다.
(선택 사항) 클라이언트 인증용 개인 키 및 인증서 사용의 작업을 수행한 경우 이 매개 변수를 client_authentication=yes로 설정합니다.
WAN 설치를 수행하기 위해 추가 호스트 이름은 필요하지 않습니다. wanboot-cgi 프로그램에 필요한 모든 호스트 이름은 wanboot.conf 파일과 클라이언트 인증서에 지정되어 있습니다.
부트 및 설치 로그 메시지가 시스템 콘솔에 표시됩니다. (선택 사항) WAN 부트 서버를 로깅 서버로 구성의 로깅 서버를 구성했으며 또한 WAN 부트 서버에 WAN 부트 메시지를 표시하도록 하려면 이 매개 변수를 boot_logger=https://www.example.com/cgi-bin/bootlog-cgi로 설정합니다.
sysidcfg 및 JumpStart 파일의 위치를 지정하는 시스템 구성 파일은 wanserver-1의 /etc/netboot 계층에 있는 sys-conf.s10–sparc 파일에 있습니다.
이 예에서는 wanserver-1의 /etc/netboot/192.168.198.0/010003BA152A42 디렉토리에 wanboot.conf 파일을 저장합니다.
boot net를 사용하여 WAN에서 클라이언트를 부트하려면 net 장치 별칭을 클라이언트의 기본 네트워크 장치로 설정해야 합니다. 클라이언트 ok 프롬프트에서 devalias 명령을 입력하여 net 별칭이 기본 네트워크 장치 /pci@1f,0/pci@1,1/network@c,1로 설정되었는지 확인합니다.
ok devalias screen /pci@1f,0/pci@1,1/SUNW,m64B@2 net /pci@1f,0/pci@1,1/network@c,1 net2 /pci@1f,0/pci@1,1/network@5,1 disk /pci@1f,0/pci@1/scsi@8/disk@0,0 cdrom /pci@1f,0/pci@1,1/ide@d/cdrom@0,0:f keyboard /pci@1f,0/pci@1,1/ebus@1/su@14,3083f8 mouse /pci@1f,0/pci@1,1/ebus@1/su@14,3062f8 |
위 출력 예에서는 기본 네트워크 장치 /pci@1f,0/pci@1,1/network@c,1이 net 별칭에 지정됩니다. 별명을 재설정할 필요는 없습니다.
서버 및 클라이언트용 키 만들기에서 설치하는 동안 데이터를 보호할 해싱 키와 암호화 키를 만들었습니다. 클라이언트가 설치 도중 wanserver-1에서 전송된 데이터를 해독할 수 있게 하려면 wanclient-1에 이 키를 설치합니다.
wanserver-1에서 키 값을 표시합니다.
wanserver-1# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=sha1 b482aaab82cb8d5631e16d51478c90079cc1d463 wanserver-1# wanbootutil keygen -d -c -o net=192.168.198.0,cid=010003BA152A42,type=3des 9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04 |
위 예에서는 다음 정보를 사용합니다.
클라이언트 서브넷의 IP 주소를 지정합니다.
클라이언트의 ID를 지정합니다.
클라이언트의 HMAC SHA1 해싱 키 값을 지정합니다.
클라이언트의 3DES 암호 키 값을 지정합니다.
설치에 AES 암호화 키를 사용하는 경우에는 type=3des를 type=aes로 변경하여 암호화 키 값을 표시합니다.
wanclient-1의 ok 프롬프트에서 키를 설치합니다.
ok set-security-key wanboot-hmac-sha1 b482aaab82cb8d5631e16d51478c90079cc1d463 ok set-security-key wanboot-3des 9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04 |
위 명령으로 다음 작업을 수행합니다.
b482aaab82cb8d5631e16d51478c90079cc1d463 값을 가진 HMAC SHA1 해싱 키를 wanclient-1에 설치합니다.
9ebc7a57f240e97c9b9401e9d3ae9b292943d3c143d07f04 값을 가진 3DES 암호 키를 wanclient-1에 설치합니다.
ok 프롬프트에서 wanclient-1에 대한 네트워크 부트 인자 변수를 설정한 다음 클라이언트를 부트하여 무인 설치를 수행할 수 있습니다.
ok setenv network-boot-arguments host-ip=192.168.198.210, router-ip=192.168.198.1,subnet-mask=255.255.255.0,hostname=wanclient-1, file=http://192.168.198.2/cgi-bin/wanboot-cgi ok boot net - install Resetting ... Sun Blade 100 (UltraSPARC-IIe), No Keyboard Copyright 1998-2003 Sun Microsystems, Inc. All rights reserved. OpenBoot 4.x.build_28, 512 MB memory installed, Serial #50335475. Ethernet address 0:3:ba:e:f3:75, Host ID: 83000ef3. Rebooting with command: boot net - install Boot device: /pci@1f,0/network@c,1 File and args: - install <time unavailable> wanboot progress: wanbootfs: Read 68 of 68 kB (100%) <time unavailable> wanboot info: wanbootfs: Download complete Fri Jun 20 09:16:06 wanboot progress: miniroot: Read 166067 of 166067 kB (100%) Fri Jun 20Tue Apr 15 09:16:06 wanboot info: miniroot: Download complete SunOS Release 5.10 Version WANboot10:04/11/03 64-bit Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Configuring devices. |
다음 변수가 설정됩니다.
클라이언트 IP 주소는 192.168.198.210으로 설정됩니다.
클라이언트의 라우터 IP 주소는 192.168.198.1로 설정됩니다.
클라이언트의 서브넷 마스크는 255.255.255.0으로 설정됩니다.
클라이언트의 호스트 이름은 wanclient-1로 설정됩니다.
wanboot-cgi 프로그램은 http://192.168.198.2/cgi-bin/wanboot-cgi에 있습니다.
클라이언트는 WAN을 통해 설치합니다. wanboot 프로그램에서 필요한 설치 정보를 모두 찾지 못할 경우 명령줄에서 빠진 정보를 제공하라는 메시지가 표시될 수 있습니다.