본문으로 바로가기

xinetd 방식과 standalone 방식

category Linux/Linux Network 2017. 9. 6. 21:03
  • 서비스 방법의 종류
- standalone  방식
데몬이 떠 있으면서 서비스하는 방식
서비스 요청이 많을때 ( WEB, MAIL ...)
서비스 요청이 적은 것임에도 standalone 이면 사용하지 않을때도 메모리, cpu 자리를 차지하고있음, -> 비효율

- xinetd 방식
데몬이 떠 있지 않으면서 xinetd 데몬에 서비스 요청을 하면 띄워주는 방식

서비스 요청이 작을때 ( telnet ... ) 

xinetd 를 거쳐서 서비스 하기 때문에 서비스 요청이 많으면 속도가 느려짐


-> standalone 방식과 xinetd 방식을 변경할 수 있음


[참고] 서비스 제어 툴

# ntsysv # setup

# system-config-services # serviceconf

# chkconfig httpd on


어떤 방식인지 확인하는 방법

# chkconfig --list 

 

 ....중략...... /* standalone 방식 */

avahi-daemon    0:해제  1:해제  2:해제  3:활성  4:활성  5:활성  6:해제

avahi-dnsconfd  0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제

bluetooth       0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제

capi            0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제

conman          0:해제  1:해제  2:해제  3:해제  4:해제  5:해제  6:해제

cpuspeed        0:해제  1:활성  2:활성  3:활성  4:활성  5:활성  6:해제

crond           0:해제  1:해제  2:활성  3:활성  4:활성  5:활성  6:해제

..... 중략 ....... /* xinetd 방식 */
xinetd 기반의 서비스:
        chargen-dgram:  해제
        chargen-stream: 해제
        daytime-dgram:  해제
        daytime-stream: 해제
        discard-dgram:  해제
        discard-stream: 해제
        echo-dgram:     해제
        echo-stream:    해제
..... 중략 .......

 


데몬 확인

# pgrep -lf <데몬>

  • xinetd
[ xinetd 서비스 예] telnet
- 서비스 오픈
# chkconfig krb5-telnet on ( # vi /etc/xinetd.d/krb5-telnet )
# service xinetd restart

[참고] root 사용자로 telnet 접속
# vi /etc/securetty 
....
pts/1
pts/2
....
pts/11
# telnet localhost 
root 사용자로 로그인
# exit 

-xinetd 데몬에 대해서 
# pgrep -lf xinetd
->  출력이 되는걸 보니 xinetd 데몬은 standalone 방식의 서비스이다.

# vi /etc/xinetd.conf

 

 #

# This is the master xinetd configuration file. Settings in the

# default section will be inherited by all service configurations

# unless explicitly overridden in the service configuration. See

# xinetd.conf in the man pages for a more detailed explanation of

# these attributes.


defaults

{

# The next two items are intended to be a quick access place to

# temporarily enable or disable services.

#

#       enabled         =

#       disabled        =


# Define general logging characteristics.

        log_type        = SYSLOG daemon info 

        log_on_failure  = HOST

        log_on_success  = PID HOST DURATION EXIT


# Define access restriction defaults

#

#       no_access       =

#       only_from       =

#       max_load        = 0

        cps             = 50 10

        instances       = 50

        per_source      = 10


# Address and networking defaults

#

#       bind            =

#       mdns            = yes

        v6only          = no


# setup environmental attributes

#

#       passenv         =

        groups          = yes

        umask           = 002


# Generally, banners are not used. This sets up their global defaults

#

#       banner          =

#       banner_fail     =

#       banner_success  =

}


includedir /etc/xinetd.d

 

-> /etc/xinetd.conf 파일은 /etc/xinetd.d 디렉토리를 포함하고 있다. 


# cd /etc/xinetd.d

# cat krb5-telnet

 

 # default: off

# description: The kerberized telnet server accepts normal telnet sessions, \

#              but can also use Kerberos 5 authentication.

service telnet

{

        flags           = REUSE

        socket_type     = stream        

        wait            = no /* yes 하면 한명씩만 사용가능 */

        user            = root

        server          = /usr/kerberos/sbin/telnetd

        log_on_failure  += USERID /* 로그인 실패시 저장되는 부분에 사용자 아이디도 저장*/

        disable         = no /* yes 하면 연결이 안됨 */

}

 


# chkconfig krb5-telnet off

-> /etc/xinetd.d/krb5-telnet 의 disable = yes 로 변경


# service xinetd restart 

-> telnet 서비스가 xinetd 서비스에 포함되어있기 때문에 telnet서비스를 하기위해 xinetd 를 재실행한다.


  • standalone 
# cd /etc/rc5.d    /* runlevel 5 으로 실행중이기 때문에 */
# ls *sshd*
S##sshd    /* 부팅시 자동 실행 */


# chkconfig sshd off

# ls *sshd*

K##sshd    /* 부팅시 실행 안함 */


# service sshd rsstart


  • xinetd / standalone
xinetd  서비스
# chkconfig krb5-telnet on     -> # vi /etc/xinetd.d/krb5-telnet ( disable = no )
# service xinetd restart

standalone 서비스
# chkconfig sshd on                -> # mv /etc/rc5.d/K25sshd /etc/rc5.d/S55sshd
# service sshd restart                -> # /etc/init.d/sshd restart


'Linux > Linux Network' 카테고리의 다른 글

WEB Server ( Apache )  (0) 2017.09.11
DNS_2 ( Master DNS / Slave DNS )  (0) 2017.09.11
DNS_1 ( 도메인 부하분산, 도메인 위임 )  (0) 2017.09.08
이더채널 본딩 ( Ether Channel Bonding )  (0) 2017.09.07
네트워크 설정  (0) 2017.09.07