참조 : http://sung487.blog.me/10095948004


/etc/services 파일과 정적 포트 번호 할당

 

정적 할당 : /etc/services 파일 참조한다

/etc/services ( /etc/inet/services 의 심볼릭 링크 ) : 이미 알려진 포트 번호에 대한 정의.

< 파일 내용이 상당히 많기 때문에 20줄만 출력 >

 

동적 할당 : RPC(Remote Procedure Call)를 사용하여 포트번호 할당

동적으로 할당하기 위해 rpcbind 데몬이 돌고 있어야 한다.

rpcbind 데몬은 111번 포트를 사용하고, 이를 이용해 요청할 서비스를 위해 포트번호 할당을 요구한다.

rpcbind 데몬은 요청을 받으면 사용하지 않는 포트번호를 RPC로 요청하여 포트번호를 받고,

그 번호를 다시 요청받은 서비스에게 할당한다.

rpc를 사용할 때 이미 정해진 포트번호를 사용할 경우 /etc/rpc 파일을 읽어들이므로 이 파일에 편집하면 된다.

쉽게 말해 /etc/rpc 파일을 수정하면 원하는 서비스를 원하는 포트번호로 동적 할당 할수 있다는 뜻.

(필드1 : 서비스명 필드2 : 포트번호 필드3 : 별칭)

< 파일을 출력 >


/etc/inetd.conf 

외부에서 서비스 요청이 있을 때 해당 서비스 요청을 처리하기 위해 실행할 프로그램에 대한 정보가 있다.

< /etc/inetd.conf 파일 >

/etc/inet/inetd.conf 의 링크파일이다.

/etc/inet/inetd.conf 이 파일은 루트만 사용이 가능한 권한임.

 

inetd 데몬이 실행될 때 이 파일을 읽어 요청에 따라 해당 프로그램을 실행한다.

 

서비스, 소켓 종류, 프로토콜 종류, 플래그 권한, 실행 권한, 프로세스 경로명, 아규먼트 의 순서로 필드가 구성되어 있다.

 

중요한 점이 있는데 wait 플래그가 그점이다.

wait 플래그

wait 플래그가 명시된 경우는 오직 한 서비스 요청만 처리한다.

따라서 해당 서비스 요청이 다 처리될 때까지 대기해야한다.

 

nowait 으로 명시된 경우는 여러개의 서비스 요청을 처리할 수 있어서 대기할 필요가 없다.

 

실행 권한

포트번호가 1025 이하인 경우에는 반드시 root 사용자의 권한이 필요하다.

Posted by linuxism
,