Debian / IPv6: Varsayılan rotanın süresi 1800 saniye sonra sona erer ve bağlantı kesilir


10

Debian 8'i bir vServer üzerinde çalıştırıyorum. Bağlantı birimini kurduktan ve IPv6'yı etkinleştirdikten sonra garip bir şey not ettim. Docker'ın bununla bir ilgisi olup olmadığını bilmiyorum, sadece yükledikten sonra bu sorunu fark ettim.

Varsayılan rotamın süresi yakl. 1800secs. Aslında bu zaman aşımından sonra kayboluyorum. Bu, i (açıkçası) IPv6 bağlantısını kaybettiği zamandır.

root@wopr:~#  ip -6 route
xxxx:yyyy:zzz:xxxx::/64 dev eth0  proto kernel  metric 256
fe80::/64 dev eth0  proto kernel  metric 256
fe80::/64 dev br-5c1ce68ea951  proto kernel  metric 256
fe80::/64 dev br-61f6bbfdbe87  proto kernel  metric 256
[a lot more routed for my docker containers]
default via fe80::1 dev eth0  proto ra  metric 1024  expires 1259sec hoplimit 64

Neden rutinin süresi 1800 s'den sonra dolacak şekilde yapılandırıldı? Bunu nerede yapılandırabilirim?

[değiştir 2016-05-14 16:08]

Varsayılan bir rotayı manuel olarak eklemek gayet iyi çalışıyor. Koymaya devam ediyor. Ama önyükleme sonrası süresi dolmayan bir rotaya ihtiyacım var.

[değiştir 2016-05-14 16:13]

Makine, netcup.de tarafından barındırılan bir KVM ana bilgisayarında çalışıyor. Sağlayıcım tarafından önerilen virtio sürücüsünü kullanıyor.

root@wopr:~# cat /etc/network/interfaces
auto lo
iface lo inet loopback
iface lo inet6 loopback

auto eth0
iface eth0 inet dhcp

iface eth0 inet6 static
       address xxxx:yyyy:zzz:xxxx::1
       netmask 64
       gateway fe80::1

virt-what diyor ki:

root@wopr:~# virt-what
kvm

[edit 2016-05-14 15:34]net.ipv6.conf.default.autoconf 1 olarak ayarlanmış özledim gibi görünüyor . Şimdi /etc/sysctl.d önyükleme bunu bastırmak için bir dosya ekledi:

root@wopr:~# cat /etc/sysctl.d/ipv6.conf
net.ipv6.conf.default.accept_ra=0
net.ipv6.conf.default.autoconf=0
net.ipv6.conf.all.accept_ra=0
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.eth0.accept_ra=0
net.ipv6.conf.eth0.autoconf=0

Liman işçisi hariç, bu makinede çalışan başka uygulama yoktur.
lajuette

Yanıtlar:


8

Görünüşe göre net.ipv6.conf.default.autoconf 1 olarak ayarlanmış.

root@wopr:~# cat /etc/sysctl.d/ipv6.conf
net.ipv6.conf.default.accept_ra=0
net.ipv6.conf.default.autoconf=0
net.ipv6.conf.all.accept_ra=0
net.ipv6.conf.all.autoconf=0
net.ipv6.conf.eth0.accept_ra=0
net.ipv6.conf.eth0.autoconf=0

Şimdi önyükleme zamanında sona ermeyecek bir varsayılan yol olsun. Sorun çözüldü. Beni doğru yöne yönlendirdiğiniz için teşekkürler, Sander.


Sonunda çözümü buldum!
schnawel007

4

1800 saniye bir Yönlendirici Reklamı için varsayılan bir zaman aşımı gibi geliyor.

İlk tahminim, ağda ipv6 nd ra suppressarayüzde yapılandırılmış bir Cisco yönlendirici olmasıydı. Bu modda, bir ana bilgisayar bir RS ile bir tane istediğinde, ancak düzenli olarak yenilemediğinde yönlendirici bir RA gönderir. Bir ana bilgisayar arabirimi getirirken bir RS gönderir, bu da önyüklemeden sonra neden varsayılan bir yol aldığını açıklar.

Bu ayar garip bir yararsız Cisco ayarıdır. Bir yönlendirici, istendiği zaman + düzenli olarak (Cisco'da varsayılan) RA'lar göndermeli veya hiç göndermemelidir ( ipv6 nd ra suppress all). Yarım ayar ipv6 nd ra suppressböyle garip davranışlara neden olur ve kullanılmamalıdır.


root @ wopr: ~ # cat / proc / sys / net / ipv6 / conf / eth0 / accept_ra 0 verir. Sanırım eth0 RA'ları görmezden geliyor?
lajuette

1
Evet, bu durumda RA'ları kullanmaz. Önceden accept_ra=0ayarlanmış bir tanesini önceden kabul etmiş olabilir .
Sander Steffann

0

Aslında, işaretli cevap yanlış. Sorun, docker'ın arabirim (ler) üzerinde iletmeyi etkinleştirmesi ve Linux çekirdeğini belirli bir arabirimdeki RA'ları yok saymasına neden olmasıdır, bkz: https://www.mattb.net.nz/blog/2011/05/12/linux-ignores -IPv6-yönlendirici-reklam-zaman-yönlendirme-etkin olduğu /

Yani, bu durumda doğru çözüm kümesine olduğu accept_raiçin 2:

# cat /etc/sysctl.d/ipv6.conf
net.ipv6.conf.default.accept_ra=2
net.ipv6.conf.all.accept_ra=2
net.ipv6.conf.eth0.accept_ra=2

rota keşfini tamamen devre dışı bırakmak yerine.


Bunu ekledim, yine de docker çalıştıran ana makine varsayılan bir rota almıyor Başka bir docker olmayan ana makine varsayılan bir rota alıyor.
Lenne
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.