Я использую Debian Wheezy на выделенном сервере, который одновременно использует IPv4 и IPv6.
ifconfig eth0
eth0 Link encap:Ethernet HWaddr 11:11:11:11:11:11
inet adr:90.0.0.1 Bcast:90.0.0.255 Masque:255.255.255.0
adr inet6: fe80::21c:c0ff:feb9:829c/64 Scope:Lien
adr inet6: 2001:a100:1:bbbb::1/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1544 errors:0 dropped:0 overruns:0 frame:0
TX packets:2199 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:304146 (297.0 KiB) TX bytes:1376282 (1.3 MiB)
(Через несколько минут счетчик сброшенных приемов увеличивается.)
кот / и т.д. / сеть / интерфейсы
Сначала я использовал ключевое слово "шлюз", но это не сработало, поэтому я попытался добавить маршрут в файл, но это тоже не сработало.
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 90.0.0.1
netmask 255.255.255.0
network 90.0.0.0
broadcast 90.0.0.255
gateway 90.0.0.254
iface eth0 inet6 static
address 2001:a100:1:bbbb::1
netmask 64
# gateway 2001:a100:1:bbff:ff:ff:ff:ff
up ip -6 route add ::/0 via 2001:a100:1:bbff:ff:ff:ff:ff dev eth0
down ip -6 route del ::/0 via 2001:a100:1:bbff:ff:ff:ff:ff dev eth0
ip -6 маршрут показать
Это маршруты, показанные через несколько минут после перезагрузки сервера.
2001:a100:1:bbbb::/64 dev eth0 proto kernel metric 256
2001:a100:1:bb00::/56 dev eth0 proto kernel metric 256 expires 2591959sec
fe80::/64 dev eth0 proto kernel metric 256
default via fe80::224:c3ff:fe84:400 dev eth0 proto ra metric 1024 expires 1759sec
default via fe80::224:c3ff:fe84:800 dev eth0 proto ra metric 1024 expires 1759sec
Вопросы
Почему не учитывается мой маршрут по умолчанию (независимо от ключевого слова gateway
или ip -6 route add
в /etc/network/interfaces
, во время загрузки? Обратите внимание: если я добавлю маршрут вручную, он будет работать отлично, и я могу передавать и принимать в Интернет и из Интернета с помощью IPv6. (Проблема в том, чтобы сделать это автоматическим.)
Что это за странные маршруты ядра, срок действия которых истекает? Они мне нужны? Мой сервер подключен напрямую к той же сети, что и пользователь root (2001: a100: 1: bbff: ff: ff: ff: ff), который сам напрямую подключен к Интернету.
РЕДАКТИРОВАТЬ
ifdown - принудительно использовать eth0; ifup --verbose eth0;
Configuring interface eth0=eth0 (inet)
run-parts --verbose /etc/network/if-pre-up.d
ip addr add 90.0.0.1/255.255.255.0 broadcast 90.0.0.255 dev eth0 label eth0
ip link set dev eth0 up
ip route add default via 90.0.0.254 dev eth0
run-parts --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/avahi-daemon
run-parts: executing /etc/network/if-up.d/bind9
run-parts: executing /etc/network/if-up.d/mountnfs
run-parts: executing /etc/network/if-up.d/ntpdate
run-parts: executing /etc/network/if-up.d/openssh-server
run-parts: executing /etc/network/if-up.d/openvpn
run-parts: executing /etc/network/if-up.d/postfix
run-parts: executing /etc/network/if-up.d/upstart
Configuring interface eth0=eth0 (inet6)
run-parts --verbose /etc/network/if-pre-up.d
modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.
sysctl -q -e -w net.ipv6.conf.eth0.autoconf=0
ip link set dev eth0 up
ip -6 addr add 2001:a100:1:bbbb::1/64 dev eth0
ip -6 route add default via 2001:a100:1:bbff:ff:ff:ff:ff dev eth0
RTNETLINK answers: File exists
Failed to bring up eth0.
Возможно эти sysctl
настройки могут вам помочь?
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.all.accept_ra=0
У меня работает следующая конфигурация в / etc / network / interfaces:
iface eth0 inet6 static
address 2001:a100:1:bbbb::1
netmask 64
up ip -6 route add default via 2001:a100:1:bbff:ff:ff:ff:ff
down ip -6 route del default via 2001:a100:1:bbff:ff:ff:ff:ff