질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

질문!~ 특정 포트를 사용하려는 데요..

작성자 정보

  • 이석민 작성
  • 작성일

컨텐츠 정보

본문

# uname -a
Linux ...co.kr 2.4.20-30.8.legacysmp #1 SMP Fri Feb 20 17:13:00 PST 2004 i686 i686 i386 GNU/Linux
---------
외부에서 특정 포트를 사용하여, 쉘스크립트등을 실행하려고 합니다.
 제가 주로 쓰는 방법은..
 1. /etc/services 에 사용할 포트를 설정후.. /etc/xinetd.d 에 /etc/services 에서 설정한 값으로 파일을 생성및 설정을 해줍니다.
 2. 설정을 마치면 service xinetd restart

.. 이렇게만 하면.. 설정한 포트를 사용할수 있었는데.. 뭐가 잘못 됬는지 열리지가 안네요..
3000 포트와 3001 포트를 동일하게 설정했는데.. 이상하게 3001 포트만 정상적으로 작동합니다.
다음은 제가 설정해준 내용입니다.

--------------------------------------------------------------------
# grep "300./tcp" /etc/services
pgmail          3000/tcp                        # PG mail send check.
check           3001/tcp                        # System Process, F/S, Health check

xinetd.d]# ls -l pgmail check
-rw-r--r--    1 root     root          206  8월 24 11:50 check
-rw-r--r--    1 root     root          203  8월 20 14:37 pgmail

xinetd.d]# more check pgmail
::::::::::::::
check
::::::::::::::
## system check_shell
## telnet localhost 3001

service check
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        protocol        = tcp
        server          = /staff/sysopr/check/check.sh
}
::::::::::::::
pgmail
::::::::::::::
## pg_sendmail
## telnet localhost 3000

service check
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        protocol        = tcp
        server          = /staff/sysopr/check/check.sh
}

# service xinetd restart
xinetd 를 정지함:                                          [  확인  ]
xinetd (을)를 시작합니다:                                  [  확인  ]

# telnet localhost 3001
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
......CHECK OK!~~~
Connection closed by foreign host.

# telnet localhost 3000
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused

--------------------------------------------------------------------

위에서 처럼 3000포트와 3001 포트를 똑같이 설정하였는데...
설정후 telnet localhost '포트넘버' 시.. 3001 포트만 정상적으로 작동됩니다.
/etc/hosts 관련..(deny 나 allow등) 을 확인했는데.. 이상한 부분은 없구요..

어떤 부분을 확인해봐야 하는지.. 고수님들의 조언 부탁드립니다.

.... 아 추가적인 질문으로..
체크쉘이나 혹은 외부에서 쉽게 서버의 특정 파일을 실행시킬때.. 위와 같은 방법을 종종 사용하는데요..
보안상 문제될만한 점이 있는지요?
혹은 위의 포트를 특정 ip 만 허가 하려면 /etc/hosts.allow 에만 등록해 주면 될까요??
네임서버로 사용중인 서버라 서비스에는 지장을 주지 않고, 3001포트 같이 임의로 사용할 포트에만 보안설정을 해주려면.. 어떤 방법이 좋을까요???

관련자료

댓글 1

박진서님의 댓글

  • 박진서
  • 작성일
부족한 개인적 소견이지만 etc/hosts.allow ,deny 에 등록시켜서 안될시 all로 다 풀어 설정해보시구요 그래도 안된다면 네트워크 윗단에 방화벽 장비가 잇으시다면 로그나 configure 포트를 보시면 어떨지요

공지사항


뉴스광장


  • 현재 회원수 :  60,138 명
  • 현재 강좌수 :  36,196 개
  • 현재 접속자 :  746 명