3

Я не могу настроить свой Ubuntu Server (16.04 LTS) с OpenSSH через IPv6. Сервер работает внутри VirtualBox Machine, в которой сетевой интерфейс имеет значение "сетевой мост" (если это правильный перевод с немецкого).

Я могу подключиться по ssh, используя IPv4 в моей домашней сети, то есть без проблем работает следующее:

ssh user1@192.168.0.14

Однако мой интернет-провайдер (Vodafone/Kabel Deutschland), по-видимому, мигрирует своих клиентов на IPv6 и, таким образом, отключил IPv4 со всеми его функциями, включая переадресацию портов, на отправляемом ими маршрутизаторе / модеме (CH7466CE Wireless Voice Gateway Firmware version 4.50.18.16) ,

Поэтому я попытался запустить ssh с использованием IPv6, но без игры в кости! Любая попытка подключиться к коробке из-за пределов моей собственной сети, например, так:

ssh -6 user1@xxxx.dynv6.net

приводит к следующему сообщению об ошибке:

ssh: connect to host xxxx.dynv6.net port 22: No route to host

Это несмотря на то, что я могу пинговать коробку:

--- xxxx.dynv6.net ping6 statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.506/0.620/0.684/0.081 ms

Теперь, насколько я понимаю, это, скорее всего, ошибка маршрутизации / сети, поскольку адрес IPv6 является прямым путем к блоку, следовательно, полностью превосходит маршрутизатор. Я прав до сих пор?

С моими (потенциально ниже) средними навыками я попытался решить эту проблему, открыв порт 22 в ip6tables, но опять же: без игры в кости!

Вот еще немного информации на случай, если это поможет:

$ sudo lsof -i |grep ssh
sshd     2385     root    3u  IPv6  19777      0t0  TCP *:ssh (LISTEN)
sshd     2385     root    4u  IPv4  19785      0t0  TCP *:ssh (LISTEN)
sshd     2796     root    3u  IPv4  20851      0t0  TCP 192.168.0.14:ssh->192.168.0.8:62519 (ESTABLISHED)
sshd     2874    user1    3u  IPv4  20851      0t0  TCP 192.168.0.14:ssh->192.168.0.8:62519 (ESTABLISHED)

$ sudo netstat -l --numeric-ports | grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
unix  2      [ ACC ]     STREAM     LISTENING     20622    private/verify

$ sudo ip6tables -L -v -n
Chain INPUT (policy ACCEPT 116 packets, 39020 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp      enp0s3 *       ::/0                 ::/0                 tcp dpt:22

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     tcp      enp0s3 *       ::/0                 ::/0                 tcp dpt:22

Chain OUTPUT (policy ACCEPT 108 packets, 37676 bytes)
 pkts bytes target     prot opt in     out     source               destination        

Я надеюсь, что это достаточно приличная информация для начала. Я потратил значительную часть сегодняшнего дня, пытаясь обойти эту проблему, но, очевидно, не доберусь туда самостоятельно. Надеюсь, вы, ребята, можете помочь!

Дайте мне знать, если вам понадобится какая-либо другая / дополнительная информация.

JW

1 ответ1

1

Проблема (вроде) решена!

Благодаря @grawity я исследовал вывод traceroute6 и обнаружил, что используемый мной IPv6 не работает.

Когда используешь

ip a show enp0s3

Я получаю два IPv6-адреса, и из того, что я прочитал в интернете, первый получен из mac-адреса моей системы, а второй - более анонимный. Как-то последнее не похоже на работу в моем случае. Почему, я не знаю - и так как мне не нужно делиться этим в сети, мне действительно все равно.

На данный момент моя установка DynDns IPv6 SSH работает без проблем. Спасибо @ grawity!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .