OpenSSH não se conecta ao host IPv6 a menos que 'AddressFamily inet6'

5

Eu tenho um cliente e servidor OpenSSH. Ambos estão rodando no Debian 7 com o OpenSSH 6.0. Eu tenho uma VPN estabelecida entre as duas máquinas e a VPN tem IPv6 funcional. Não tem nenhum IPv4.

O problema frustrante é que eu só posso conectar ao servidor usando IPv6 se eu tiver definido a opção AddressFamily inet6 no meu ssh_config. Eu realmente não quero ter que definir essa opção. Parece que devo poder definir AddressFamily any e fazer com que minhas conexões funcionem.

Minha conexão de trabalho por IPv6 é semelhante a essa.

trabalhando ssh_config

Host test-fw-01 test-fw-01.example.org
    HostKeyAlias test-fw-01.example.org
    HostName test-fw-01.example.org
    AddressFamily inet6 

Saída do console de trabalho

# ssh -v test-fw-01.example.org
OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 122: Applying options for test-fw-01.example.org
debug1: /etc/ssh/ssh_config line 370: Applying options for *
debug1: Connecting to test-fw-01.example.org. [2607:fa78:1051:2001::1:26] port 22.
...
Linux test-fw-01 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1+deb7u1 x86_64
root@test-fw-01:~#

trabalhando o tcpdump para a porta 53

# tcpdump -n port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
17:05:27.294506 IP 10.2.4.5.59917 > 10.2.4.51.53: 34233+ AAAA? test-fw-01.example.org. (59)
17:05:27.295398 IP 10.2.4.51.53 > 10.2.4.5.59917: 34233* 1/0/0 AAAA 2607:fa78:1051:2001::1:26 (87)
17:05:27.295762 IP 10.2.4.5.42664 > 10.2.4.51.53: 42285+ AAAA? test-fw-01.example.org. (59)
17:05:27.295970 IP 10.2.4.51.53 > 10.2.4.5.42664: 42285 1/0/0 AAAA 2607:fa78:1051:2001::1:26 (87)

Quando uso AddressFamily any ou AddressFamily inet , vejo isso.

quebrado ssh_config

Host test-fw-01 test-fw-01.example.org
    HostKeyAlias test-fw-01.example.org
    HostName test-fw-01.example.org
    AddressFamily any #supposed to use any?

saída quebrada do console

# ssh -v test-fw-01.example.org
OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 122: Applying options for test-fw-01.example.org
debug1: /etc/ssh/ssh_config line 370: Applying options for *
ssh: Could not resolve hostname test-fw-01.example.org.: Name or service not known

tcpdump para a porta 53 na conexão quebrada

# tcpdump -n port 53
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
17:03:30.814876 IP 10.2.4.5.33824 > 10.2.4.51.53: 23711+ A? test-fw-01.esd189.org. (59)
17:03:30.815276 IP 10.2.4.5.33824 > 10.2.4.51.53: 65399+ AAAA? test-fw-01.esd189.org. (59)
17:03:30.815746 IP 10.2.4.51.53 > 10.2.4.5.33824: 65399* 1/0/0 AAAA 2607:fa78:1051:2001::1:26 (87)
17:03:35.819158 IP 10.2.4.5.33824 > 10.2.4.51.53: 23711+ A? test-fw-01.esd189.org. (59)
17:03:39.481119 IP 10.2.4.51.53 > 10.2.4.5.33824: 23711 ServFail 0/0/0 (59)
17:03:40.819636 IP 10.2.4.5.33824 > 10.2.4.51.53: 23711+ A? test-fw-01.esd189.org. (59)
17:03:45.824898 IP 10.2.4.5.51629 > 10.2.4.51.53: 63582+ A? test-fw-01.esd189.org.esd189.org. (70)
17:03:45.825252 IP 10.2.4.51.53 > 10.2.4.5.51629: 63582 NXDomain* 0/1/0 (137)
17:03:45.825423 IP 10.2.4.5.51629 > 10.2.4.51.53: 12711+ AAAA? test-fw-01.esd189.org.esd189.org. (70)
17:03:45.825669 IP 10.2.4.51.53 > 10.2.4.5.51629: 12711 NXDomain* 0/1/0 (137)
17:03:45.825874 IP 10.2.4.5.56246 > 10.2.4.51.53: 64150+ A? test-fw-01.esd189.org.nwesd.org. (69)
17:03:45.826062 IP 10.2.4.51.53 > 10.2.4.5.56246: 64150 NXDomain* 0/1/0 (139)
17:03:45.826177 IP 10.2.4.5.56246 > 10.2.4.51.53: 21391+ AAAA? test-fw-01.esd189.org.nwesd.org. (69)
17:03:45.826302 IP 10.2.4.51.53 > 10.2.4.5.56246: 21391 NXDomain* 0/1/0 (139)
17:03:49.621048 IP 10.2.4.51.53 > 10.2.4.5.33824: 23711 ServFail 0/0/0 (59)

Dig saída para o servidor de teste.

# dig -t aaaa @10.2.4.51 test-fw-01.example.org.

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> -t aaaa @10.2.4.51 test-fw-01.example.org.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33798
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;test-fw-01.example.org. IN AAAA

;; ANSWER SECTION:
test-fw-01.example.org. 0 IN    AAAA 2607:fa78:1051:2001::1:26

;; Query time: 1 msec
;; SERVER: 10.2.4.51#53(10.2.4.51)
;; WHEN: Mon Sep 30 17:01:41 2013
;; MSG SIZE  rcvd: 87

Eu terei cerca de 70 hosts usando essa VPN IPv6. Quero simplesmente colocar o AddressFamily any na seção Host * do meu ssh_config e depois estabelecer minhas conexões. Eu não quero ter que listar explicitamente todos os meus hosts IPv6 na minha configuração SSH. Não haverá padrão de nomenclatura consistente, então não posso fazer algo como Host *.ipv6 . Eu não quero ter que digitar o -6 para conectar via IPv6. Estou faltando alguma coisa óbvia? O que eu preciso fazer para conectar o OpenSSH ao uso do endereço IPv6 desde que ele esteja disponível?

    
por Zoredache 01.10.2013 / 02:25

1 resposta

2

Vejo as respostas do SERVFAIL e as consultas do DNS dando respostas inconsistentes ao NXDOMAIN. Eu sugiro que você corrija seu DNS. Isso pode não ter nada a ver com o SSH.

    
por 02.10.2013 / 22:09

Tags