На написание данной заметки натолкнули некоторые комментарии к недавней статье “Не слишком щепетильный способ продажи ПО” о программе TeamViewer. Попытаюсь вкратце описать один не слишком сложный и в то же время достаточно универсальный способ “зайти” с одного компьютера на другой, если они оба за натом.
Собственно, к делу. Для того, чтобы установить соединение, на каждом компьютере создадим IPv6-туннель при помощи какого-либо сервиса туннелирования IPv6. Оба компьютера при этом получат полноценный IPv6 адрес и между ними можно будет установить соединение по ssh, vnc или другой технологии. Конечно, если у обоих компьютеров уже есть IPv6 адрес, предоставленный провайдером, никаких телодвижений по поднятию туннелей производить не нужно. К сожалению, подавляющее большинство провайдеров к IPv6 еще не готовы и наличие у пользователя прямого доступа в интернет по IPv6 – большая редкость.
Самым известным сервисом туннелирования IPv6, пожалуй, является вот этот от Hurricane Electric. Для поднятия туннеля нужно пройти регистрацию, получить сеть IPv6 и скопипастить команды для Вашей системы из браузера в консоль.
Есть и более простой способ поднятия туннеля, используя сервис туннелей Freenet6. Сервис предоставляет анонимный доступ (можно не регистрироваться). Для поднятия IPv6-туннеля следует загрузить и запустить программку с их сайта. Для моей kubuntu она уже была в репозитории:
sudo apt-get install gogoc
gogoc при запуске соединяется с сервером и конфигурирует IPv6-туннель. Вот как он выглядит у меня:
$ sudo ifconfig
...
tun Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet6 addr: 2001:5c0:1400:a::45f/128 Scope:Global
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 Metric:1
RX packets:7824 errors:0 dropped:0 overruns:0 frame:0
TX packets:5269 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:5057840 (5.0 MB) TX bytes:771574 (771.5 KB)
...
$ sudo ip -6 route show
2001:5c0:1400:a::6a1 dev tun proto kernel metric 256 mtu 1280
2000::/3 dev tun metric 1
fe80::/64 dev tun proto kernel metric 256
default dev tun metric 1
...
2001:5c0:1400:a::45f – IPv6 адрес, выданный мне Freenet6.
После проделывания аналогичной процедуры на второй машине, можно «зайти» с одной на другую.
$ ssh user@2001:5c0:1400:a::45f
…
или так
Автор: facha