 |  |
|
난이도 : 초급 Adam Cormany, National Data Center Manager, Scientific Games Corporation
옮긴이: 박재호 이해영 dwkorea@kr.ibm.com
2008 년 9 월 09 일 인터넷은 전세계에 흩어진 수많은 사람을 위한 기술, 비즈니스, 일상 생활의 진보에 중요한 역할을 맡고 있습니다. 네트워크를 통한 통신을 위해 필요한 환경 설정과 인터넷 연결 작업은 관리자에게 중요한 일이 되었습니다. 이번 기사에서는 IBM® AIX®를 돌리는 서버를 환경 설정해서 인터넷을 사용하는 방법을 보여줍니다.
위키백과에 정의된 내용에 따르면, 인터넷은 범세계적이고 공개적으로 접근이 가능한 일련의 서로 연결된 컴퓨터 네트워크로 표준 IP(Internet Protocol)를 사용한 패킷 스위칭으로 자료를 전송한다. 인터넷은 어떤 의미에서 전 세계에서 가장 큰 네트워크이며, 전 지구를 여러 바퀴 감싼다.
인터넷과 웹은 똑같은 개념이 아니다. 물론 사람들은 두 용어를 종종 섞어 쓰기도 한다. WWW(웹)은 그림, 소리, 동영상 클립, 기타 인터넷을 통해 서로 연결되고 접근이 가능한 파일을 포함한 하이퍼텍스트 문서 집합이다.
인터넷과 웹의 가장 단순한 예는 케이블 모뎀을 사용해 ISP(Internet Service Provider)에 연결할 때다. 케이블을 통해 ISP 네트워크에 연결한 다음, 인터넷에 접속한 시점에서 웹을 사용한다고 말하기는 어렵다. 모질라 파이어폭스나 애플 사파리와 같은 웹 브라우저를 열어 웹 사이트에 접속할 때까지는 그냥 네트워크에 연결된 상황일 뿐이다.
TCP/IP와 네트워크 어댑터 환경 설정하기
AIX 운영체제를 동작하는 서버가 네트워크를 통해 통신하고 인터넷에 연결하려면, 네트워크 어댑터를 환경 설정하거나 시스템에 따라 다르지만 TCP/IP 설정을 위한 몇 가지 파일을 편집해야 한다. 하지만 IBM은 이런 작업을 SMIT(System Management Interface Tool) 내부에서 간단하게 조정하도록 만들었다.
네트워크 어댑터를 환경 설정하기 앞서, 우선 다음 정보를 문서로 남겨놓자.
- 네트워크 어댑터에 할당할 IP 주소
- 목표 서버의 호스트 이름
- 목표 서버가 구성원으로 참가할 도메인 이름
- 서브넷 마스크
- 네임 서버
- 게이트웨이 주소
AIX를 돌리는 서버에서 네트워크 어댑터를 환경 설정하려면, 다음 단계를 밟는다.
- 시스템에
root로 로그인하거나 su -로 루트로 변신하자.
- SMIT 프로그램을 시작해 Communications Applications and Services > TCP/IP > Minimum Configuration & Startup을 선택한다.
팁: SMIT에는 단축키와 지름길이 많으므로 필요한 메뉴나 작업을 잽싸게 수행할 수 있다. 이 경우에는 단순히 smitty mktcpip bypasses라고 입력하면 세 단계 메뉴를 거슬러 올라오면서 바로 접근이 가능하다.
- 그림 1에 나타난 목록 중에서 환경 설정을 원하는 네트워크 어댑터를 선택하고 엔터를 누른다. 이 예에서는 en2를 사용한다.
그림 1. 사용 가능한 네트워크 어댑터
원하는 네트워크 어댑터를 선택하고 나면, 새로운 윈도우가 떠서 네트워크 어댑터 환경 설정에 필요한 모든 설정 값을 출력한다.
- 직전에 문서로 남긴 정보를 보고 호스트 이름, IP 주소, 서브넷 마스크, 도메인 이름, 네임 서버 IP 주소, 기본 게이트웨이 주소를 입력하자. 변경 즉시 네트워크 어댑터를 시동하고 싶다면 그림 2처럼 START Now를 Yes로 바꾸자.
그림 2. 네트워크 어댑터를 위한 최소 환경 설정값
- 입력한 정보를 검토한 다음에 엔터를 누른다.
AIX는 변경을 요청하고 (아직 시작하지 않았을 경우) TCP/IP 데몬을 시작한다. 그림 3에서 TCP/IP 데몬은 이미 동작 중이라는 사실에 주의하자. en0과 en1이 이 AIX 시스템에서 이미 환경 설정이 되어 있기 때문이다.
그림 3. 네트워크 어댑터 변경 진행 중
- F10이나 Esc + 0을 눌러 SMIT에서 나오자.
DNS
DNS(Domain Name System) 서버는 다른 컴퓨터나 웹 사이트 위치나 도메인 이름을 IP 주소로 변환하는 작업을 맡는다. DNS가 없다면, 웹 브라우저에서 IP 주소를 직접 입력해야 한다. 예를 들어, DNS에 접근하지 못하는 상황에서 IBM 웹 사이트를 보고 싶다면 www.ibm.com 대신 129.42.18.103을 입력해야 한다. DNS는 네트워크에 연결된 다른 서버에 접속하는 작업은 물론 인터넷을 통한 웹 브라우징을 쉽게 만들었다. 129.42.18.103보다는 www.ibm.com을 기억하기가 훨씬 더 쉽지 않은가?
종종 서버에 할당된 IP 주소가 바뀌는 경우에 DNS를 사용할 경우 또 다른 장점이 있다. 예를 들어, 서버가 특정 위치에서 다른 위치로 이동이 일어날지도 모르고, 신형 장비로 교체될지도 모른다. 이런 이동은 장소 변경 이후에 종종 서버에 할당된 IP 주소 변경을 요구한다. 새로운 장소에서 네트워크 정책이 바뀌기 때문이다. 이런 상황이 벌어지면, 사용자 입장에서 예전 IP와 새 IP 주소가 무엇인지 기억하는 대신 서버 이름을 기억하는 편이 훨씬 쉽다. 서버 이동을 성공리에 마쳤다면, 사용자는 차이점을 결코 모를 것이다.
직전에 언급했듯이, 네트워크 어댑터를 설정할 때, 네임 서버 IP 주소 위치를 입력해야 한다. 이 서버는 주 DNS 서버다. 주소 탐색 과정에서 실패할 경우를 대비해 의존할 여러 DNS 서버를 두는 편이 현명하다. 여러 DNS 서버를 사용한다면, 서버가 IP나 호스트 이름을 교차 참조할 때, 첫 번째 DNS 서버가 정보를 제공하지 못하거나 사용이 불가능하면, 두 번째, 세 번째 서버로 요청을 계속 보낼 것이다.
다른 DNS 서버를 추가하려면, /etc/resolv.conf 파일을 수정해야 한다. Listing 1은 이런 파일 예를 보여준다.
Listing 1. /etc/resolv.conf 파일
domain ATC-DOMAIN.com
nameserver 10.20.30.23
nameserver 10.20.30.24
nameserver 10.20.30.25
search atc-domain2.com, atc-domain3.com, atc-domain4.com
options debug
|
다음에 이어지는 절은 Listing 1에서 사용한 각 매개변수 설명이다.
domain
domain 매개변수는 문자열이 .(점)으로 끝나지 않을 경우 문자열 끝에 <domain name>을 덧붙이도록 이름 결정 함수에 지시한다. 예를 들어, nslookup에서 입력한 문자열이 ibm이라면 실제 문자열은 ibm.ATC-DOMAIN.com이 된다.
domain 매개변수에 도메인이 포함되어 있지 않으면(다시 말해 ATC-AIX.ATC-DOMAIN.com 대신 ATC-AIX1을 사용하면), 현재 서버의 root 도메인을 가정한다.
주의: /etc/resolv.conf 파일에 쓸 수 있는 도메인 항목은 하나다.
nameserver
nameserver 매개변수는 IP 주소와 호스트 이름을 결정하기 위한 DNS 서버가 무엇인지를 서버에 알려준다. 이름 결정을 위해 적절하게 IP 주소를 결정할 때까지 /etc/resolv.conf에 기록된 개별 네임 서버에 계속 질의를 던진다.
주의: /etc/resolv.conf 파일에 사용되는 네임 서버 항목은 최대 세 개다.
search
search 매개변수는 IP 주소나 호스트 이름을 결정할 때 사용하는 도메인 목록을 제공한다. domain이나 search 항목은 하나만 사용 가능하다. domain을 사용하면 search는 domain 값이 될 것이다.
주의: 여러 도메인 이름을 search 옵션에 추가할 수 있지만, 1024자까지만 가능하다.
options
options 매개변수는 추가적인 디버깅 수단을 제공하며, lookup 함수를 원하는 방식대로 조절한다.
인터넷 연결을 테스트하기
이제 네트워크 어댑터를 환경 설정했고, /etc/resolv.conf를 원하는 대로 수정했으므로, 인터넷 연결을 테스트할 수 있다. 테스트에는 몇 가지 방법이 있으므로, 가장 기본적인 (그러면서도 유용한) 몇 가지 문제 해결 도구만 다루겠다.
ping 명령어
네트워크 어댑터를 올바르게 설정했는지 그리고 인터넷과 통신이 가능한지를 검토하는 가장 손쉬운 방법 중 하나는 IP 주소에 대한 ping 명령이다. ping 명령어는 서버와 네트워크가 목적지에 도달할 수 있는지를 검사하는 도구다. 기본적으로 ping은 ICMP(Internet Control Message Protocol) 패킷을 출발지 서버에서 목적지 서버로 보내, 목적지 서버에서 오는 응답을 받는다. 응답을 받으면 목적지 서버까지 연결이 가능한 상태다. ping 명령어 사용은 네트워크 상에 문제가 있는지, 서버 사이에 자료를 얼마나 빨리 전달하는지, 연결이 가능한지를 결정하는 간단하면서도 빠른 방법이다.
다음 예제는 Google.com의 IP 주소인 64.233.167.99에 연결이 가능한지를 확인한다.
ping 64.233.167.99
PING 64.233.167.99: (64.233.167.99): 56 data bytes
64 bytes from 64.233.167.99: icmp_seq=0 ttl=240 time=40 ms
64 bytes from 64.233.167.99: icmp_seq=1 ttl=240 time=41 ms
64 bytes from 64.233.167.99: icmp_seq=2 ttl=240 time=48 ms
64 bytes from 64.233.167.99: icmp_seq=3 ttl=240 time=40 ms
^C
----64.233.167.99 PING Statistics----
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 40/42/48 ms
|
하지만 종종 ping은 서버 연결을 확인하는 데 사용하는 유일한 도구가 되지 못하는 상황이 발생한다. 서버가 방화벽 뒤에 숨어서 ICMP 요청을 막아버릴지도 모르기 때문이다. 다음은 ICMP가 막혀 IBM.com의 IP 주소인 129.42.18.103로 연결이 이뤄지지 못하는 상황을 시물레이션하는 예를 보여준다.
ping 129.42.18.103
PING 129.42.18.103: (129.42.18.103): 56 data bytes
^C
----129.42.18.103 PING Statistics----
6 packets transmitted, 0 packets received, 100% packet loss
|
여기까지, IP 주소에 대해서만 ping 명령을 날렸다. 첫 번째 문제 해결 단계를 확인했다면, 이제 DNS에서 결정할 실제 호스트 이름으로 ping을 시도할 차례다.
ping google.com
PING google.com: (64.233.167.99): 56 data bytes
64 bytes from 64.233.167.99: icmp_seq=0 ttl=240 time=40 ms
64 bytes from 64.233.167.99: icmp_seq=1 ttl=240 time=43 ms
^C
----google.com PING Statistics----
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 40/41/43 ms
|
traceroute 명령어
첫 번째 시도에서 ping이 실패했음에도 불구하고, 반드시 이런 테스트 결과가 인터넷에 연결하지 못한다는 사실을 의미하지는 않는다. 다음 예는 ATC-AIX2로 통신하려고 시도할 때 실패한 ping 결과를 보여준다.
ping ATC-AIX2
PING ATC-AIX2: (10.20.90.41): 56 data bytes
^C
----10.20.90.41 PING Statistics----
6 packets transmitted, 0 packets received, 100% packet loss
|
여기에 traceroute 명령어를 사용한 동일 테스트 결과를 제시한다.
traceroute ATC-AIX2
traceroute to ATC-AIX2.ATC-DOMAIN.com (10.20.90.41) from ATC-AIX1.ATC-DOMAIN.com
(10.20.30.40), 30 hops max
outgoing MTU = 1500
1 10.20.30.254 (10.20.30.254) 8 ms 3 ms 3 ms
2 10.20.30.252 (10.20.30.252) 4 ms 4 ms 3 ms
3 19.16.15.240 (19.16.15.240) 5 ms 5 ms 5 ms
4 17.30.11.23 (17.30.11.23) 4 ms 5 ms 4 ms
5 10.20.90.252 (10.20.90.252) 4 ms 5 ms 4 ms
6 10.20.90.252 (10.20.90.254) 8 ms 5 ms 4 ms
7 10.20.90.41 (10.20.90.41) 8 ms 6 ms 5 ms
|
traceroute 명령어는 유용한 문제 해결 도구다. traceroute 결과가 실패를 나타낸다면, 서버나 네트워크 장비가 접근을 막고 있지 않은지 결과 항목을 살펴서 올바른 문제 해결 방향으로 유도해준다.
nslookup과 dig 명령어
ping과 traceroute 명령을 사용할 때, 호스트 이름을 주로 사용했음에 주목하자. 호스트 이름은 사용자 입장에서 편리하다. 어려운 IP 주소를 외울 필요가 없기 때문이다. DNS가 실제로 동작 중인지 결정하는 방법으로 네임 서버 탐색이나 nslookup 명령을 활용하자. nslookup은 호스트 이름과 관련있는 IP 주소는 물론이고 호스트 이름 정보를 제공한다. 이 명령은 사용자가 서버에 접속을 시도하지만 반응이 없을 때 문제점을 보고할 경우에 유용하다. 이런 상황에서 DNS 정보가 갱신되지 않았거나 옛날 주소를 사용할지도 모르는데, nslookup을 사용해서 현재 상황을 빠르게 검토할 수 있다.
다음 코드는 IBM.com에 부여된 IP 주소를 출력한다.
nslookup ibm.com
Server: ATC-AIX1.ATC-DOMAIN.com
Address: 10.20.30.40
Non-authoritative answer:
Name: ibm.com
Addresses: 129.42.17.103, 129.42.18.103, 129.42.16.103
|
nslookup과 비슷한 좀 더 새로운 프로그램은 dig이다. dig 명령어는 nslookup과 같은 정보를 제공하지만, 목표 시스템에 대해 DNS 설정 방식을 좀 더 완전한 모양새로 보여준다.
dig ibm.com
; <<>> DiG 9.2.0 <<>> ibm.com
;; global options: printcmd
;; Got answer:
;; -<<HEADER<<- opcode: QUERY, status: NOERROR, id: 16463
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 13, ADDITIONAL: 13
;; QUESTION SECTION:
;ibm.com. IN A
;; ANSWER SECTION:
ibm.com. 14740 IN A 129.42.16.103
ibm.com. 14740 IN A 129.42.17.103
ibm.com. 14740 IN A 129.42.18.103
;; AUTHORITY SECTION:
. 24402 IN NS I.ROOT-SERVERS.NET.
. 24402 IN NS G.ROOT-SERVERS.NET.
. 24402 IN NS C.ROOT-SERVERS.NET.
. 24402 IN NS F.ROOT-SERVERS.NET.
. 24402 IN NS M.ROOT-SERVERS.NET.
. 24402 IN NS E.ROOT-SERVERS.NET.
. 24402 IN NS L.ROOT-SERVERS.NET.
. 24402 IN NS D.ROOT-SERVERS.NET.
. 24402 IN NS J.ROOT-SERVERS.NET.
. 24402 IN NS H.ROOT-SERVERS.NET.
. 24402 IN NS A.ROOT-SERVERS.NET.
. 24402 IN NS B.ROOT-SERVERS.NET.
. 24402 IN NS K.ROOT-SERVERS.NET.
;; ADDITIONAL SECTION:
I.ROOT-SERVERS.NET. 31808 IN A 192.36.148.17
G.ROOT-SERVERS.NET. 2961 IN A 192.112.36.4
C.ROOT-SERVERS.NET. 36288 IN A 192.33.4.12
F.ROOT-SERVERS.NET. 40867 IN A 192.5.5.241
M.ROOT-SERVERS.NET. 15357 IN A 202.12.27.33
E.ROOT-SERVERS.NET. 26901 IN A 192.203.230.10
L.ROOT-SERVERS.NET. 21568 IN A 199.7.83.42
D.ROOT-SERVERS.NET. 9464 IN A 128.8.10.90
J.ROOT-SERVERS.NET. 35190 IN A 192.58.128.30
H.ROOT-SERVERS.NET. 7936 IN A 128.63.2.53
A.ROOT-SERVERS.NET. 35190 IN A 198.41.0.4
B.ROOT-SERVERS.NET. 29770 IN A 192.228.79.201
K.ROOT-SERVERS.NET. 16473 IN A 193.0.14.129
;; Query time: 3 msec
;; SERVER: 10.20.30.40#53(10.20.30.40)
;; WHEN: Wed Mar 12 17:02:32 2008
;; MSG SIZE rcvd: 492
|
웹에 연결하기
ping, traceroute, nslookup 명령어를 사용해서 성공적으로 인터넷 접속을 테스트하고 DNS 설정이 올바른지를 파악했다면, 웹에 접속할 차례다. 좋아하는 웹 브라우저를 열어 탐색을 원하는 URL을 입력하면(그림 4 참조) 끝난다. 인터넷에 연결해 웹을 보는 데 성공했다면 축하한다.
그림 4. 웹에 연결하기
결론
인터넷에 연결해 웹 사이트를 보는 작업은 AIX에서 아주 쉽다. IBM은 AIX와 네트워크 어댑터 환경 설정을 쉽게 만들었다. 단순히 네트워크 어댑터를 환경 설정한 다음에 유효한 DNS 서버에 연결하면, 바로 웹에 접속할 수 있다. 즐거운 웹 서핑!
참고자료 교육
제품 및 기술 얻기
- IBM 시험판 소프트웨어: 다음번 개발 프로젝트를 developerWorks에서 직접 내려받은 소프트웨어로 진행하자.
토론
필자소개  | |  | Adam Cormany는 현재 National Data Center의 관리자로 일하고 있다. Cormany는 유닉스 시스템 엔지니어, 유닉스 관리자, Scientific Games Corporation에서 운영 관리자를 맡아왔다. Cormany는 10년 넘게 솔라리스, 레드햇 리눅스 관리자는 물론이고 AIX도 광범위하게 다뤘다. Cormany는 pSeries® AIX 시스템 관리 분야에서 IBM eServer® 공인 전문가다. 관리 업무 이외에, Cormany는 배시, csh, ksh을 사용한 셸 스크립트와 C, PHP, 펄 프로그래밍에도 광범위한 지식을 습득했다. |
기사에 대한 평가
 |
| 이 문서 북마킹 하기
|
|  |