Как подключить адрес IPv6 с помощью SSH?

Вопрос или проблема

Моя локальная сеть проста.

sudo ifconfig
enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.31.52  netmask 255.255.255.0  broadcast 192.168.31.255
        inet6 fe80::e23f:49ff:fe57:4bd1  prefixlen 64  scopeid 0x20<link>
        ether    txqueuelen 1000  (Ethernet)
        RX packets 934205  bytes 918638128 (876.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 557104  bytes 69517532 (66.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 2773  bytes 4761793 (4.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2773  bytes 4761793 (4.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Я хочу, чтобы мой VPS имел свой собственный IPv6 адрес.
введите описание изображения здесь

ssh -vv -6  2001:19f0:5401:1cda:5400:02ff:fe8c:056f%enp3s0
OpenSSH_7.4p1 Debian-10+deb9u7, OpenSSL 1.0.2u  20 Dec 2019
debug1: Чтение конфигурационных данных /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config строка 19: Применение опций для *
debug2: разрешение "2001:19f0:5401:1cda:5400:02ff:fe8c:056f%enp3s0" порт 22
ssh: Не удалось разрешить имя хоста 2001:19f0:5401:1cda:5400:02ff:fe8c:056f%enp3s0: Имя или служба не известны

sudo ip -6 addr add 2001:19f0:5401:1cda:5400:02ff:fe8c:056f/128 dev enp3s0
ssh -vv -6  2001:19f0:5401:1cda:5400:02ff:fe8c:056f%enp3s0
OpenSSH_7.4p1 Debian-10+deb9u7, OpenSSL 1.0.2u  20 Dec 2019
debug1: Чтение конфигурационных данных /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config строка 19: Применение опций для *
debug2: разрешение "2001:19f0:5401:1cda:5400:02ff:fe8c:056f%enp3s0" порт 22
ssh: Не удалось разрешить имя хоста 2001:19f0:5401:1cda:5400:02ff:fe8c:056f%enp3s0: Имя или служба не известны

короткий ответ:

вы должны определить свой публичный IPv6.

длинный ответ :

Я предполагаю, что ваш интернет-провайдер дал вам IP, предположим, что у вас есть 2001:0db8:0001:0001::0/64 как публичный IP (на самом деле публичная сеть IPv6).

Теперь попробуйте

sudo ip -6 addr add 2001:0db8:0001:0001::0022/128 dev enp3s0

на локальном хосте.
(замените значение и сетевой интерфейс)

Обратите внимание, что вы не сможете протестировать это “изнутри”. (Я не смог сохранить, когда у меня было два интернет-провайдера). Вы можете использовать онлайн-тесты инструментов ipv6 из интернета.

вы можете проверить ваше соединение IPv6, используя

ping -I enp3s0 ipv6.google.com

Ответ или решение

Подключение к SSH по IPv6: Пошаговое руководство

Подключение к серверу через SSH с использованием IPv6 адреса может быть несколько запутанным, особенно если у вас нет опыта работы с этой технологией. В этом руководстве мы подробно рассмотрим, как правильно настроить соединение по IPv6 и устранить возможные ошибки.

1. Проверка конфигурации сети

Перед тем как подключаться через SSH, нужно убедиться, что ваш сетевой интерфейс настроен правильно. Вы можете использовать команду ifconfig для отображения текущих настроек сети. В вашем случае вы видите следующее:

enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.31.52  netmask 255.255.255.0  broadcast 192.168.31.255
        inet6 fe80::e23f:49ff:fe57:4bd1  prefixlen 64  scopeid 0x20<link>

2. Настройка публичного IPv6 адреса

Для подключения к VPS, вам необходимо добавить публичный IPv6 адрес, который был предоставлен вашим провайдером. Например, если ваш тарифный план предусматривает использование адреса 2001:0db8:0001:0001::0/64, вам нужно его добавить как отдельный адрес.

Используйте следующую команду, чтобы добавить IPv6 адрес к интерфейсу enp3s0:

sudo ip -6 addr add 2001:0db8:0001:0001::0022/128 dev enp3s0

Замените 2001:0db8:0001:0001::0022 на ваш фактический публичный IPv6 адрес.

3. Проверка подключения

Важно проверить, работает ли IPv6 подключение. Вы можете сделать это с помощью команды ping:

ping -I enp3s0 ipv6.google.com

Если вы получаете ответы, значит, ваше соединение настроено верно.

4. Подключение к серверу через SSH

Теперь вы готовы подключиться к вашему VPS через SSH. Для этого используйте следующую команду:

ssh -6 2001:0db8:0001:0001::0022

Если вы видите сообщение об ошибке, такое как:

ssh: Could not resolve hostname 2001:0db8:0001:0001::0022%enp3s0: Name or service not known

это указывает на проблему с обработкой адреса. Убедитесь, что вы используете правильный формат и не добавляете ненужные суффиксы, такие как %enp3s0, если это не требуется.

5. Дополнительные рекомендации

  • Убедитесь, что ваш firewall (например, iptables или ufw) не блокирует порт 22, который используется для SSH.
  • Проверьте, что SSH-сервер установлен и запущен на вашем VPS с помощью команды:
sudo systemctl status ssh

Если он не запущен, вы можете активировать его с помощью:

sudo systemctl start ssh

Заключение

Подключение к серверу по IPv6 с использованием SSH требует внимания к деталям конфигурации сетевого интерфейса, корректности адреса и работоспособности сервиса. Следуя этим шагам, вы сможете успешно установить соединение с вашим VPS. Если возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью.

Оцените материал
Добавить комментарий

Капча загружается...