Debian,第六隧道和连接问题

长话短说,我正在使用与我的ISP,包机业务第六隧道的IPv6问题。 他们提供了我认为已经正确设置的第6个隧道,但是服务器不会回复每个IPv6请求。 当服务器的networking接口闲置约10分钟无stream量时,IPv6将停止接受入站连接。 重新允许它,我必须进入服务器,并做一个出站IPv6连接(通常是一个ping )来启动备份。 有什么奇怪的,但如果我运行iptraf时,它不工作,它仍然显示一个入站IPv6数据包…服务器只是没有回应,我不明白为什么。 此外,如果我尝试通过IPv6从距离同一ISP约1英里的房屋访问我的服务器,则永远无法连接。 它总是超时,但iptraf再次显示IPv6入站数据包。 再次,它只是不答复。 要testing我的服务器是否可以通过IPv6访问,我总是必须使用我的vzw 4g手机(它们使用IPv6)或ipv6proxy dot net。

以下是我的ISP在隧道服务器上给出的所有configuration信息:

 6rd Prefix = 2602:100::/32 Border Relay Address = 68.114.165.1 6rd prefix length = 32 IPv4 mask length = 0 

这里是我的/etc/network/interfaces (用于阻止实际地址的x)

 auto charterv6 iface charterv6 inet6 v4tunnel address 2602:100:189f:xxxx::1 netmask 32 ttl 64 gateway ::68.114.165.1 endpoint 68.114.165.1 local 24.159.218.xxx up ip link set mtu 1280 dev charterv6 

这里是我的iptablesconfiguration

 filter :INPUT DROP [0:0] :fail2ban-ssh – [0:0] :OUTPUT ACCEPT [0:0] :FORWARD DROP [0:0] :hold – [0:0] -A INPUT -p tcp -m tcp —dport 22 -j fail2ban-ssh -A INPUT -m state —state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m multiport -j ACCEPT —dports 80,443,25,465,110,995,143,993,587,465,22 -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m tcp —dport 10000 -j ACCEPT -A INPUT -p tcp -m tcp —dport 5900:5910 -j ACCEPT -A fail2ban-ssh -j RETURN -A INPUT -p icmp -j ACCEPT COMMIT 

最后这里是我的ip6tables防火墙configuration

 filter :INPUT DROP [1653:339023] :FORWARD DROP [0:0] :OUTPUT ACCEPT [60141:13757903] :hold – [0:0] -A INPUT -m state —state RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m multiport —dports 80,443,25,465,110,995,143,993,587,465,22 -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m tcp —dport 10000 -j ACCEPT -A INPUT -p tcp -m tcp —dport 5900:5910 -j ACCEPT -A INPUT -p ipv6-icmp -j ACCEPT COMMIT 

所以总结:

  1. iptraf总是显示IPv6stream量,所以它总是把它送到服务器

  2. 服务器在没有stream量一段时间(10分钟)之前停止在IPv6上进行回复,直到出站连接完成,然后重复该过程。

  3. 服务器是永远iptraf访问vi相同的ISP(但iptraf仍然显示IPv6请求)

注意:当我试图从同一个城市的ISP访问它,即使iptablesip6tables允许所有入站stream量,这是iptraf显示。

 IPv6 (92 bytes) from 97.92.18.xxx to 24.159.218.xxx on eth0 ICMP dest unrch (port) (120 bytes) from 24.159.218.xxx to 97.92.18.xxx on eth0 

奇怪的是,即使IPv6地址在主机文件中设置为服务器域名,也是如此。 通过上面的configurationiptables正常设置它只是这样说的:

 IPv6 (100 bytes) from 97.92.18.xxx to 24.159.218.xxx on eth0 

另外,我注意到了另一件事。 当我能够访问我的服务器时,所有的IPv6请求都会显示出来

 IPv6 (100 bytes) from 68.114.165.1 to 24.159.218.xxx on eth0 

这意味着他们正在经历第六次接力,但是当相同的ISP请求显示来自诚实的源IP时,这使我认为路线可能与此有关。

我真的坚持这一点,任何帮助将非常感激。

编辑:不知道这是否会有所帮助,但这里是我的路线。

 root@XXXXXXX:~# route -A inet6 Kernel IPv6 routing table Destination Next Hop Flag Met Ref Use If ::68.114.165.1/128 :: U 1024 0 1 charterv6 2602:100::/32 :: Un 256 0 0 charterv6 fe80::/64 :: Un 256 0 0 charterv6 fe80::/64 :: U 256 0 0 eth1 fe80::/64 :: U 256 0 0 eth2 ::/0 ::68.114.165.1 UG 1024 0 30 charterv6 ::/0 :: !n -1 1 32 lo ::1/128 :: Un 0 3 47 lo 2602:100:189f:xxxx::1/128 :: Un 0 1 50 lo fe80::189f:xxxx/128 :: Un 0 1 0 lo fe80::21b:21ff:fe98:456a/128 :: Un 0 1 0 lo fe80::21b:21ff:feab:bd3c/128 :: Un 0 1 0 lo ff00::/8 :: U 256 0 0 charterv6 ff00::/8 :: U 256 0 0 eth1 ff00::/8 :: U 256 0 0 eth2 ::/0 :: !n -1 1 32 lo 

你使用有状态的过滤ipv4,我看不到任何规则允许入站封装6rdstream量,也许这是问题?

如果我没有弄错,6号也使用协议编号41?

 iptables -I INPUT 3 --protocol 41 -s 68.114.165.1 -j ACCEPT 

编辑:如果你想接收来自他们的stream量,你还需要接受来自ISP的其他第六位客户的范围内的stream量。