애플리케이션 서버, 노드 또는 셀에서 단일 네트워크 인터페이스를 사용하도록 구성
애플리케이션 서버는 기본적으로 사용 가능한 모든 네트워크 인터페이스를 사용하도록 구성됩니다. 애플리케이션 서버가 특정 네트워크 인터페이스만 사용하도록 이 구성을 변경할 수 있습니다. 그러나 인터페이스의 하위 그룹을 사용하도록 구성할 수는 없습니다. 예를 들어 세 개의 이더넷 어댑터가 있는 경우 세 어댑터 중 두 개를 사용하도록 애플리케이션 서버를 구성할 수 없습니다.
이 태스크 정보
애플리케이션 서버가 모든 네트워크 인터페이스를 사용하도록 구성될 때, 2개의 TCP/IP 주소를 갖는 시스템에서 포트 9901의 소켓을 여는 경우 두 IP 주소 모두에 대해 포트 9901을 엽니다.
Microsoft Windows
운영 체제에서는 netstat 출력의 로컬 주소 필드에 *.9901이 표시되며
이는 포트 9901이 시스템의 모든 네트워크 인터페이스에 바인드됨을 나타냅니다.
애플리케이션 서버가 특정 네트워크 인터페이스를 사용하도록 구성되면 해당하는 하나의 네트워크 인터페이스에서만 통신합니다. 예를 들어 Windows 운영 체제에서 애플리케이션 서버가 주소 192.168.1.150을 갖는 이더넷 어댑터의 포트 7842에서 소켓을 여는 경우 netstat 출력은 로컬 주소 필드에 192.168.1.150.7842를 표시하며, 이는 포트 7842가 192.168.1.150에만 바인드됨을 표시합니다.
둘 이상의 네트워크 인터페이스가 있고 각각을 독립적으로 사용하려는 경우 각 인터페이스에 대한 독립된 구성 프로파일이 있어야 합니다. 네트워크 인터페이스가 독립적으로 사용될 때, 각 네트워크 인터페이스에 대해 애플리케이션 서버가 실행 중인 하나의 독립 노드 에이전트가 필요합니다. 동일한 시스템의 두 개의 독립된 네트워크 인터페이스에 바인드된 두 애플리케이션 서버는 서로 다른 TCP/IP 주소를 갖기 때문에 동일한 노드에 있을 수 없습니다.
다중 홈 환경에서는 설치 중에 사용된 호스트 이름에 바인드된 어댑터가 아닌 네트워크 어댑터를 사용하도록 강제로 설정하여 인바운드 HTTP 및/또는 HTTPS 트래픽을 구분해야 할 수 있습니다. 이와 같이 구분하려면 경로 재지정할 각 애플리케이션 서버에서 defaulthost 및 defaulthost_secure 포트에 대해 호스트 이름 또는 IP 주소가 서로 다른 네트워크 어댑터에 바인드되도록 지정하십시오. 이와 같이 수정하면 지정된 어댑터를 통해 수신된 HTTP 및/또는 HTTPS 트래픽만 허용하도록 애플리케이션 서버가 구성됩니다. 또한 배치 관리자는 해당 애플리케이션 서버에 대한 플러그인을 생성할 때 이 호스트 이름을 전송으로 사용합니다. defaulthost 및 defaulthost_secure 포트만 이와 같은 방식으로 수정한다면 이와 같은 수정에 대해 알려진 제한사항은 없습니다.
- 특정 애플리케이션 서버가 단일 네트워크 인터페이스를 사용하기 원하는 경우 해당 애플리케이션 서버에 대해 다음 단계를 수행하십시오.
- 전체 노드가 단일 네트워크 인터페이스를 사용하기 원하는 경우 노드 에이전트 및 해당 노드의 모든 애플리케이션 서버에 대해 다음 단계를 수행하십시오.
- 전체 셀이 단일 네트워크 인터페이스를 사용하기 원하는 경우 배치 관리자, 노드 에이전트 및 해당 노드의 모든 애플리케이션 서버에 대해 다음을 수행하십시오.
- 다음 단계를 수행할 때 TCP/IP 주소에 대해 localhost, 루프백 주소(예: 127.0.0.1) 또는 *(별표)를 지정하지 마십시오. DCS(Distribution and Consistency Services) 주소의 호스트 이름으로 *(별표)를 사용하고 여러 NIC(Network Identification Card)가 있는 경우에는 DCS 포트가 여러 IP 주소에 바인드될 수 있습니다.
클라이언트 ORB에서 서버에 대한 TCP 연결을 작성하는 경우 다음 두 가지 시나리오가 가능합니다.
- 로컬 소켓 측이 serverindex.xml 파일의 ORB_LISTENER_ADDRESS 특성 또는 com.ibm.CORBA.LocalHost 사용자 정의 특성 중 하나에서 지정된 단일 주소에 바인드됩니다.
- 로컬 소켓 측이 특정 주소에 바인드되지 않습니다.
이러한 두 시나리오는 Micosoft Windows 네트워킹 스택이 상이한 범위 구역을 통해 패킷을 전달하지 않기 때문에 가능합니다. 루프백 및 공용 인터페이스는 상이한 범위 구역에 존재합니다.
클라이언트가 Microsoft Windows7 또는 Microsoft Windows 2008 R2에서 실행되고 클라이언트의 com.ibm.ws.orb.transport.useMultiHome 사용자 정의 특성을 false로 설정한 경우 첫 번째 시나리오는 SocketException으로 인해 실패합니다. 이는 다음 이유 중 하나 때문입니다.- serverindex.xml 파일의 클라이언트 ORB_LISTENER_ADDRESS 호스트 값 또는 com.ibm.CORBA.LocalHost 사용자 정의 특성은 localhost 또는 127.0.0.1 중 하나의 내부 주소를 가지며 서버는 외부 IP 주소나 호스트 이름(예: 147.10.32.117)을 가집니다.
- 클라이언트는 외부 주소를 가지며 서버는 내부 주소를 가집니다.
프로시저
결과
예
이 예제는 최소한 두 개의 네트워크 인터페이스를 갖는 시스템에 각각 독립된 네트워크 인터페이스를 사용하는 두 노드를 작성합니다.
- 애플리케이션 서버를 작성하고 이를 원하는 셀에 연합하려면 Profile Management Tool을 사용하십시오.
- 이전에 작성된 애플리케이션 서버에 사용되는 호스트 이름과는 다른 호스트 이름을 지정하여 애플리케이션 서버 프로파일을 작성하려면 Profile Management Tool을 사용하십시오. 이 애플리케이션 서버를 원하는 셀에 연합하십시오.
- 첫 번째 네트워크 인터페이스에 구성되는 노드 에이전트 및 애플리케이션 서버를 시작하십시오. 노드 에이전트 및 애플리케이션 서버에 대한 앞선 단계를 수행하여 이 애플리케이션 서버를 구성할 때 지정한 네트워크 인터페이스에서 통신하도록 이 노드를 준비하십시오.
- 두 번째 노드 에이전트와 애플리케이션 서버를 시작하십시오. 노드 에이전트 및 애플리케이션 서버에 대한 앞선 단계를 수행하여 두 번째 애플리케이션 서버를 구성할 때 지정한 네트워크 인터페이스에서만 통신하도록 이 노드를 준비하십시오.
- 이 예제에서 작성한 모든 노드 에이전트 및 애플리케이션 서버를 중지하십시오.
- 모든 노드 에이전트와 애플리케이션 서버를 다시 시작하십시오.
다른 두 네트워크 인터페이스에서 실행 중인 두 개의 독립 노드가 있습니다.
다음에 수행할 작업
-Dcom.ibm.ws.orb.transport.useMultiHome=false
-Dcom.ibm.CORBA.LocalHost=host_name
host_name은 TCP/IP 주소 또는 사용할 ORB에 대한 네트워크 인터페이스의 호스트 이름입니다.