RHEL 7 이상 버전에서 IPv6 비활성화
Prologue
RHEL 7 이상 버전에서 IPv6 비활성화는 보안 강화와 불필요한 네트워크 자원 낭비를 방지하기 위해 자주 수행되는 설정입니다. 특히 IPv6를 사용하지 않는 환경에서는 불필요한 취약점을 줄이는 것이 중요합니다. IPv6 주소 지정 비활성화 방법과 IPv6 프로토콜 비활성화 두가지 방법에 대해 정리할 것이며
RHEL7 이상 버전에서 비활성화 하는방법과 RHEL 8.1부터 NetworkManager가 ignore 대신 disable을 공식 지원하며 설정에 차이점이 있어 해당 내용을 정리하겠습니다.
- Disable IPv6 Addressing
1.1. IPv6 주소 지정 비활성화
- 네트워크 인터페이스가 IPv6 링크 로컬 주소(fe80:)나 그 외의 IPv6 주소를 추가하지 못하게 합니다.
- 하지만 리눅스 커널에서 IPv6 코드 실행을 막지는 않습니다.
- 시스템은 여전히 IPv6 패킷이 무엇인지 알고 처리할 수 있습니다.
- 애플리케이션은 여전히 AF_INET6 소켓을 열 수 있으며, IPv4 트래픽은 IPv4-mapped IPv6 주소를 이용해 해당 소켓에 도달할 수 있습니다.
- 일반적으로 애플리케이션에 추가적인 설정이 필요하지 않으며, 보통 애플리케이션이 정상 동작하지 않는 문제를 일으키지도 않습니다.
장점
- 애플리케이션에 영향 없음 (대부분 그대로 동작).
- 안전하게 “주소만 안 쓰게” 하는 수준이라 운영 환경에서 흔히 사용.
단점
- IPv6 스택이 살아있으므로 이론적으로는 여전히 IPv6 관련 취약점 표면 남음.
1.2. IPv6 주소 지정 비활성화 설정
설정 전 확인

- inet6 를 사용함
RHEL7 및 RHEL 8.0의 경우:
# nmcli connection modify <Connection Name> ipv6.addresses “” ipv6.gateway “”
# nmcli connection modify <Connection Name> ipv6.method “ignore”
RHEL 8.1 이상 및 RHEL 9의 경우:
# nmcli connection modify <Connection Name> ipv6.addresses “” ipv6.gateway “”
# nmcli connection modify <Connection Name> ipv6.method “disabled”
/etc/hosts로컬호스트 주소를 포함하여 에서 발견된 모든 IPv6 주소를 주석 처리합니다 ::1.
# cp -p /etc/hosts /etc/hosts.KCS8709
# sed -i ‘s/^[[:space:]]*::/#::/’ /etc/hosts
/etc/sysctl.d/ipv6.conf다음 설정을 포함하는 새 파일을 만듭니다 .
# vi /etc/sysctl.d/ipv6.conf
(추가)
# Disable IPv6 for all interfaces
net.ipv6.conf.all.disable_ipv6 = 1
# Disable IPv6 for each network interface
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.<interface>.disable_ipv6 = 1
initramfs를 백업하고 다시 빌드합니다.
# cp -p /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).KCS8709.img
# dracut -f -v
파일 포함 확인:
# lsinitrd /boot/initramfs-$(uname -r).img | grep ‘etc/sysctl.d/ipv6.conf’
![]()
시스템을 재부팅하세요.
#reboot
설정 후 확인

