Kullanılmayan bir IP adresini arabirimden kaldırmak neden bu adresle ilgisi olmayan bağlantıları kesiyor?


35

Dün veri merkezindeki (fiziksel) bir sunucuyu hızlıca yeniden kurdum ve zamanımın kısa olması ve veri tabanımıza kolay erişilememesi nedeniyle, bildiğim bir IP atadım ve daha sonra erişim atamamı sağlayacaktı. doğru adres ve daha sıcak bir yerden sağlamaya devam edin.

Bugün sunucuya giriş yaptım (172.16.130.10/22 tarihinde) ve aşağıdakileri yaptım:

ip addr add 172.16.128.67/22 dev eth0

Yerel iş istasyonumdaki bir terminalden kontrol ettim ve yeni adrese ping göndererek cevap verdim ve giriş yaptım:

$ ping 172.16.128.67
PING 172.16.128.67 (172.16.128.67) 56(84) bytes of data.
64 bytes from 172.16.128.67: icmp_req=2 ttl=62 time=3.61 ms
64 bytes from 172.16.128.67: icmp_req=3 ttl=62 time=4.87 ms
^C
$ ssh 172.16.128.67

Şimdiye kadar iyi, yeni IP adresi ile bağlanmış ve eskisi artık gerekli değildi. Devam ettim ve kaldırdım:

ip addr del 172.16.130.10/22 dev eth0

Ancak EnterSSH oturumuma girer girmez dondum ve artık bağlanamadım. Benim için sunucuyu yeniden başlatmak için bir site operatörü istemek zorunda kaldım.

Nerede hata yaptım? Bu adresi kaldırmak neden bağlantımı kesiyor?


2
Mathews mükemmel cevabına ek olarak: Birçok Unix (ve Unix benzeri) sistemde, bağlı IP adreslerinde yapılan herhangi bir değişiklik, bu arayüze yapılan tüm açık oturumları (başka bir adres kullananlar da dahil olmak üzere) kısaca kesecektir. Böylece sizi SSH oturumunuzdan atacaksınız, ancak bu durumda hemen yeniden bağlanabilirsiniz.
Tonny

Bu sorunun sadece IPv4 ile var olduğuna inanıyorum. IPv6 kullanıyor olsaydınız ne olacağını sanmıyorum.
kasperd

Yanıtlar:


53

Linux'ta IP adresleri 'birincil' ve 'ikincil' adresler kavramına sahiptir. Birincil, tipik olarak sisteme eklediğiniz ilk adrestir. Birincil adresin çıkarılması, tüm ikincil adresler listesinin tamamen boşaltılması işlemine de sahiptir.

Bu davranışı sysctl komutunu net.ipv4.conf.all.promote_secondaries1 gibi ayarlayarak önleyebilirsiniz :

sysctl -w net.ipv4.conf.all.promote_secondaries=1

Bu, bir birincil IP kaldırıldığında, kalan adresleri temizlemeyecek ve bunun yerine birincil olarak yeni bir IP adresini tanıtacak şekilde davranışı değiştirir.


6
Teşekkürler! Sadece genelinde geldi bu yanı:An IP address becomes secondary if another address within the same prefix (network) already exists. The first address within the prefix is primary and is the tag address for the group of all the secondary addresses. When the primary address is deleted all of the secondaries are purged too.
GSMH
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.