Как я могу найти и удалить 6to4 из моей системы?
На прошлой неделе я установил Miredo и настроил свою систему для обработки IPv6 через туннелирование 6to4. Это было легко, и это работало хорошо.
Поэтому я решил попробовать подключение к IPv6 компании Hurricane Electric. Мне нужно было многому научиться, и я подумал, что у меня все это работает (с большой помощью очень терпеливого человека из Hurricane: мой LinkSys E3200 не любил IPv6).
Но теперь, когда все должно быть хорошо, после того, как я удалил Miredo и Teredo и все остальное, я обнаружил, что существует "туннелирование 6to4 - еще одно автоматическое туннелирование", которое мне нужно удалить из коробки. Но я понятия не имею, где и что это может быть.
К моему компьютеру подключены пара принтеров, внешний жесткий диск и маршрутизатор (который не имеет настроек для IPv6). Все они, я думаю, невинны в этом вопросе.
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:21:9b:1c:26:bb
inet addr:192.168.1.104 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: 2002:42db:c22c:0:221:9bff:fe1c:26bb/64 Scope:Global
inet6 addr: fe80::221:9bff:fe1c:26bb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1427 errors:0 dropped:0 overruns:0 frame:0
TX packets:1342 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1152240 (1.1 MB) TX bytes:177497 (177.4 KB)
Interrupt:20 Memory:fdfc0000-fdfe0000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:720 (720.0 B) TX bytes:720 (720.0 B)
$ ip -6 route show
2002:42db:c22c::/64 dev eth0 proto kernel metric 256 expires 24sec
fe80::/64 dev eth0 proto kernel metric 256
default via fe80::c2c1:c0ff:fec6:3308 dev eth0 proto kernel metric 1024
expires 1794sec hoplimit 64
Итак, как я могу избавиться от туннелирования 6to4, когда я даже не знаю, где это? Есть ли где-нибудь посмотреть и узнать, что происходит? Я довольно новичок в Linux и Ubuntu.
Похоже, что Miredo не работает, но я получаю адреса IPv6 в eth0. Я думаю, это было то, что наблюдал парень из Hurricane Electric, и это заставило его увидеть "туннелирование 6to4 - еще одно автоматическое туннелирование". Это просто особенность Ubuntu?
Он сказал мне это:
Msgstr "Найдите машину с настроенным туннелированием 6to4 и объявив префикс 6to4 для вашей Linux-системы.
Вот подсказка: согласно вашей таблице маршрутизации IPv6 fe80::XXXX:XXXX:XXXX:XXXX - это локальный адрес ссылки для вашего шлюза по умолчанию. Можете ли вы проверить и посмотреть, какое устройство имеет MAC-адрес XX-XX-XX-XX-XX?"
Оказывается, устройство с этим MAC-адресом - мой маршрутизатор LinkSys! (Который не поддерживает IPv6!) Я этого не понимаю.
1 ответ
Чтобы понять, что происходит с вашей сетью, ifconfig
это отличный инструмент. Он показывает вам все интерфейсы на вашем компьютере и какие адреса они имеют. Еще один хороший инструмент ip -6 route show
(Версия IPv4: ip route show
).
Адреса 6to4 всегда начинаются с '2002:xxxx:xxxx:' (например, 2002:40b8:f37f:). Для сравнения, адрес teredo всегда будет начинаться с '2002:0:' (или 2002:0000: то же самое). Не путайте 6to4 с настроенным туннелем HE. Туннель HE использует 6в4, и его адрес начинается с '2001:470:'.
Из вашего обновленного вопроса я вижу, что в вашей системе нет туннелирования 6to4. Ваш маршрутизатор туннелирует весь трафик IPv6, который проходит через него, используя адреса '2002:42db:c22c:0:' через туннель 6to4. Он выдает адреса из своего туннеля в локальную сеть. Очевидно, ваш маршрутизатор поддерживает IPv6.
Итак, как ваш компьютер имеет адрес IPv6 6to4 без туннеля 6to4? Итак, ваш компьютер использует адрес, который он получает от маршрутизатора, для создания собственного IPv6 в вашей домашней сети. Когда у него есть интернет-трафик IPv6, он отправляет его на маршрутизатор, который отправляет его в туннель 6to4.
Итак, вся ваша сеть в настоящее время имеет IPv6, и у вас есть выбор. Вы можете разрешить маршрутизатору выполнять IPv6 для сети, который будет давать вам другой IPv6-адрес каждый раз, когда вы меняете IPv4-адрес. Или вы можете сделать так, чтобы ваша Ubuntu делала IPv6 для вашей сети и имела статические адреса от HE. Я думаю, что также возможно сделать и то и другое.
Чтобы игнорировать IPv6-адреса, объявленные маршрутизатором, щелкните значок сетевого администратора и нажмите "Изменить подключения". (Non-Unity: вместо этого щелкните правой кнопкой мыши, чтобы открыть меню). На проводной вкладке дважды щелкните по соединению Auto eth0. Перейдите на вкладку IPv6. Выберите Игнорировать вместо Автоматически.
Я написал инструкции по настройке туннелей HE в Ubuntu по адресу https://erikbandersen.com/wordpress/?p=28. Я скопировал некоторые из них здесь.
Давайте настроим наше туннельное соединение IPv6. Бежать
gksudo gedit /etc/network/interfaces
и добавьте следующее:
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
endpoint 216.218.226.238
address 2001:470:a:d29f::2
netmask 64
ttl 64
up ip -6 route add default dev he-ipv6
down ip -6 route del default dev he-ipv6
Замените настройку конечной точки (216.218.226.238) на поле адреса IPv4 сервера на странице сведений о туннеле, а настройку адреса (2001:470:a:d29f::2) на поле адреса клиента IPv6 на странице сведений о туннеле. Сохраните файл. Хорошо, теперь давайте начнем туннельное соединение: запустить gksudo ifup he-ipv6
,
(С этого момента реклама ваших адресов туннеля должна передаваться остальной части сети.)
Хорошо, теперь давайте настроим компьютер для пропуска IPv6 через себя, вместо того, чтобы принимать только трафик для себя. Откройте /etc/sysctl.conf. Ищите линии
net.ipv6.conf.default.forwarding=0
а также
net.ipv6.conf.all.forwarding=0
и изменить их обоих из 0
в 1
добавление строк (с =1), если они не существуют. Сохраните файл и запустите
gksudo sysctl -p
Щелкните правой кнопкой мыши значок сетевого администратора на панели задач и выберите "Редактировать подключения". Выберите подключение к локальной сети и нажмите "Изменить". Перейдите на вкладку "Настройки IPv6" и установите "Метод" на "Вручную". Нажмите Добавить. В качестве адреса укажите первый адрес в маршрутизируемой 64. (В этом примере это будет 2001:470:b:d29f::1 .) Для префикса, вставленного в 64
, Для шлюза введите адрес из "IPv6-адреса клиента" на странице сведений о туннеле (в этом примере это будет 2001:470:a:d29f::2). Нажмите применить.
Хорошо, теперь установите пакет radvd, который позволяет другим хостам автоматически настраивать IPv6-адрес из назначенного вам блока Hurricane Electric. Создайте новый текстовый файл и вставьте следующий текст, редактируя в соответствии с указаниями комментариев:
interface eth0 #change this to the interface that connects to the local network
{
AdvSendAdvert on;
AdvHomeAgentFlag off;
MinRtrAdvInterval 30;
MaxRtrAdvInterval 100;
prefix 2001:470:b:d29f::/64 #change this to the "Routed 64" from the tunnel details page
{
AdvOnLink on;
AdvAutonomous on;
#AdvRouterAddr on; #We don't have dhcpv6 on. Only uncomment this if you want clients to look for a dhcpv6 server.
};
};
Сохраните файл как "/etc/radvd.conf"
Если вы используете брандмауэр UFW, откройте /etc/default/ufw в текстовом редакторе, который вы открыли, и измените
IPv6=no
в
IPv6=yes
и изменить
DEFAULT_FORWARD_POLICY="DROP"
в
DEFAULT_FORWARD_POLICY="ACCEPT"
и затем сохраните файл.
Чтобы закончить, запустите демон рекламы маршрутизатора, запустив
/etc/init.d/radvd start