Почему IPv6 убивает мою сеть в Ubuntu 12.04?

Хорошо, у меня работает замечательный безголовый сервер Ubuntu 12.04. Это очень счастливо. Это мой роутер / брандмауэр / DNS / и т.д. eth0 - это WAN, eth1 - это LAN.

Я могу легко подключить свой туннель IPv6 Hurricane Electric, и мой сервер продолжит нормально работать, и видит & amp; просматривает как ip4 & amp; ip6 сайты. Yay.

Но если ip6 запущен, я не могу, на всю жизнь, заставить остальную часть моей сети просматривать что-либо за пределами моей сети.

Но если я откатил изменения, моя сеть в порядке.

DNS, похоже, все еще работает, так как я могу пинговать с клиентского компьютера & amp; он разрешит адрес, но на самом деле он не вернет пинг.

Какую информацию я могу дать, чтобы помочь вам помочь?

Я думаю, что после добавления ip6 он не соединяется должным образом с eth1 на eth0. Но я не могу понять, почему мост ip4 ломается.

Вот мои рабочие интерфейсы:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address <ISP-STATICIP>
        netmask 255.255.255.240
        network <ISP-Assigned>
        broadcast <ISP-Assigned>
        gateway <ISP-Assigned>
        dns-nameservers 208.67.222.222 208.67.220.220 8.8.8.8 8.8.4.4
        post-up iptables-restore < /etc/iptables.up.rules
        dns-domain tymanthius.net
        # dns-* options are implemented by the resolvconf package, if installed
        MTU 9000

auto eth1
iface eth1 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        MTU 9000

И это сломано:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo eth0 eth1 he-ipv6
iface lo inet loopback

# The primary network interface
iface eth0 inet static
        address <ISP-STATICIP>
        netmask 255.255.255.240
        network <ISP-Assigned>
        broadcast <ISP-Assigned>
        gateway <ISP-Assigned>
        dns-nameservers 208.67.222.222 208.67.220.220 8.8.8.8 8.8.4.4 2620:0:ccc::2 2620:0:ccd::2 2001:4860:4860::8888 2001:4860:4860::8844
        dns-domain tymanthius.net
        gateway 98.175.23.209
        # dns-* options are implemented by the resolvconf package, if installed

iface eth1 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        broadcast 192.168.1.255
        network 192.168.1.0

iface he-ipv6 inet6 v4tunnel
        endpoint 216.218.224.42
        address 2001:470:1f0e:1034::2
        netmask 64
        up ip -6 route add default dev he-ipv6
        down ip -6 route del default dev he-ipv6
        gateway 2001:470:1f0e:1034::3

iface eth0 inet6 static
        pre-up /sbin/modprobe -q ipv6 ; /bin/true
        address 2001:470:1f0e:1034::3
        netmask 64

iface eth1 inet6 static
        pre-up /sbin/modprobe -q ipv6 ; /bin/true
        address 2001:470:1f0e:1034::4
        netmask 64

Единственное другое изменение, которое я сделал, было добавить строку в sysctrl.conf, которая читает "net.ipv6.conf.default.forwarding = 1"

2
задан 4 January 2013 в 18:13

1 ответ

Вы удалили строку

post-up iptables-restore < /etc/iptables.up.rules

IPv4 использует iptables, а IPv6 использует ip6tables. Возможно, изменение вашей конфигурации iptables нарушает вашу связь IPv4. Так что вы, вероятно, не хотите удалять эту строку. Он может определять политику для пересылки пакетов IPv4 между вашими интерфейсами eth0 и eth1, так что это может нарушить вашу конфигурацию ...

Чуть дальше у вас сломанная конфигурация IPv6, но это не должно влиять на ваше подключение IPv4.

Для туннеля вы определяете два шлюза по умолчанию:

iface he-ipv6 inet6 v4tunnel
    endpoint 216.218.224.42
    address 2001:470:1f0e:1034::2
    netmask 64
    up ip -6 route add default dev he-ipv6
    down ip -6 route del default dev he-ipv6
    gateway 2001:470:1f0e:1034::3

В строках up / down вы добавляете маршрут по умолчанию, указывающий на туннельное устройство. Строка gateway добавляет другой маршрут по умолчанию, указывающий на неиспользуемый адрес на интерфейсе туннеля (HE всегда дает своему концу туннеля адрес, заканчивающийся на :: 1), так что это сломает вещи. Следующая конфигурация должна работать лучше:

iface he-ipv6 inet6 v4tunnel
    endpoint 216.218.224.42
    address 2001:470:1f0e:1034::2
    netmask 64
    gateway 2001:470:1f0e:1034::1

И затем вы пытаетесь сделать невозможное :-) Вы также пытаетесь использовать адреса, которые туннель использует в вашей ссылке eth0. Это не будет работать. Туннельным префиксом IPv6 является 2001:470:1f0e:1034::/64, который представляет собой все адреса в диапазоне от 2001:0470:1f0e:1034:0000:0000:0000:0000 до 2001:0470:1f0e:1034:ffff:ffff:ffff:ffff. Даже если туннель использует только два адреса из этого диапазона (2001:470:1f0e:1034::1 и 2001:470:1f0e:1034::2), вы не можете использовать другие адреса нигде, кроме как в туннеле.

Похоже, ваша ссылка eth0 - это ваше соединение с вашим провайдером или вышестоящей сетью. Если он не предлагает вам IPv6, не настраивайте его, особенно если адрес не конфликтует с другой ссылкой. Просто удалите следующие строки:

iface eth0 inet6 static
    pre-up /sbin/modprobe -q ipv6 ; /bin/true
    address 2001:470:1f0e:1034::3
    netmask 64

То же самое относится и к ссылке eth1. Вы не можете использовать адреса туннеля на другом интерфейсе. Следующее не будет работать:

iface eth1 inet6 static
    pre-up /sbin/modprobe -q ipv6 ; /bin/true
    address 2001:470:1f0e:1034::4
    netmask 64

При создании туннеля IPv6 на tunnelbroker.net вы получили два / 64. Если у вашего туннеля есть 2001:470:1f0e:1034::/64, то у вашего Routed / 64, вероятно, есть 2001:470:1f0f:1034::/64, но проверьте информацию, полученную от tunnelbroker.net, чтобы подтвердить это. Если я прав, то правильная конфигурация должна быть:

iface eth1 inet6 static
    pre-up /sbin/modprobe -q ipv6 ; /bin/true
    address 2001:470:1f0f:1034::1
    netmask 64

И тогда вы должны включить пересылку IPv6. Примерно так должно быть в вашем файле /etc/sysctl.conf:

# Uncomment the next line to enable packet forwarding for IPv6
#  Enabling this option disables Stateless Address Autoconfiguration
#  based on Router Advertisements for this host
net.ipv6.conf.all.forwarding=1

Чтобы завершить настройку, вам, вероятно, также следует настроить ip6tables так, как вы настроили iptables.

0
ответ дан 4 January 2013 в 18:13

Другие вопросы по тегам:

Похожие вопросы: