개발 Tip/IntelliJ
[IntelliJ] IPv6로 반환되는 값을 IPv4로 반환하는 설정 방법: JVM Options
adjh54
2024. 3. 9. 14:21
반응형
해당 글에서는 IntellIJ 내에서 기본적으로 IPv6 형태로 반환되는 IP 값을 IPv4로 반환받는 방법에 대해 알아봅니다.
1) 현상 확인
💡 현상 확인
- Java 내에서 클라이언트 IP 값을 반환 받으려하고 있습니다. 그러나 IPv6 형태로 클라이언트 값이 반환됨을 확인하여 이를 IPv4 형태로 반환받기를 원하여서 이를 적용합니다.
2) IPv4 / IPv6
1. IPv4
💡 IPv4 형태
- Octet의 범위는 점(.)의 구분자를 기준으로 4자리 모두 0 ~ 255자리의 값을 가집니다.
- 또한 0 ~ 255 범위 내에서 ‘0xx 형태의 값’을 가지는 경우 해당 경우에 포함되지 않습니다.
2. IPv6
💡 IPv6
- 인터넷 프로토콜 버전 6으로, IPv4의 주소 공간 제한을 해결하기 위해 개발된 새로운 인터넷 주소 체계입니다.
- IPv6 주소는 128비트로 구성되어 있어, 거의 무한한 수의 유니크한 주소를 제공할 수 있습니다.
[참고] IPv4와 IPv6의 정규식에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다.
3) IntelliJ 설정
1. Help 탭 - Edit Custom VM Options… 를 선택합니다.
2. idea.vmoptions 파일이 열리고 해당 옵션을 추가해 줍니다.
-Djava.net.preferIPv4Stack=true
-Djava.net.preferIPv4Addresses=true
옵션 | 설명 |
Djava.net.preferIPv4Stack=true | 이 옵션은 시스템 속성을 설정하여 IPv4 스택을 선호하도록 합니다. 즉, IPv4를 IPv6보다 먼저 사용하려고 시도합니다. |
Djava.net.preferIPv4Addresses=true | 이 옵션은 IPv4 주소를 IPv6 주소보다 선호하도록 시스템을 설정합니다. 이로 인해 해당 시스템에서는 가능한 한 IPv4 주소가 반환됩니다. |
💡 위와 같은 설정을 하였으나 적용이 안되기에 아래의 방법으로 직접 실행할 때 VM Options를 주입합니다.
3. **Application 설정 - Edit Configurations.. 를 선택합니다.
4. Modify options - Add VM options를 선택합니다.
5. 아래와 같이 명령어를 추가합니다.
-Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true
4) 결과확인
💡 아래와 같이 IPv4 형태로 반환받음을 확인하였습니다.
오늘도 감사합니다. 😀
반응형