Centos

ip6tables 允許來自 OpenVPN 的 IPv6 流量通過我的 VPS

  • March 3, 2015

我已經建立了一個完全可用的 IPv4 OpenVPN 設置,並想更進一步並嘗試設置 IPv6。我的 VPS 伺服器沒有獲得原生 IPv6 塊,但有一個 6 合 4 隧道介面設置,由 Hurricane Electric 提供。VPS盒子本身的IPv6連接都沒有問題。

使用 Hurricane Electric 提供的 /48 我創建了一個 /64 子網,OpenVPN 伺服器實例可以毫無問題地使用它。

我設置了正確的 server-ipv6 和 route-ipv6 指令,以通過我的 VPS 路由所有 IPv6 流量,與處理 IPv4 客戶端的方式相同。在進行跟踪路由時,它以 server-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 Linux核心
  • 防火牆:CSF(最新版本)

tun 介面已通過 ETH_DEVICE_SKIP 從 CSF 中排除

網路介面:

  • OpenVPN:tun0(路由)
  • IPv6 隧道:sit1(所有設置和工作)
  • WAN:eth0(網關,外部介面)

任何人都可以幫助提供允許來自 OpenVPN 的 IPv6 流量流過的 ip6tables 規則嗎?

我想出了一套有效的防火牆規則,我走在正確的軌道上,但他們需要稍微調整一下。

使用 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 是颶風電氣提供的我的實際塊的佔位符

(tun+會覆蓋伺服器上的多個tun設備)

引用自:https://unix.stackexchange.com/questions/187607