Debian, 6rd tunnel e problemas de conexão

6

Para encurtar a história, estou tendo problemas com o IPv6 usando um 6º túnel com meu ISP, Charter Business. Eles oferecem um 6º túnel que acho que eu configurei corretamente, mas o servidor não responde a todas as solicitações de IPv6. Quando o servidor tem as interfaces de rede inativas sem tráfego por cerca de 10 minutos, o IPv6 pára de aceitar conexões de entrada. para permitir novamente, devo ir para o servidor e fazer uma conexão IPv6 de saída (normalmente um ping ) para iniciar o backup. O que é estranho é que se eu executar iptraf quando não estiver funcionando, ele ainda mostrará um pacote IPv6 de entrada ... o servidor simplesmente não está respondendo, e não consigo entender o motivo. Além disso, se eu tentar acessar meu servidor através de IPv6 de uma casa a cerca de 1 milha de distância no mesmo ISP, ele nunca poderá se conectar. sempre expira, mas novamente o iptraf mostra um pacote de entrada IPv6. Mais uma vez, simplesmente não responde. Para testar se meu servidor está acessível através de IPv6, eu sempre tenho que usar meu telefone vzw 4g (eles usam IPv6) ou ipv6proxy dot net.

Aqui estão todas as informações de configuração que meu ISP fornece no servidor de encapsulamento:

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

Aqui está o meu /etc/network/interfaces para o IPv6 (usou x's para bloquear endereços reais)

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

aqui está minha iptables config

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

e por último aqui está o meu ip6tables firewall config

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

Resumo:

  1. iptraf sempre mostra o tráfego IPv6, por isso está sempre chegando ao servidor

  2. O servidor
  3. pára de responder no IPv6 após nenhum tráfego por um tempo (10 minutos) até que uma conexão de saída seja feita e, em seguida, o processo é repetido.

  4. o servidor NUNCA pode ser acessado vi mesmo ISP (ainda iptraf ainda mostra o pedido IPv6)

Notas: Quando tento acessá-lo pelo mesmo provedor de toda a cidade, mesmo com iptables e ip6tables permitindo TODO o tráfego de entrada, isso é o que o iptraf mostra.

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

É estranho fazer isso mesmo com o endereço IPv6 sendo definido no arquivo de hosts para o nome de domínio dos servidores. Com iptables configurado normalmente com as configurações acima, ele apenas diz isto:

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

Além disso, outra coisa que notei. Quando consigo acessar meu servidor, todas as solicitações IPv6 mostram isso

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

o que significa que eles estão passando pelo 6º revezamento, mas quando as mesmas solicitações do ISP mostram que vêm do IP de origem honesto, o que me faz pensar que as rotas podem ter algo a ver com isso.

Estou REALMENTE preso a isso e qualquer ajuda seria MUITO apreciada.

EDIT: Não sei se isso vai ajudar ou não, mas aqui estão minhas rotas.

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
    
por Chris B 28.06.2012 / 03:34

1 resposta

3

Você usa a filtragem com preservação de estado para o ipv4 e não vejo nenhuma regra para permitir o tráfego 6D encapsulado de entrada, talvez esse seja o problema?

Se não me engano, o 6º também usa o protocolo número 41?

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

EDIT: você também precisa ACEITAR o tráfego dos intervalos de outros 6º clientes do seu ISP se quiser receber tráfego deles.

    
por 03.07.2012 / 08:20