Перейти к публикации
iT4iT.CLUB
svchekalin

Ubuntu

Рекомендованные сообщения

Хочу поделится как я поднимал ipv6 через сервер Ubuntu.

Регистрируемся https://tunnelbroker.net Пароль будет автоматически сгенерирован и выслан на указанный адрес электронной почты.

 

  1. Выбрать в левом меню «User Functions > Create Regular Tunnel»;
  2. На открывшейся странице «Setup Regular IPv6 Tunnel» ввести свой текущий IP-адрес. Важно, чтобы у вас не были заблокированы входящие пакеты ICMP (ping);
  3. В строке «We recommend you use:» будет указан рекомендованный (самый близкий к вам, по мнению HE.net) туннельный сервер. Можно выбрать его, либо какой-нибудь другой из списка ниже. В списке также указаны IP-адреса этих серверов, так что перед выбором можно проверить время отклика и маршрут до каждого с помощью ping или traceroute. Некоторые сервера также могут быть недоступны для выбора (например по причине заполненности, «Not available (full)»). Для находящихся в России, оптимальным сервером будет один из находящихся в Европе (какой именно – зависит от вашего провайдера и точек его подключения к европейским сетям);
  4. Нажать кнопку «Create Tunnel». 
  5. Создав туннель, переходим на экран его настройки В нижней части экрана, под надписью «Example Configurations , видим выпадающий список, где предлагается выбрать используемую вами операционную систему. После указания там ОС , сервер выдаст конфигурацию
чтобы поднять интерфейс ipv6 со своей стороны я использую скриптик который нашел в сети который привожу без изменений можно конечно и без него обойтись но мне просо он понравился )))
Скрытый текст

#!/bin/bash
# Create 6in4 tunnel endpoint script
# for use with http://www.tunnelbroker.com (Hurricane Electric)
# C 2010  icCE aka TuLiss (tuliss@gmail.com)
# Distributed under the terms of the GNU General Public License v3

#Name Tunnel
HE_IPv6="he-ipv6"

#Server IPv4 address:
IPV4_S="-----"

#Client IPv6 address:
IPV6_C="------"

#Interface Wan
INT_WAN="-----"

#Tunel ttl
TUN_TTL="255"

DESC="6in4"

#WAN IP
WAN_IP=$(ip addr show $INT_WAN | awk '/inet/ {print $2}')

case "$1" in
 start)
        echo "Starting $DESC tunnel"
        ifconfig $HE_IPv6 &>/dev/null
        if [ $? -eq 0 ]; then
         echo "Tunnel $HE_IPv6 already exists"
        exit 1
        fi

        ip tunnel add $HE_IPv6 mode sit remote $IPV4_S local $WAN_IP ttl $TUN_TTL
        ip link set $HE_IPv6 up
        ip addr add $IPV6_C dev $HE_IPv6
        ip route add ::/0 dev $HE_IPv6
        ;;

 stop)
        echo "Stopping $DESC tunnel"
        ifconfig $HE_IPv6 &>/dev/null
        if [ $? -ne 0 ]; then
         echo "Tunnel $HE_IPv6 does not exist"
        exit 1
        fi

        ip link set $HE_IPv6 down
        ip tunnel del $HE_IPv6
        ;;

        *)
          echo "Usage: $0 {start|stop}" >&2
         exit 1
esac
exit 0

Чтобы проверить, работает ли настроенный вами туннель, можно попробовать попинговать IPv6-версию Google. В GNU/Linux это делается командой ping6 ipv6.google.com, а в Windows – ping ipv6.google.com. Либо, зайти на какие-нибудь IPv6-сайты через браузер: к примеру, на тот же ipv6.google.com илиSixy.ch, каталог доступных по IPv6 сайтов.
Поскольку на сайте брокера, в настройках туннеля, должен быть прописан ваш IPv4, существует необходимость эту информацию, при её изменении (получении нового IP-адреса), обновлять. Для этого, нужно тем или иным образом «дёрнуть» вот такой URL

https://<ваш логин>:<ваш пароль>@ipv4.tunnelbroker.net/nic/update?hostname=<ID тунеля>

ну и конечно если мы раздаем с машины внутрь сети

# apt-get install radvd

/etc/radvd.conf

Скрытый текст

interface eth0
{
  AdvSendAdvert on;
  MaxRtrAdvInterval 30;

  prefix 2001:XXXX:YYYY:ZZZZ::1/64 //берем из 
Routed IPv6 Prefixes
  {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr off;
    AdvValidLifetime 300;
    AdvPreferredLifetime 120;
  };
};


Включаем форвардинг:
/etc/sysctl.conf
net.ipv6.conf.all.forwarding=1



# sysctl -w net.ipv6.conf.default.forwarding=1
# echo 1 > /proc/sys/net/ipv6/conf/all/forwarding


Перезапускаем radvd:
# invoke-rc.d radvd restart

Теперь все компьютеры из локальной сети должны автоматически получить IPv6 адреса и адрес шлюз. За процессом можно следить на сервере при помощи команды radvdump, а на клиентах проверять наличие адреса при помощи ip -6 a.

DNS-сервер придётся прописать клиентам вручную а если хочется все-таки автоматизировать этот процесс то выход есть


Так как адреса клиентов основываются на MAC адресах, то в результате получаются адреса вида: 2001:528d:d4b6:1:215:f2ff:fe55:2d85. Работать с этим довольно тяжело, запомнить — невозможно. На помощь приходит multicast dns и его реализация в виде Avahi.

# apt-get install avahi-daemon avahi-utils

Проверяем наличие в /etc/avahi/avahi-daemon.conf строк:
[server]
use-ipv4=yes
use-ipv6=yes


Теперь все компьютеры в локальной сети получат имена вида hostname.local. Эти имена будут резолвиться по умолчанию в IPv4 адреса. Чтобы они резолвились по умолчанию в IPv6, правим строчку в /etc/nsswitch.conf.
Скрытый текст


Было:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4


Стало:

 

hosts: files mdns_minimal [NOTFOUND=return] dns mdns
 



Теперь можно использовать имена hostname.local и по умолчанию будут устанавливаться IPv6 соединения. если сразу не заработало то 

на сервере возможно придется добавить маршрут 

ip -6 route add 2001:470:хх:ххх::/64 dev eth0 ну или как там у вас внутренний интерфейс называется. Вот и все на данный момент отключил ip4 в локалке совсем так сказать ощутить будущее и могу сказать что пишу все это с шестого реального айпишника а значит форум it4it.club уже готов к будущему  

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пожалуйста, войдите для комментирования

Вы сможете оставить комментарий после входа



Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...