6  Unix networking 
     
    6.1 네트워킹 분야에서 자주 나오는 용어 
    ¶ 패킷의 구조 
     
 
     Destination address
     Source address
    Protocol type
     Variable-sized data area
     Error check sequence
 
    * Destination address 
    : 데이터가 전송되어야 할 마지막 목적지 주소를 의미한다 

    * Source address 
    : 데이터를 송신한 위치의 주소를 의미한다. 

    * Protocol type 
    : 사용하는 프로토콜을 의미하는데, TCP/IP를 사용한다면 이에 대한 패킷코드가 있을 것이다. 

    * Variable-sized data area 
    : 회선속도와 목적지의 시스템 전송속도가 일정하지 않을 때 데이터의 전송 율이 변하게 되는데 이때 데이터 크기가 변하게 된다. 이때 전송하고자 하는 데이터 외의 다른 어드레스나  프로토콜의 크기는 절대 변하지 않는다. 

    * Error check sequence 
    : 오류를 체크하여 수정하기 위한 보호코드가 붙어 있는 셈이다. 즉, 수신 측에서 에러체크  코드를 체크하여 전송오류를 체크해서 에러가 났을 때의 상황에 맞게 재전송을 요구한다든가 오류를 자체 수정하는 방법으로 조치를 취한다. 

    ¶ repeater 
     LAN의 상호연결에 사용되는 가장 간단한 장치이다. 리피터는 다른 통신망을 서로 연결시키 는데 이용되지 않는다. 리피터의 기능은 더 확장된 LAN을 형성하기 위하여 LAN segment들을  상호 접속하는 것에 제한된다. 그 목적은 신호를 받아서 그 신호를 재생하고 강하게 하는  것이다. 리피터가 이용될 때 그것은 같은 구조의 통신망에 연결해야 한다. 같은 프로토콜과  전송기술이 이용되어야 한다. 

    ¶ bridge 
     서로 다른 전송프로토콜을 지원하는 network들을 상호 접속할 수 있다. 두 LAN간의 bridge 는 두 network모두로부터 패킷을 받아 목적지를 확인하고 그 패킷들을 필요한 LAN에 전송한다. bridge는 통신 량을 분할하고 LAN이 어떤 한 위상의 물리적 한계를 넘어 LAN을 확장될   
    수 있게 한다. 패킷들은 재 전송되기 전에 bridge 시스템에 저장되기 때문에 bridge는  store-and-forward 기법을 구현하고 있다. 패킷들을 적절히 전송시키기 위해서 bridge는 두  network에서 사용되는 주소체계를 인식하고 있어야 한다. 

    ¶ router 
     패킷에게 송신노드로부터 중간 노드들을 거쳐 수신노드까지의 전송선로를 결정한다. 전송 선로상의 다음노드와 최종 수신 노드의 두 주소가 패킷에 첨부되어 함께 전송되어야 한다.   
    첫 번째 주소는 전송선로상의 노드마다 변하는 반면에 두 번 째 주소는 변하지 않는다.   
    router의 주요기능은 패킷을 보내야 할 다음 노드를 결정하는 것이다.  

    ¶ gateway 
     완전히 다른 구조로 구축되는 network들을 상호 접속하는데 이용된다. gateway는 한  network에서 다른 network로 패킷을 전송하기 위한 주소와 프로토콜의 변환을 수행한다.   
    gateway는 network 상호 통신에서 가장 유연성을 제공한다. 즉, 여러 기관들이 그들의 LAN 을 하나로 결합하여 WAN으로 연결시킬 수 있는 방편을 제공한다. 

    ¶ FDDI 
     Fiber Distributed Data Interface, 100Mbps지원. 광케이블망으로 구성된 인터페이스로서  고속 LAN 환경 하에서 많이 사용한다. 광케이블을 이용하기 때문에 빠른 속도와 근거리에서 디지털 방식으로 통신이 가능하다. 기존의 동케이블보다 용량측면이나 속도측면에서 월등히   
    우수하다. 

    ¶ ATM 
     Asynchoronous Transfer Mode, 음성, 데이터, 화상과 동화상 같은 모든 미디어를 작은 고정크기의 cell(packet)로 나누어 전송하는 고속 패킷 교환방식을 말하며, 이 방식을 이용한  ATM 교환기가 많이 사용되고 있다. 

    6.2 Interface Enable 

     SUN Solaris 2.x 시스템을 구입하면 기본적으로 LAN에 접속되지 않고 운영될 수 있는 환경 을 구입처에서 설정해준다. 그리고 나면 시스템을 구입한 운영자는 LAN에 시스템을 접속해  인터넷과 통신할 수 있게 해야한다.  
     LAN은 FDDI(매제 접속방식에 따른 분류), Token-Ring(망구성에 따른 분류), ethernet(게이트웨이에서 터미널까지)등이 있는데 많은 LAN형태는 ethernet이므로 ethernet에 접속하는  것을 중심으로 설명한다. 그리고 또한 일반대학교 전산망을 기반으로 하여 설명을 전개하도  
    록 한다. T1급의 회선결합속도로 물려있긴 해도 초당 1.544Mbps 정도밖에 안되어 낮동안처럼 많은 사용자들이 발생할 경우 트래픽이 심해져서 패킷의 크기가 줄게되어 속도저하 현상 을 가져온다. 이러한 문제점을 해결하려면 고속의 회선기술도 중요하지만 전송프로토콜의  영향도 적잖이 미친다. 만약에 중간에 에러가 발생했을 때에 그 에러처리를 어떻게 하느냐 에 따라 재전송 요구를 할 수도 있으며, 자체 수정도 할 수 있을 것이다. 만약 에러처리를  재전송요구로서 처리한다면 트래픽은 더욱 심해질 것이다.  
     우선 운영자는 시스템에 ethernet interface card가 준비되어 있는지 확인한다. 하지만  SUN호환기종인 Workstation을 사용하는 경우에는 보드에 Network 칩셋(보통 Ethernet Chip 이라 함)이 내장되어 있으므로 상관없다. LAN에 HUB가 있다면 UTP port(10baseT)가, Thin   
    cable (10base2)만 있다면 BNC port(둥근 형태의 포트)가, Thick Cable (10base5)만 있다면  AUI port가 card port에서 제공되어야 한다. 가장 많이 사용하는 10baseT의 연결부 생김새 는 다음과 같다. 

    시스템을 LAN에 접속한 후 운영자는 다음과 같이 2개의 logical interface가 시스템에 설정되어 있는지 확인을 해야만 한다. 방법은 다음과 같다. 이 때 사용하는 shell은 SUN shell 일 때 적용된다.  
     

 
    root# ifconfig -a   

         lo0: flags=849 <UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232   
                 inet 127.0.0.1 netmask ff000000  
         le0: flags=863 <UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu  1500  
                 inet 203.246.109.69 netmask ffffff00 broadcast 203.246.109.255  

         root# 
     

 
    위에서 lo0는 local loopback이라는 것으로 시스템 자신을 의미하고, le0는 ethernet interface card가 접속되어 있음을 의미한다. 운영자가 시스템을 ethernet에 막 접속했다면 le0의 UP이 UP이 아니고 DOWN이라고 표시되어 있을 수 있으며 inet, netmask, broadcast address가 위와 다를 수 있다. 운영자는 우선 ethernet interface card를 enable 시켜 주어야 하는데 그 방법은 간단하다. 그러나 우선 시스템에 공인된 IP address중 어떤 것을 할당할 것인지 그리고 network을 어떻게 subnetting해야 할지 설계해야 한다.  
    subnetting 하는 방법은 다음을 참고한다.  

    6.3 IP address subnetting 

     시스템이 속한 네트웍 환경에 따라 설정을 다르게 해야하는데, 여기에는 class 개념이 적용된다. C class IP address인 203.246.109.0을 할당받았고, subnetting을 하지 않기로 했다면 다음과 같이 입력해주면 (시스템의 문제가 없다면) logical ethernet interface는  enable 된다. 시스템의 IP address는 203.246.109.69를 할당하기로 결정하였다고 하자. 
     

 
    root# ifconfig le0 203.246.109.69 netmask 255.255.255.0 broadcast 203.246.109.255 up   
    root# ifconfig -a   

         lo0: flags=849 <UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232   
                 inet 127.0.0.1 netmask ff000000  
         le0: flags=863 <UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500  
                 inet 203.246.109.69 netmask ffff0000 broadcast 203.246.109.255  

         root# 
     

 
    logical ethernet interface 가 enable 되었는지 확인하는 확실한 방법은 ping 명령어를 입력했을 때 alive라는 응답이 나오면 된다.  
     
 
    root# ping 203.246.109.69   

         203.246.109.69 is alive  

         root# 
     

 
    라우터까지 통신가능상태 점검 서버시스템이 라우터를 통해 인터넷과 통신가능하려면 시스템에서 나온 데이터가 라우터까지 전달될 수 있어야 한다. 라우터가 서버시스템과 동일한 network address(203.246.109.0)에 접속되어 있고 그것의 IP address가 203.246.109.69라면 ping 시험을 하였을 때 결과가 alive가 나와야 한다.  
     
 
    root# ping 203.246.109.69   

         203.246.109.69 is alive  

         root# 
     

 
    만약 alive라는 명령어가 나오지 않으면 다음과 같이 상태를 검사한다  
     
 
    root# netstat -nr   

         Routing Table:  
           Destination           Gateway           Flags  Ref   Use   Interface  
      --------------------------------------------------------------------------------  
         127.0.0.1            127.0.0.1             UH       0  10020  lo0  
         203.246.109.0        203.246.109.69        U        4   1520   le0  

         root#  
     

 
    위와 같이 되어 있는데도 ping에서 alive 응답이 나오지 않으면 라우터의 접속이 잘못되어 있거나 LAN cable 혹은 HUB의 문제일 수 있다.   
     ping 시험결과 alive라는 응답이 나오면 시스템접속은 거의 다 완료한 셈이다. 그러나 완전히 끝난 것은 아니다. 이를 응용하여 사용할 수 있는 서비스 접속이 이루어져야 한다. 이 부분은 다음에 계속 나오게 된다. 

    6.4 라우팅프로그램 Disable & Enable 

     서버시스템이 경우에 따라 라우터 역할을 하게 되는 경우가 있다. 그러나 서버시스템이 라우터역할을 하는 경우는 드물며, 권장하고 싶지 않다. 다음은 서버시스템이 라우터 역할을  하지 않은 경우에 라우팅프로그램을 Disable 하는 예이다. 굳이 서버시스템의 라우팅프로그램을 Disable해야하는 것은 아니지만 일반적인 상황에서는 라우팅프로그램이 불필요하며,  Disable하는 것이 시스템성능에도 좋은 결과를 미친다.   
     Sun 시스템이 제공될 때 대개 라우팅프로그램이 Enable 되어 있다. 라우팅프로그램이  Enable된 상황은 다음과 같이 검사할 수 있다.  
     

 
    root# cd /etc/rc2.d   
         root# grep routed *   

         S69inet:# Run routed/router discovery only if we don't already have a default  
         S69inet:                # Machine is a router: turn on ip_forwarding, run   
        routed  
         S69inet:                if [ -f /usr/sbin/in.routed ]; then  
         S69inet:                       /usr/sbin/in.routed -s  
         S69inet:                # run routed in space-saving mode.  
         S69inet:                elif [  -f /usr/sbin/in.routed ]; then  
         S69inet:                       /usr/sbin/in.routed -q;  

         root#  
     

 
    라우팅프로그램의 설정은 vi editor등의 편집기로 들어가 다음과 같이 #을 이용하여 remark하면 된다.  
     
 
    root# cd /etc/rc2.d   
         root# grep routed *   

         S69inet:# Run routed/router discovery only if we don't already have a default  
         S69inet:                # Machine is a router: turn on ip_forwarding, run   
        routed  
         S69inet:                #if [ -f /usr/sbin/in.routed ]; then  
         S69inet:                #       /usr/sbin/in.routed -s  
         S69inet:                # run routed in space-saving mode.  
         S69inet:                #elif [  -f /usr/sbin/in.routed ]; then  
         S69inet:                #       /usr/sbin/in.routed -q;  

         root# 
     

 
    6.5 Enable Default Route 

     라우터 Setup에서 언급했지만 시스템이 인터넷상에 있는 모든 시스템을 어떻게 도달할지  알 수는 없다. 왜냐하면 목적지 주소를 가지고서 현재시점에서는 라우터에서 다음의 라우터 까지의 경로밖에 예측을 못하기 때문에 각각의 라우터의 네트워크 상태에 따라서 경로가 바  
    뀔 수 있다. 그래서 정확한 경로예측을 하기가 어렵다. 그런 경우 시스템은 자신이 모르는  시스템경로는 자기보다 많이 아는 시스템에게 던져주어 전달될 수 있도록 한다. 이 경우 자신보다 많이 아는 시스템으로의 경로를 default route라고 한다. 서버 시스템에서도 이  default route를 enable 시켜주어야 한다. 그렇지 않으면 시스템과 같은 network address에  접속되어 있는 시스템밖에 도달하지 못한다. 대개 라우터의 IP address를 default route로  선정한다. default route를 enable 시키는 방법은 다음과 같다.  
     

 
    root# route add default 203.246.109.69   
         root# netstat -nr   

         Routing Table:  
          Destination         Gateway          Flags     Ref  Use  Interface  
         -----------------------------------------------------------------  
         127.0.0.1            127.0.0.1             UH       0  10020  lo0  
         203.246.109.0        203.246.109.69         U        4   1520  le0  
         default             203.246.109.1          UG       0   

         root# 
     

 
    라우터의 Setup이 제대로 되었다면 다음과 같이 할 경우 203.246.109.69 에 대한 ping 시험결과 응답이 alive가 나와야 한다. 
     
 
     root# ping 203.246.109.69   

               203.246.109.69 is alive   

         root# 
     

 
    6.6 Domain Name Service 

    인터넷에는 수많은 시스템들이 접속되어 있으며, 각 시스템들마다 IP address와 간단한 이름을 지니고 있다. 사람들은 원하는 시스템에 접속하기 위해서는 전화번호와 같이 그 시스템 IP address를 기억해야만 한다. 그런데 IP address는 전화번호보다 길어 외우기가 쉽지 않다. 그런데 시스템이름은 기억하기 쉽다. 따라서 시스템이름(domain name)을 입력하면 그 것의 IP address를 알려주는 기능이 Domain Name Service이다. Solaris의 경우는  /etc/hosts라는 파일에 있는 도메인 서비스 라인을 참조하게 된다. 아래의 예는 개념적인  기술이다. 
     

 
    Domain Name Service의 개념  
    1. 개념  system-name           host-name                   system IP Address  
    2. 실례  comsys.sunchon.ac.kr    comsys                      203.246.109.69 
     
 
    6.7 Domain Name Client Setup 

     아래의 표에는 comsys에 있는 hosts를 출력한 내용이다. 
     

 
    pctop@comsys[/etc] :2 # cat hosts   
    # Internet host table  
    127.0.0.1       localhost  
    203.246.109.69  comsys.sunchon.ac.kr    comsys  loghost  
    202.30.44.11    sunchon  
    168.131.33.5    chonnam.chonnam.ac.kr   chonnam  
    147.47.1.1      ns 
     
 
    domain name과 host의 이름이 결합하여 최종적인 system name을 만들게 되는데 sunchon.ac.kr은 sunchon Network의 domain name이고 comsys.sunchon.ac.kr에서 comsys는 sunchon.ac.kr의 domain안에 있는 comsys host이다. 여기서 kr은 한국, ac는 대학, sunchon은 순천대, comsys는 comsys(통신시스템 연구실)을 의미한다. 그리고 이러한 domain name을 서비스하는 서버를 DNS(Domain Name Server)라 부른다. 순천대학교의 DNS는 sunchon.sunchon.ac.kr로 보통 사용하고 있다. 하지만 comsys 서버가 더 많은 domain정보를 가지고 있거나 comsys 서버가 한국전산원(http://www.nca.or.kr)에 domain name service를 등록해 놓은 상태라면 comsys.sunchon.ac.kr을 DNS로 설정해 놓고 써도 무방하다. 그러므로 자신만의 DNS도 구축할 수 있다는 의미이다.  
     하지만 comsys가 sunchon network에서 dns가 아닌 경우 실제 dns를 이용하고자 할 때에는  /etc/nsswitch.conf를 수정해 주어야 한다.  
     아래에서는 수정할 부분을 제시한다  
     
 
    1  #  
         2  # /etc/nsswitch.files:  
         3  #  
         4  passwd:     files  
         5  group:      files  
         6  hosts:      files dns  
         7  networks:   files  
         8  protocols:  files  
         9  rpc:        files  
        10  ethers:     files  
        11  netmasks:   files  
        12  bootparams: files  
        13  publickey:  files 
     
 
    위의 표에서 12행에 있는 마지막 files dns 가 수정한 부분이다. 만약 UNIX설치시에 NIS+, NIS, DNS를 설정하는 부분에서 DNS를 정해주지 않으면 /etc/hosts 파일만 참조하여 name service를 받을 수밖에 없다. 그래서 12행의 부분을 위와 같이 바꾸어 주면 /etc/resolv.conf가 활성화되어 name service를 받을 수 있게 된다. 파일이 없다면 만들어 주어야 한다.  
     domain name client는 comsys.sunchon.ac.kr과 같은 시스템이름이 입력되었을 때, 그것의  IP address를 알려달라고 요청하는 기능으로 Sun Solaris 2.x에서는 /etc/resolv.conf만 다음과 같이 수정해 놓으면 된다.  
     
 
    root# more /etc/resolv.conf   

         domain sunchon.ac.kr  
         nameserver 202.30.44.11  

         root# 
     

 
    위에서 domain이 sunchon.ac.kr이라 설정되어 있는데, 이것을 해당업체의 domain name으로 입력해 놓으면 된다.  
     그리고 nameserver는 202.30.44.11로 되어 있는데, 해당업체에 name server가 있다면 그  name server의 IP address(순천대의 경우는 202.30.44.11)를 입력해 놓으면 되고, 없다면  다른 외부의 name server IP address를 입력해 놓으면 된다. comsys 서버의 경우는  168.131.33.5와 147.47.1.1까지 네임서버를 추가시켜 놓았다.   
    가령 abc사가 domain name으로 abc.co.kr이고 abc사의 name server가 203.252.3.2라면 다음 과 같이 입력해 놓아도 된다. 
     
 
    root# more /etc/resolv.conf   

         domain abc.co.kr  
         nameserver 203.252.3.2  
         nameserver 164.124.101.2  

         root# 
     

 
    자신의 name server가 있는데도 nameserver 164.124.101.2를 입력해 놓은 것은 name server 203.252.3.2가 down되었을 때를 대비한 것이다. 그러므로 name server를 여러개 해놓은 것이 바람직하다. 하지만 순천대학교처럼 전남대와의 단일경로만 택하고 있는 경우는 전남대의 서버가 down되면 name server를 여러개 참조하여도 필요 없는 행위가 될 것이다.  

    6.8 Mail Server의 설치 

     대부분의 UNIX시스템에서는 sendmail이라는 인터넷 메일서버 프로그램이 기본으로 내장되  
    어 있으므로 이것을 사용하면 쉽게 Mail Server를 구축할 수 있다. 그러나 이 경우 대개가  한글메일 전송이 지원되지 않기 때문에 사용에 불편을 감수해야 한다. 여기서는 현재 국내에서 가장 많이 사용되고 있는 sendmail.8.6.12h2의 설치에 대해서 알아보도록 하자.  
    어디서 가져오는가 하면 ftp://ftp.dacom.co.kr/pub/hangul/mail/Official/sendmail.8.6.12h2.tar.Z   
    ftp://ftp.dacom.co.kr/pub/hangul/mail/cf/sendmail.cf.os-type를 참조하여 자신의 작  
    업디렉토리로 가져온 후 압축을 다음과 같이 풀면된다. 
     

 
    # uncompress sendmail.8.6.12h2.tar.Z   
     # tar xvf sendmail.8.6.12h2.tar  
     
 
    압축이 풀리면 sendmail.8.6.12h2라는 디렉토리가 생기며 이곳에서 컴파일을 하면 된다.  
    # cd sendmail.8.6.12h2 

    6.8.1 Sendmail의 컴파일 

     먼저 컴파일할 시스템의 타입에 따라 Makefile을 선택하여 컴파일 한다. 여기서는 Sun시스 템의 Solaris2.4환경을 기준으로 설명한다.  
    # cd src 
    우선 몇 가지 수정을 한 후에 make를 수행한다 
    # cp sysexits.h /usr/ucbinclude/sysexits.h 
    위와 같이 파일을 복사하고, Makefile.SunOS.5.x파일에서 다음과 같이 comment처리를 한다 
     

 
      
    #> ln -s /usr/ucbinclude/sysexits.h   
    ==> #ln -s /usr/ucbinclude/sysexits.h  

    ${NROFF} -mandoc aliases.5 > aliases.0  
    ==> ${ NROFF} -man aliases.5 > aliases.0  

    ${NROFF} -mandoc mailq.1 > mailq.0  
    ==> ${ NROFF} -man mailq.1 > mailq.0   

    ${NROFF} -mandoc newaliases.1 > newaliases.0  
    ==> ${ NROFF} -man newaliases.1 > newaliases.0  

    ${NROFF} -mandoc sendmail.8 > sendmail.0  
    ==> ${ NROFF} -man sendmail.8 > sendmail.0   
    위와 같이 변경한 후에 make를 실행한다. make 하는 방법은 아래와 같다  
    #> make -f Makefile.SunOS.5.x   
     

 
    6.8.2 Sendmail의 Install  

     설치를 하기전에 시스템에서 제공하는 sendmail을 따로 보관한다.  
    # which sendmail  
         /usr/lib/sendmail  
     # cp /usr/lib/sendmail /usr/lib/sendmail.org 
    그리고 컴파일된 sendmail을 설치한다. 
    # cp ./sendmail /usr/lib/sendmail  
     # chmod 555 /usr/lib/sendmail  
     # chown root /usr/lib/sendmail  
     # chgrp sys /usr/lib/sendmail  
    6.8.3 Sendmail Configuration 

     sendmail.cf화일은 ftp://ftp.dacom.co.kr/pub/hangul/mail/cf 디렉토리에서 자신의 시스 
    템 타입에 맞는 파일을 가져온다.  
     여기서는 Solaris2.4를 사용하므로 sendmail.cf.sparc-sun-solaris2.3을 이용하여 설치해 
    보자. 
    우선 기존의 sendmail.cf 를 다른 이름으로 복사를 하고 설치한다.  
     

 
    # cp /etc/mail/sendmail /etc/mail/sendmail.cf.org   
     # cp sendmail.cf.sparc-sun-solaris2.3 /etc/mail/sendmail.cf  
     
 
    그리고 sendmail.cf화일의 내용을 자신의 시스템에 맞도록 수정을 한다. 특별히 수정을 하지 않아도 메일을 바로 사용할 수 있으나 몇 가지 기능을 추가 할 경우 아래와 같이 수정한다.   
    - 만일 도메인명으로 메일을 받으려면 다음과 같이 수정한다.  
     
 
    Cwlocalhost    ===>   Cwlocalhost  
                           Cwsunchon.ac.kr  
                           Cwabc.ac.kr  
     
 
    위와 같이 변경하면 현재의 호스트명으로 메일을 받을 수도 있고, sunchon.ac.kr, abc.ac.kr로도 메일을 받을 수 있다. 물론 도메인으로 메일을 받을 경우에는 네임서버에 MX 레코드에 등록이 되어 있어야 한다.  
    - 메일을 보낼때 자신의 호스트 네임이 아니라 다른 이름으로 보낼 경우에는 다음과 같이  수정한다.  
     DM ===> DMabc.ac.kr   
    위와 같이 하면 메일을 보낼때 id@abc.ac.kr이라는 송신자 주소로 메일이 발송된다.  

    6.8.4 Sendmail의 실행  

     sendmail구동은 루트권한으로 다음과 같이 실행하면 된다. 
    # /usr/lib/sendmail -bd -q1h 

    6.8.5 POP Server의 설치 

     Netscape, Eudora와 같은 프로그램을 통해 메일을 사용하기 위해서는 메일서버에 POP서버 가 설치되어 있어야한다. POP 서버라는 것은 서버에 자신의 아이디와 패스워드만 알면 텔넷 으로 로그인하지 않고서도 메일만 체크할 수 있는 기능을 갖고 있다. 그리고 설정에서 읽은  메일은 지울 수도 아니면 그대로 둘 수도 있다.  
     ftp://ftp.dacom.co.kr/pub/server/pop/qpop2.1.4-r3.tar.Z 를 다운로드 받는다.   
    다음과 같이 압축을 풀고 컴파일을 한다.  
     

 
    # uncompress qpop2.1.4-r3.tar.Z   
     # tar xvf qpop2.1.4-r3.tar   
     # cd qpopper2.1.4   
     # make solaris2   => 자신의 OS에 맞는 것을 선택한다.  
     
 
    popper.solaris2파일이 생성되었는지 확인하고 설치를 한다. 
    # cp popper.solaris2 /usr/sbin/popper 
    /etc/services파일에 다음과 같이 추가한다 
    pop3 110/tcp #Post Office  
    /etc/inetd.conf파일에도 다음과 같이 추가한다. 
    pop3 stream tcp nowait root /usr/sbin/popper popper -s  
    inetd.conf를 수정하였으므로 inetd damon을 restart시켜야한다. # ps -ef | grep inetd  로 프로세스 ID를 알아내고 # kill -1 프로세스ID   로 처리한 후 시스템을 restart 시킨다.  

    6.8.6 POP3의 테스트 

     POP 서버가 정상적으로 동작하는지 netscape혹은 eudora로 테스트를 해본다. 아니면 아래   
    와 같이 간단하게 테스트 할 수 있다.  
     

 
    # telnet localhost 110   
     # telnet localhost 110   
     Trying 127.0.0.1  
     Connected to localhost  
     Escape character is '^]'.  
     +OK QUALCOMM Pop server derived from UCB (version 2.1.4-R3) at   
     comsys.sunchon.ac.kr  starting. 
     
 
    위와 같이 연결이 되면 정상적으로 POP 서버가 동작하는 것이다.  


[ HOME ][ PREV ][ NEXT ]