- inet6 를 사용하지않음
- Disable IPv6 Protocol
2.1. IPv6 프로토콜 비활성화
- 리눅스 커널에서 어떤 IPv6 코드도 실행되지 않도록 막습니다.
- 시스템은 IPv6 패킷을 처리할 수 없게 됩니다.
- 애플리케이션이 AF_INET6 네트워크 소켓을 열 수 없게 됩니다.
- 일부 애플리케이션은 IPv6가 사용 가능하다고 가정하기 때문에, 추가적인 설정이 필요하거나 동작이 깨질 수 있습니다.
- Red Hat은 IPv6 완전 비활성화 상태에서 충분히 테스트하지 않았기 때문에, 이 방식을 적용한 후에는 반드시 시스템과 애플리케이션을 철저히 검증해야 합니다.
- 만약 NetworkManager 연결이 잘못 활성화된 상태로 남아 있으면, NetworkManager 로그에 “Operation not supported” 경고가 기록됩니다.
장점
- IPv6 관련 모든 기능과 취약점 차단 → 완전한 보안 차단 효과.
단점
- 일부 애플리케이션은 IPv6 스택이 있다고 가정하고 동작 → 장애 가능.
2.2. IPv6 프로토콜 비활성화 설정
다음 예시처럼 편집 하여 /etc/default/grub에 추가하세요.
ipv6.disable=1 GRUB_CMDLINE_LINUX
(예시)
GRUB_CMDLINE_LINUX=”rd.lvm.lv=rhel/swap crashkernel=auto rd.lvm.lv=rhel/root ipv6.disable=1″
grubbyGRUB 구성을 업데이트하려면 다음 명령을 실행하세요 .
# grubby –update-kernel=ALL –args=”ipv6.disable=1″
시스템을 재부팅하세요.
#reboot
참고사항: IPv6 프로토콜을 비활성화한 후, 시스템 버전에 따라 다음과 같은 메시지가 출력될 수 있으나, 시스템에 영향을 미치지 않으므로 무시하셔도 문제는 없습니다.
systemd-sysctl[253]: Couldn’t write ‘1’ to ‘net/ipv6/conf/<interface>/disable_ipv6’, ignoring: No such file or directory
systemd-sysctl[244]: Couldn’t write ‘1’ to ‘net/ipv6/conf/all/disable_ipv6’, ignoring: No such file or directory
systemd-sysctl[244]: Couldn’t write ‘1’ to ‘net/ipv6/conf/lo/disable_ipv6’, ignoring: No such file or directory
3. 결론
RHEL 7 이상 환경에서 IPv6를 비활성화하는 방법은 크게 두 가지로 나눌 수 있습니다.
첫 번째는 네트워크 인터페이스 단에서 IPv6 주소 지정을 막는 방식.
nmcli를 이용해 ipv6.method를 ignore 또는 RHEL 8.1 이상부터는 disable로 설정. 이 경우 시스템은 IPv6 주소를 더 이상 생성하지 않으며, fe80:: 형태의 링크 로컬 주소도 부여되지 않습니다. 하지만 커널의 IPv6 스택 자체는 여전히 살아 있어 패킷 해석이나 소켓 생성은 가능하므로, 애플리케이션 호환성 측면에서는 가장 안전한 선택이다. 운영 환경에서 일반적으로 권장되는 방식도 이 방법입니다.
두 번째는 커널 레벨에서 IPv6 프로토콜 자체를 비활성화하는 방법.
GRUB 커널 파라미터에 ipv6.disable=1을 추가하면 된다. 이 경우 시스템은 IPv6 패킷을 전혀 처리하지 못하며, 애플리케이션도 IPv6 소켓을 열 수 없게 됩니다. 보안적인 관점에서는 IPv6 공격 표면을 완전히 제거하는 장점이 있지만, 일부 소프트웨어가 IPv6 스택이 존재한다고 가정하고 동작하기 때문에 예상치 못한 장애가 발생할 수 있습니다. Red Hat 역시 이 방식에 대해 모든 시나리오를 보장하지 않으므로 충분한 사전 테스트가 필요합니다.
따라서 운영 환경에서 IPv6를 단순히 사용하지 않으려는 목적이라면 “IPv6 주소 지정 비활성화” 방식이 권장됩니다. 이는 안정성과 호환성을 유지하면서도 불필요한 IPv6 트래픽을 막을 수 있습니다. 반면, 보안 규제 준수나 특수한 정책 요구로 인해 IPv6 자체를 완전히 차단해야 한다면 **“IPv6 프로토콜 비활성화”**를 선택할 수 있습니다. 결국 핵심은 환경의 목적과 요구 수준에 맞는 방식을 선택하는 것입니다.
자유롭게 댓글을 달아주세요! 언제나 환영합니다.
기타 문의: info@neoclova.co.kr
네오클로바 기술블로그 홈 바로가기: https://neoclova.net
네오클로바 홈페이지: http://neoclova.co.kr
