1

Я работаю над проектом в моем университете, и теперь появляется следующая проблема:

Мы получили Сервер [Сервер] с частной сетью IPv6. Некоторые датчики (температура, влажность ...) подключаются через маршрутизатор, и у них есть собственные частные адреса IPv6 в этой частной сети).

Сервер А подключен к внутренней сети университета. Интрасеть не поддерживает IPv6, но IPv4.

Мой собственный компьютер [Клиент] может подключаться к Серверу через VPN и IPv4.

Теперь я хочу получить статус датчиков на клиенте. Сервер и Клиент используют ОС на основе Debian.

(Интернет <->) Клиент <-(IPv6 over) IPv4, VPN -> Сервер <- IPv6 -> Датчик

Я думал о настройке простого туннеля 6to4, но без подключения к Интернету Сервер не может получить доступ к следующему маршрутизатору 6to4 (192.88.99.1).

Есть ли возможность настроить 6to4 "локально" или мне нужно подключение к Интернету?

Что еще я мог сделать, чтобы получить рабочее соединение?

Большое спасибо за помощь! (и особая благодарность Сандеру, я надеюсь, что это правильное место, чтобы задать мой вопрос :))

2 ответа2

2

То, что вы хотите, это не 6to4 а 6in4 , также известный как протокол-41. 6to4 - разрешить устройствам с подключением к Интернету с публичным IPv4-адресом получать доступ к IPv6. Это протокол с серьезными проблемами стабильности, и его больше нельзя использовать. С 6in4 вы можете вручную настроить туннели IPv6-in-IPv4.

Вы можете настроить 6in4 туннель в Debian/Ubuntu следующим образом:

auto ipv6tun
iface ipv6tun inet6 v4tunnel
    address 2001:db8::1
    netmask 64
    endpoint 192.0.2.111
    gateway 2001:db8:0f10:99d::1

В конце без подключения к Интернету IPv6 вы также можете добавить линию шлюза, например:

auto ipv6tun
iface ipv6tun inet6 v4tunnel
    address 2001:db8::2
    netmask 64
    endpoint 192.0.2.222
    gateway 2001:db8::1

Вам следует заменить адреса IPv4 и IPv6 на адреса, подходящие для вашей сети.

PS: RFC7059 скоро будет опубликован. Он содержит обзор механизмов туннелирования IPv6-in-IPv4. Раскрытие: я один из авторов.

0

Вы можете усложнять вещи. Если у вас есть (IPv4) SSH-доступ к серверу, вы можете использовать переадресацию SSH-порта, например, войдя на сервер с помощью этой команды:

ssh -L 12345:[2001:db8::6]:4321 <server-ip4-address>

позволит вам связаться с датчиком (по его IPv6-адресу 2001:db8::6) через порт 12345 на вашем локальном компьютере в течение всего сеанса SSH.

Вы не указали, как следует получать результаты с датчиков. Вышесказанное работает для TCP. В случае UDP, вам нужно будет добавить к смеси немного socat , или, если хотите, немного netcat и mkfifo . ssh -w также может помочь, еще не пробовал.

Netcat или socat также могут помочь создать альтернативу, в которой вы откроете сокет на сервере, который будет перенаправлять трафик на внутренний IPv6-адрес без необходимости держать сеанс SSH открытым.

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