IPv6 설정
본 부록에서는 IPv6 설정에 대해 설명한다.
소개
IPv6 환경에서 JEUS의 설정은 다음과 같은 절차로 이루어진다.
-
jeus.properties, jeusadmin, startMasterServer, startManagedServer, stopServer, startderby, stopderby, mcastReceiver, mcastSender 스크립트 변경
-
domain.xml 변경
-
동작 확인
설정하려는 서버의 hosts 파일에 loopback address는 '::1’로 설정되어 있어야 한다. |
hosts 파일은 운영체제에 따라 다음의 경로에 위치한다.
-
Windows
C:\WINDOWS\system32\drivers\etc
-
UNIX 계열
/etc
hosts 파일에 대한 예제는 다음과 같다.
[jeusqa@ipv6linux /home/jeusqa]$ cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. #127.0.0.1 localhost #::1 localhost6.localdomain6 localhost6 ::1 localhost
IPv6 환경설정
IPv6 사용을 위한 환경설정에 대해 설명한다. IPv6 환경은 파일에 따라 설정 방법이 다르다.
JEUS_HOME/bin에 존재하는 파일의 변경
-
파일명 : startMasterServer, startManagedServer
-classpath 가 작성되어 있는 부분에 -Djava.net.preferIPv6Addresses=true와 -Djava.net.preferIPv4Stack=false 내용을 추가한다.
-
예제
-classpath ......... \ -Djava.net.preferIPv6Addresses=true \ -Djava.net.preferIPv4Stack=false \
-
-
파일명 : mcastReceiver, mcastSender
-
기존
-Djava.net.preferIPv4Stack=true \
-
변경
-Djava.net.preferIPv6Addresses=true \ -Djava.net.preferIPv4Stack=false \
-
-
파일명 : jeusadmin, stopServer
-
기존
"${JAVA_HOME}/bin/java" -classpath "${BOOTSTRAP_CLASSPATH}" ${TOOL_OPTION} \
-
변경
"${JAVA_HOME}/bin/java" -classpath "${BOOTSTRAP_CLASSPATH}" ${TOOL_OPTION} \ -Djava.net.preferIPv6Addresses=true \ -Djava.net.preferIPv4Stack=false \
-
-
파일명 : jeus.properties
-
기존
TOOL_OPTION="-Djeus.tm.not_use=true -Djava.net.preferIPv4Stack=true"
-
변경
TOOL_OPTION="-Djeus.tm.not_use=true -Djava.net.preferIPv6Addresses=true -Djava.net.preferIPv4Stack=false"
-
-
파일명 : startderby, stopderby
-
기존
-Dderby.system.home="${JEUS_HOME}/derby/databases" \
-
변경
-Dderby.system.home="${JEUS_HOME}/derby/databases" \ -Djava.net.preferIPv6Addresses=true \ -Djava.net.preferIPv4Stack=false \
-
domain.xml의 변경
JEUS_HOME/domains/DOMAIN_NAME/config/domain.xml 파일의 내용을 아래와 같이 변경 및 추가한다.
-
listen-address의 주소가 IPv4로 설정되어 있다면 IPv6로 변경한다.
<listeners> <base>BASE</base> <listener> <name>BASE</name> <listen-address>0:0:0:0:0:0:0:0</listen-address> <listen-port>9736</listen-port> <selectors>1</selectors> <use-dual-selector>false</use-dual-selector> <backlog>128</backlog> <select-timeout>120000</select-timeout> <read-timeout>30000</read-timeout> <reserved-thread-num>0</reserved-thread-num> </listener>
-
heartbeat-address의 address가 IPv4로 설정되어 있다면 아래와 같이 IPv6로 변경하여야 하며, 설정이 없다면 아래의 내용을 추가한다.
<group-communication-info> <heartbeat-address>FF02:0:0:0:0:0:0:0</heartbeat-address> <heartbeat-port>3030</heartbeat-port> <use-virtual-multicast>false</use-virtual-multicast> </group-communication-info>
-
각 서버별로 vm-option에 java.net.preferIPv4Stack=false와 java.net.preferIPv6Addresses=true를 추가한다.
<jvm-config> <jvm-option>-Xmx1024m -XX:MaxPermSize=256m</jvm-option> <jvm-option>java.net.preferIPv4Stack=false</jvm-option> <jvm-option>java.net.preferIPv6Addresses=true</jvm-option> </jvm-config>