LINUX.ORG.RU

ssh по ip6

 ,


0

1

Добрый вечер!

Есть комп с серым ip за Nat провайдера c linux. Требуется подключаться к нему по ssh.

Рассмотрел несколько вариантов: 1. DynDns не подходит, так как за NAT 2. Hamachi платный стал 3. Прочитал про teredo и ip6. Но не совсем понял, как сделать с помощью него это.

На компьютере с линукс я установлю миреда, получи ip6 адрес.

1. Но как подключаться по ip6 с windows по ssh? 2. Как я понял, адрес ip6 будет меняться. Как его узнавать?

Если есть способ проще, прошу сообщить. Заранее спасибо.

А ещё на роутере есть возможность поднять тунель 6to4 и вроде бы присвоился ip адрес. Но я всё равно по нему не могу подключиться. Только на роутере по ip6 проброс портов не происходит, то ли ip6 тоже за нат не проходит провайдера



Последнее исправление: shtrih (всего исправлений: 2)

teredo – дверь в одну сторону. Ты не можешь надеяться на то, что ipv6 адрес не изменится. Посмотри на выхлоп скрипта:

#!/bin/bash                                                                                                                          
                                                                                                                                     
get_teredo ()                                                                                                                        
{                                                                                                                                    
  ip addr show dev teredo | sed -E '/^\s+inet6 2001/!d; s/^\s+inet6 ([^\/]+)\/.*/\1/; q'                                             
}                                                                                                                                    
                                                                                                                                     
fill_teredo ()                                                                                                                       
{                                                                                                                                    
  TEREDO[IPV6]=$1                                                                                                                    
  local A                                                                                                                            
  declare -a A                                                                                                                       
  A=($(echo ${TEREDO[IPV6]} | sed 's/:/ /g'))                                                                                        
  TEREDO[PREFIX]=${A[0]}:${A[1]}                                                                                                     
  local SRV                                                                                                                          
  declare -a SRV                                                                                                                     
  SRV[0]=$((0x${A[2]} >> 8 & 0xff))                                                                                                  
  SRV[1]=$((0x${A[2]} & 0xff))                                                                                                       
  SRV[2]=$((0x${A[3]} >> 8 & 0xff))                                                                                                  
  SRV[3]=$((0x${A[3]} & 0xff))                                                                                                       
  TEREDO[SERVER]=${SRV[0]}.${SRV[1]}.${SRV[2]}.${SRV[3]}                                                                             
  TEREDO[FLAGS]=${A[4]}                                                                                                              
  TEREDO[PORT]=$((~0x${A[5]} & 0xffff))                                                                                              
  local CLNT                                                                                                                         
  declare -a CLNT                                                                                                                    
  CLNT[0]=$((~0x${A[6]} >> 8 & 0xff))                                                                                                
  CLNT[1]=$((~0x${A[6]} & 0xff))                                                                                                     
  CLNT[2]=$((~0x${A[7]} >> 8 & 0xff))                                                                                                
  CLNT[3]=$((~0x${A[7]} & 0xff))                                                                                                     
  TEREDO[CLIENT]=${CLNT[0]}.${CLNT[1]}.${CLNT[2]}.${CLNT[3]}                                                                         
}                                                                                                                                    
                                                                                                                                     
print_teredo ()                                                                                                                      
{                                                                                                                                    
  local KEY
  for KEY in ${!TEREDO[@]}
  do
    echo -e $KEY\\t${TEREDO[$KEY]}
  done
}
 
unset -v TEREDO
declare -xA TEREDO
ip link show teredo >/dev/null 2>&1 && {
fill_teredo $(get_teredo)
print_teredo
}
Deleted
()

А откуда подключаться будешь? Если откуда-то, где статика, то можно реверсивный ssh туннель. Или как он там правильно называется :)

skyman ★★★
()
Ответ на: комментарий от Deleted

в итоге подключился по 6to4 на роутере. Но как я понял адрес будет меняться, и как его узнавать, не совсем понятно мне. А это важно

shtrih
() автор топика
Ответ на: комментарий от shtrih

в dyndns вроде бы ip обновился. Не знаю, будет ли и дальше это происходить.

shtrih
() автор топика

Есть комп с серым ip за Nat провайдера c linux. Требуется подключаться к нему по ssh.
Если есть способ проще, прошу сообщить. Заранее спасибо.

Можно в торе создать скрытый сервис, у него будет постоянный onion-адрес и туда можно будет делать ssh. В гугле полно статей на тему.

deadNightTiger ★★★★★
()
Ответ на: комментарий от shtrih

Linux выбирает себе два внешних ipv6 адреса из /64 подсети. Временный и постоянный соответственно (не считая link-local fe80:: адресов).

Например:

inet6 2002:xxxx:xxxx:1:xxxx:xxxx:xxxx:xxxx/64 scope global temporary dynamic 
    valid_lft 185550sec preferred_lft 0sec
inet6 2002:yyyy:yyyy:1:yyyy:yyyy:yyyy:yyyy/64 scope global mngtmpaddr noprefixroute dynamic 
    valid_lft 2591838sec preferred_lft 604638sec

Здесь адрес помеченный «mngtmpaddr» (2002:yyyy:yyyy:1:yyyy:yyyy:yyyy:yyyy/64) - постоянный. Его и используй.

Из венды можно подключатся как хочешь. Хоть WSL ставь и юзай линуксовую сосноль.

digitaldark
()
Последнее исправление: digitaldark (всего исправлений: 1)
Ответ на: комментарий от shtrih

Teledo плохо стыкует серые друг с другом. Я заходил с нормального ip. Для ipv6 ddns работает аналогично. Но все это работало очень медленно и с разывами(тоже мегафон). Перешел на tor. Правда с третьей версией они путаницу устроили.

boowai ★★★★
()
Ответ на: комментарий от YAR

пишут

NOTE: When behind a firewall appliance that passes protocol 41, use the IPv4 address you get from your appliance's DHCP service instead of the IPv4 endpoint you provided to our broker.

возможно он должен быть статическим, но необязательно белым

sergej ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.