큐브리드 시스템은 데이터베이스 서버, 브로커, 큐브리드 매니저로 구성되어 있으며, 방화벽 설정 시 열려있어야 하는 port 번호는 아래와 같다,
1, 데이터베이스 서버
- cub_master: 마스터 프로세스는 클라이언트 프로세스가 서버 프로세스에 접속하여 통신할 수 있게 하는 중계 프로세스로서, 호스트별로 한 개씩 동작한다, TCP/IP 사용 port 1523(default)이며, Parameter CUBRID/conf/cubrid.comf/cubrid_port_id=1523값을 수정하여 port를 변경할 수 있다.
- cub_server: 데이터베이스 서버로 데이터베이스별로 한 개의 서버 프로세스가 존재한다. 외부 클라이언트 프로세스와 데이터베이스 접속은 마스터 프로세스가 지정된 데이터베이스 명에 따라 해당 서버 프로세스로 소켓 통신을 옮겨주어 접속 처리 한다, 데이터베이스 서버에 port는 사용자 변경 대상이 아니다.
2, 브로커
- cub_broker, cub_cas: 브로커는 cas, broker Process로 구분되고 cub_broker는 응용 클라이언트와 cub_cas 사이의 연결을 관리하고 중계하는 기능을 수행하며 cub_cas 관리한다. 또한 연결된 cub_cas는 DB서버의 클라이언트로 동작하여 클라이언트의 요청에 의해 데이터베이스 서버와 연결을 제공한다.
기본적으로 port 30000번, 33000번 이 설정 되어 있으나 이는 변경이 가능하며, $CUBRID/conf/cubrid_broker.conf Parameter BROKER_PORT=30000 값을 수정하여 port를 변경할 수 있다.
[%query_editor]
SERVICE =ON
BROKER_PORT =30000
=> APPL_SERVER_PORT 가 별도로 등록되어 있지 않다면 30000~30040번까지 사용하게 된다.
MIN_NUM_APPL_SERVER =5
=> 초기 cub_cas 기동 개수이다.
MAX_NUM_APPL_SERVER =40
=> 최대로 사용 가능한 port 개수이다.
APPL_SERVER_PORT =30100
=> 이 항목을 등록할 경우 30101~30140번까지 사용하게 된다.
3, 큐브리드 매니저
- cub_auto, cub_js: CUBRID Manager Process로 매니저 사용이 필요 없는 경우 정지해도 CUBRID DB 사용에 문제는 없다. 큐브리드 매니저 서버와 클라이언트 간의 통신 포트로 기본값은 8001이다. 연결 시 실사용 포트는 설정한 포트와 1을 증가한 포드 두 개가 사용된다. 예를 들어, $CUBRID/conf/cm.comf Parameter cm_port를 8001로 설정하면 8001, 8002 두 개의 포트가 사용된다. 이 부분은 큐브리드 매니저 서버와 클라이언트 사이에 방화벽이 있고 해당 포트만 오픈할 경우 주의해야 한다.
정리하면 마스터(1523), 브로커(30000,33000), 매니저(8001.8002) 포트가 열려 있어야 큐브리드 사용하는데 문제가 없다.
해당 포트를 열었는데도
다른 pc에서 접속이 되지 않는 이유는 멀까요?
아예 방화벽을 내리면 접속이 되긴하는데...