ip6tables는 VPS를 통한 OpenVPN의 IPv6 트래픽을 허용합니다.

ip6tables는 VPS를 통한 OpenVPN의 IPv6 트래픽을 허용합니다.

저는 완전히 작동하는 IPv4 OpenVPN 설정을 설정했으며 한 단계 더 나아가 IPv6 설정을 시도하고 싶었습니다. 내 VPS 서버에는 로컬 IPv6 블록이 없지만 Hurricane Electric에서 제공하는 6in4 터널 인터페이스 설정이 있습니다. VPS 상자 자체에 대한 IPv6 연결은 모두 괜찮습니다.

Hurricane Electric에서 제공하는 /48을 사용하여 OpenVPN 서버 인스턴스가 문제 없이 사용할 수 있는 /64 서브넷을 만들었습니다.

IPv4 클라이언트처럼 VPS를 통해 모든 IPv6 트래픽을 라우팅하도록 올바른 server-ipv6 및 Route-ipv6 지시문이 설정되어 있습니다. 추적 경로를 실행한 후 서버 ipv6 주소를 첫 번째 홉으로 응답하여 IPv6 게이트웨이가 이제 VPS이지만 첫 번째 홉 이후 모든 것이 시간 초과됨을 보여줍니다.

문제는 외부 IPv6 트래픽이 차단된다는 점이다. 방화벽을 제거하면 추적 경로가 완료되므로 방화벽과 관련이 있음을 확인했습니다. IPv4 및 IPv6 부분이 활성화된 ConfigServer 보안 및 방화벽을 사용하고 있습니다.

저는 iptables 전문가는 아니지만 csfpre.sh에서 이러한 규칙을 시도했지만 성공하지 못했습니다.

ip6tables -A FORWARD -s ROUTED/64 -i tun+ -o sit1 -j ACCEPT
ip6tables -A FORWARD -s ROUTED/48 -i tun+ -o sit1 -j ACCEPT

ROUTED 자리 표시자는 Hurricane Electric 터널에서 제공하는 서브넷입니다.

IPv6 전달을 활성화했습니다.

net.ipv6.conf.all.forwarding = 1

VPS 세부정보:

  • CentOS 6.6(KVM 가상화)
  • 2.6.32 리눅스 커널
  • 방화벽: CSF(최신 버전)

tun 인터페이스는 ETH_DEVICE_SKIP을 통해 CSF에서 제외되었습니다.

네트워크 인터페이스:

  • OpenVPN: tun0(라우팅)
  • IPv6 터널: sit1(모든 설정 및 작동 중)
  • WAN: eth0(게이트웨이, 외부 인터페이스)

OpenVPN에서 발생하는 IPv6 트래픽을 허용하는 ip6tables 규칙을 제공하는 데 도움을 줄 수 있는 사람이 있나요?

답변1

작동하는 일련의 방화벽 규칙을 찾았고 올바른 방향으로 가고 있지만 약간 조정할 필요가 있습니다.

SixXS에서 제공하는 예시 방화벽을 가이드로 사용하세요.

https://www.sixxs.net/wiki/IPv6_Firewalling#A_more_sophisticated_script_for_IPv6_stateful_firewall

나는 작동하고 IPv6 트래픽을 허용하는 이러한 규칙을 만들 수 있었습니다. 이것을 내 csfpre.sh 파일에 추가했습니다.

ip6tables -A FORWARD -m state --state NEW -i tun+ -o sit1 -s ROUTED/64 -j ACCEPT
ip6tables -A FORWARD -m state --state NEW -i tun+ -o sit1 -s ROUTED/48 -j ACCEPT
ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

다시 말하지만, ROUTED/64 및 ROUTED/48은 Hurricane Electric에서 제공하는 실제 블록에 대한 자리 표시자입니다.

(tun+는 서버의 여러 tun 장치를 포함합니다)

관련 정보