다음 명령을 사용하여 ipv6 터널을 만들었습니다.
ip link add gre_test type ip6gre remote 2001:4860:4860::8888 local ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ttl 255
실제 IPv6를 제거했습니다.
그런 다음 이 인터페이스를 열었습니다.
ip link set dev gre_test up
마지막으로 default_lan 브리지 아래에 인터페이스를 추가하려고 할 때 이 문제가 발생했습니다.
brctl addif default_lan gre61
can't add gre61 to bridge default_lan: Invalid argument
따라서 기본적으로 ipv6 터널을 생성하고 브리지 인터페이스에서 종료하지만 브리지를 추가하려고 하면 잘못된 인수 오류가 발생합니다. gre 인터페이스가 순수 ipv4이고 "gretap"을 사용하는 경우 작동합니다.
답변1
gre 인터페이스가 순수 ipv4이고 "gretap"을 사용하는 경우 작동합니다.
이는 인터페이스가 순전히 ipv4이기 때문이 아니라 "gretap"을 사용했기 때문에 작동합니다.
IPv4이든 IPv6이든 표준 GRE 인터페이스는 "레이어 3" 터널이기 때문에 브리징이 불가능합니다.L2 헤더를 전달하지 않습니다.이는 L2 브리지가 제대로 작동하는 데 필요합니다.
브리지는 L2 대상(MAC 주소)을 기반으로 패킷을 전달하는 방식으로 작동하며 일반 GRE를 통해 도착하는 패킷에는 이 기능이 없으므로 브리지가 이에 대해 할 수 있는 작업이 없습니다.
(브리지가 L3(IP) 대상 주소를 확인하도록 하려면 더 이상 브리지가 아니라 라우터입니다.)
따라서 IPv6를 통해 네트워크를 브리지하려면필요"gretap" 또는 "ip6gretap"과 같은 L2 터널입니다. (두 유형 모두 터널 트래픽이 아닌 기본 네트워크에 따라 다릅니다. 모든 L2 터널과 마찬가지로 모든 GRE 터널은 두 IP를 모두 전달할 수 있습니다.)