https://web.archive.org/web/20160528234959/https://wiki.freebsd.org/IPv6OnlyIPv4가 아닌 IPv6만 지원하는 FreeBSD 이미지에 대해 토론하세요. 그러나 해당 페이지는 더 이상 존재하지 않으며(따라서 내 보관 링크) 해당 페이지에 대한 최신 정보를 찾을 수 없습니다. 내 질문: 오늘날 최신 UNIX 또는 Linux 시스템에서 이전 FreeBSD 이미지처럼 IPv4가 아닌 IPv6만 지원하는 것이 가능합니까? 이를 수행하는 방법에 사용자 정의 커널이나 유사한 작업이 필요한 경우에도 괜찮습니다.
나는 이 질문을 다른 곳에서 본 적이 있습니다(모두 내가 이 질문을 한 이후에 날짜가 지정되었습니다).
답변1
그냥 FreeBSD를 빌드하세요.
이는 FreeBSD가 계속해서 사용되는 메커니즘을 제공하기 때문에 가능합니다.
IPv4를 끄거나 제외하기 위한 커널 구성 및 makefile 옵션 세트입니다. 그게 가장 기본적인거지만 nooptions INET
또 지켜봐야 할 부분이 있어요/usr/src/sys/conf/makeLINT.mk
하다. 또 무엇을 관찰해야 할까요?/usr/src/sys/conf/NOTES
IPv4와 IPv6를 모두 활성화하지 않을 경우 발생하는 추가 효과에 대해 설명합니다.
추가 읽기
config
. FreeBSD 파일 형식 매뉴얼. 2016년 2월 21일.- "FreeBSD 커널 구성".FreeBSD 매뉴얼. FreeBSD 문서화 프로젝트. 2018년 9월 5일.
답변2
물론이죠. 한 가지 접근 방식은 호스트에서 (공용) IPv4 주소나 서비스를 구성하지 않는 것입니다. 더 극단적인 옵션은 IPv4 지원을 제거하는 것입니다(OS에서 지원하는 경우). 그러나 이는 더 복잡하고 아마도 불가능하며 가능한 경우 (일반적으로 오래된) 서비스를 중단시킬 수 있습니다. 네트워크 구성 방식이 모두 다르기 때문에 세부 정보는 운영 체제에 따라 다릅니다.
예를 들어 macOS에서는 다음을 실행할 수 있습니다.
sudo ipconfig set en0 NONE
sudo ipconfig set en0 AUTOMATIC-V6
IPv4를 비활성화하고 IPv6을 활성화합니다 en0
. ( lo0
아직 IPv4가 있을 수 있지만 다른 시스템에서는 이를 알 필요가 없습니다.)
그러나 IPv6에서는 많은 기능이 지원되지 않거나 사용할 수 없기 때문에 이는 그다지 유용하지 않을 수 있으며, 누군가가 몇 년 전 TCP/IP로 전환하기 위해 했던 것처럼 Flag Day를 요구할 수도 없습니다.
답변3
이것은 Linux에서는 확실히 가능합니다. 커널의 네트워크 프로토콜은 구성 가능하며 모든 IPv4 콘텐츠를 제거할 수 있습니다. 그러나 대부분의 배포판에서는 IPv4를 기대하고 이를 사용하려고 하므로 배포판의 이 부분도 사용자 정의해야 합니다(오류 메시지를 제거하기 위한 경우에만).
물론 문제는 그렇게 함으로써 어떤 이점을 얻을 수 있느냐는 것입니다. 예, IPv4 프로토콜이 없으면 커널은 더 작아질 것입니다. 그러나 기존 커널을 사용하고 IPv4 주소를 허용하지 않도록 모든 것을 구성하거나 애초에 IPv4를 사용하지 않는 것이 훨씬 간단합니다.