Unix/Linux/Mac,  컴퓨터와 인터넷

rpcbind 2.1 설치 요약문

개요

rpcbind는 RPC program number를 universal address로 바꾸어주는 daemon이다. rpcbind 2.1은 그 daemon에 tcp_wrappers와 같은 wrap기능을 추가한 daemon이다.

rpcbind 2.1은 tcp_wrappers 스타일의 access control이 가능한 프로그램이며 이미 tcp_wrapper가 설치되어 있는 시스템에서는 설치가 더욱 용이하다.

rpcbind 2.1은 Sparc Solaris 2.4와 2.6에서 테스트되었다고 한다.

설치과정

  1. rpcbind 2.1 패키지를 받아서 디스크에 풀어놓는다.
  2. tcp_wrappers의 libwrap.a 아카이브가 필요하다. 그러므로 tcp_wrappers7.6 패키지를 받아서 컴파일한다. (이미 만들어져 있지는 않을 것 같으니 tcp_wrappers7.6을 컴파일하는 것은 별도의 문서를 참조한다.)
  3. 환경변수 설정
    setenv WRAP_DIR ~/work/tcp_wrappers-7.6

    위와 같이 tcp_wrappers가 컴파일되어 있는 디렉토리를 지정한다. 이것은 rcpbind를 컴파일할 때 필요하다.

  4. 컴파일
    make
  5. 원본 rpcbind를 복사해 놓습니다.
    sudo mv /usr/sbin/rpcbind /usr/sbin/rpcbind.orig
  6. 새로 만든 rpcbind를 rpcbind.wrap으로 복사합니다.
    sudo mv ~/work/rpcbind/rpcbind /usr/sbin/rpcbind.wrap
  7. 실제로 사용할 rpcbind의 링크를 만들어줍니다.
    sudo ln -sf /usr/sbin/rpcbind.wrap /usr/sbin/rpcbind
  8. /etc/init.d의 rpc를 편집하여 rpcbind가 실행될 때 -w 옵션을 가지도록 합니다.
  9. 실행
    /usr/sbin/rpcbind -w > /dev/console 2>&1

    이 -w 옵션은 warm start를 가능하게 하는 옵션으로, SIGINT나 SIGTERM의 시그널을 받았을 때, /tmp/portmap과 /tmp/rpcbind.file에 등록된 서비스의 리스트를 저장합니다. 새로 시작할 때에는 이 파일들을 참고하여 모든 서비스를 재시작하지 않도록 합니다.

  10. 중지
    sudo /etc/init.d/rpc stop
  11. 실행
    sudo /etc/init.d/rpc start
    이제 다시 실행되었습니다.

  12. /etc/hosts.allow, hosts.deny를 편집하여 rpcbind항목을 만들어줍니다. 다른 tcpd과 같은 정책으로 접근 제한을 설정합니다.

설정 파일의 예

/etc/hosts.allow파일에 rpcbind 항목을 추가한 예

rpcbind: 147.46.59.225 147.46.59.45 147.46.59.11
147.46.59.46 147.46.59.44 147.46.59.218
147.46.59.222 147.46.59.33 147.46.59.41
147.46.59.49 147.46.59.47 147.46.59.40
147.46.59.43 147.46.59.12 147.46.59.220
147.46.59.215 147.46.59.223 147.46.59.50
147.46.59.216 147.46.59.48 147.46.59.221

댓글 한 개

답글 남기기