Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: IPv6 и подключение по DHCP  (Прочитано 1548 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Димон Дурак

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
  • Дурак это не фамилия, дурак - это профессия
    • Просмотр профиля
IPv6 и подключение по DHCP
« : 04 Февраля 2013, 14:07:27 »
Доброе утро

Имеется домашний роутер с ubuntu server
auto eth0
   iface eth0 inet dhcp
auto eth1
   iface eth1 inet static
   address 192.168.0.1
   netmask 255.255.255.0

Имеется ipv6-туннель от Hurricane Electric, который даже работает, когда вручную создаю туннель, вводя команды Example Configuration:

modprobe ipv6
ip tunnel add he-ipv6 mode sit remote 216.66.80.30 local 46.XX.XX.105 ttl 255
ip link set he-ipv6 up
ip addr add 2001:470:XXXX:XXX::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip -f inet6 addr

Пичаль в том, что провайдер выдает внешнее подключение по dhcp и соответственно после смены IP туннель перестаёт работать.

Можно дёрнуть волшебную ссылку
https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&pass=NESKAZHU&user_id=NESKAZHU&tunnel_id=NESKAZHUкоторая обновит настройки туннеля на стороне брокера, после чего выполнив команды привёденные выше, но уже с правильным текущим адресом, снова всё заработает.

Собственно, вопрос в первом приближении такой: как поднимать туннель автоматически, например при перезагрузке?

PS
Я не волшебник, я только учусь, потому прошу разжевать подробно, как для нуба, кем, собственно, я и являюсь.

Спасибо.



Дурак это не фамилия, дурак - это профессия

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: IPv6 и подключение по DHCP
« Ответ #1 : 04 Февраля 2013, 14:21:38 »
Вероятно сможет помочь примерно такое решение
Код: (text) [Выделить]
# file /etc/network/interfaces
auto he0
iface he0 inet6 v4tunnel
      address $(ipv6calc --quiet --action conv6to4 $(ifconfig eth0 | awk -F ":"  '/inet addr/{split($2,a," ");print a[1]}'))
      netmask 64
      local $(ifconfig eth0 | awk -F ":"  '/inet addr/{split($2,a," ");print a[1]}')
      endpoint 216.66.80.30
      gateway ::/0
      post-up wget -q -O /dev/null https://ipv4.tunnelbroker.net/ipv4_end.phpipv4b=AUTO&pass=NESKAZHU&user_id=NESKAZHU&tunnel_id=NESKAZHU
     
OpenWrt 19.07

Оффлайн Димон Дурак

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
  • Дурак это не фамилия, дурак - это профессия
    • Просмотр профиля
Re: IPv6 и подключение по DHCP
« Ответ #2 : 04 Февраля 2013, 15:19:36 »
Вероятно сможет помочь примерно такое решение

Не сработало, но помогло определится с вектором решения.

Что если написать скрипт - например ipv6-tunnel с параметрами start/stop/restart - и вызывать его в пост-апе eth0
Дурак это не фамилия, дурак - это профессия

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: IPv6 и подключение по DHCP
« Ответ #3 : 04 Февраля 2013, 21:03:59 »
Тогда уж вызывать из /etc/dhcp{3}/dhclient-exit-hooks.d/ потому как адрес может изменится из-за новой аренды от dhcp-сервера, там  и переменные нужные для этого есть.
OpenWrt 19.07

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1107
    • Просмотр профиля
Re: IPv6 и подключение по DHCP
« Ответ #4 : 04 Февраля 2013, 21:55:46 »
В /etc/network/interfaces:

auto tun6in4
iface tun6in4 inet6 v4tunnel
    address 2001:470:1f0a:ce6::2
    netmask 64
    gateway 2001:470:1f0a:ce6::1
    endpoint 216.66.80.30
    local any
    ttl 255

Вся соль в указании "any". Хотя адрес у меня статический и я подозреваю что реконфигурацию на той стороне всё же придётся делать. Но тут можно скриптом в хуках dhcp сделать.

Оффлайн Димон Дурак

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
  • Дурак это не фамилия, дурак - это профессия
    • Просмотр профиля
Re: IPv6 и подключение по DHCP
« Ответ #5 : 06 Февраля 2013, 10:21:11 »
Большое спасибо - всё заработало. Описал интерфейс туннеля с local any и сделал в хуке dhcp вызов урла обновления параметров туннеля.

Теперь на сервере ipv6 работает, клиент получает v6 через dnsmasq, но почему-то не проходит test-ipv6.com. Ушёл постигать дзен iptables
Дурак это не фамилия, дурак - это профессия

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1107
    • Просмотр профиля
Re: IPv6 и подключение по DHCP
« Ответ #6 : 09 Февраля 2013, 01:27:32 »
Большое спасибо - всё заработало. Описал интерфейс туннеля с local any и сделал в хуке dhcp вызов урла обновления параметров туннеля.

Теперь на сервере ipv6 работает, клиент получает v6 через dnsmasq, но почему-то не проходит test-ipv6.com. Ушёл постигать дзен iptables

Может ip6tables? :) Поделиться скриптом?:)

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Re: IPv6 и подключение по DHCP
« Ответ #7 : 09 Февраля 2013, 05:14:18 »
Поделиться скриптом?:)
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
Далее по вкусу.
OpenWrt 19.07

Оффлайн Димон Дурак

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
  • Дурак это не фамилия, дурак - это профессия
    • Просмотр профиля
Re: IPv6 и подключение по DHCP
« Ответ #8 : 14 Февраля 2013, 13:43:05 »
Может ip6tables? :) Поделиться скриптом?:)

Вообще-то то и то. У меня же шлюз, на котором и 4 и 6 сеть.

А скрипт было бы интересно позырить, это да... А то я начал было писать свой, да как-то  временно подзабил. 


Теперь на сервере ipv6 работает, клиент получает v6 через dnsmasq, но почему-то не проходит test-ipv6.com.

А потому не проходили тесты, потому что забыл я раскомментить enable-ra в /etc/dnsmasq.conf
Вот  8)
« Последнее редактирование: 14 Февраля 2013, 22:29:44 от Димон Дурак »
Дурак это не фамилия, дурак - это профессия

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1107
    • Просмотр профиля
Re: IPv6 и подключение по DHCP
« Ответ #9 : 15 Февраля 2013, 13:26:34 »
А скрипт было бы интересно позырить, это да... А то я начал было писать свой, да как-то  временно подзабил. 

Вот мой скрипт:

#!/bin/sh

# Имя нашего ipv6-интерфейса
IF_EXT="tun6in4"
IF_INT="br0"

# Сбрасываем все правила
ip6tables -F

################################################################################
# Устанавливаем политики по умолчанию:
# Запрещаем входящие пакеты
ip6tables -P INPUT DROP
# Разрешаем исходящие
ip6tables -P OUTPUT ACCEPT
# Запрещаем пересылку
ip6tables -P FORWARD DROP
################################################################################

################################################################################
# Минимально-необходимые правила:
# Разрешаем весь трафик внутри localhost
ip6tables -A INPUT -i lo -j ACCEPT
# Разрешаем входящие пакеты, идущие в ответ на исходящие
ip6tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
################################################################################

# Разрешаем весь трафик с локальной сети
ip6tables -A INPUT -i ${IF_INT} -j ACCEPT


# Фовардинг
ip6tables -A FORWARD -i ${IF_INT} -o ${IF_EXT} -j ACCEPT
ip6tables -A FORWARD -i ${IF_EXT} -o ${IF_INT} -m state --state RELATED,ESTABLISHED -j ACCEPT

 

Страница сгенерирована за 0.038 секунд. Запросов: 25.