문제와 목표
우리는 ISP로부터 IPv6를 얻지 못하므로 IPv6 터널이 잘 작동하지만 물론 빠르지는 않습니다. 그리고 정말로 신뢰할 수 없습니다. IPv6을 "경우에 따라"사용할 수 있기를 원하지만 특정 호스트 (도메인)가 IPv4에만 연결되기를 원합니다.
기본 프로토콜
모든 응용 프로그램이 IPv6을 먼저 시도하는 것 같습니다. 이것은 아마도 glibc 설정일 것입니다. 이 기본값이 반대로 바뀌면 괜찮을 것입니다 (모든 응용 프로그램에 대해).
넷 필터
Netfilter를 사용하여 IPv6 주소 / 네트워크를 차단할 수 있지만 두 가지 문제가 있습니다.
- 앱이 IPv4를 시도하기 전에 IPv6 시간 초과를 기다리는 동안 지연이 발생합니까?
- 일부 도메인은 혼돈 된 것처럼 혼합되어있는 것 같습니다. google.com과 youtube.com을 분리하면 피할 수 있다면 원하지 않는 것처럼 보입니다.
방금 매뉴얼 페이지에 ip route라우팅 유형이 나와 있습니다 unreachable.
로컬 발신자에게 EHOSTUNREACH 오류가 발생합니다.
Netfilter DROP 또는 REJECT에서도 마찬가지입니까? 이러한 오류로 인해 관련 지연이 발생하지 않아야합니다.
DNS 필터링
또 다른 솔루션은 (가능하면 쉬운 방법 임) 특정 도메인에 대해 AAAA 레코드를 필터링하는 것입니다. 가능하지 않은 경우 : "IP 주소 X가 도메인 Y에 속함"을 알 수 있도록 DNS 서버와 Netfilter를 연결하여 Netfilter에 추가 할 수 있습니까? 모든 것을 기록하고 로그를 파는 것보다 더 우아한 것이 있습니까?
가는 길?
어떤 (다른) 가능성이 있으며 가장 쉬운 것은 무엇입니까?