Debian/Ubuntu ile çok sayıda IP adresi nasıl kaydedilir | INTROSERV
EUR
european

EUR

usa

USD

Turkish Tr
Ex. VAT Ex. VAT 0%

Debian/Ubuntu ile çok sayıda IP adresi nasıl kaydedilir

Tek bir sunucunun çoğu zaman birden fazla IP adresine ihtiyacı olur. Bu kılavuz, Debian ve Ubuntu'da tek bir ağ arayüzüne birden fazla IPv4 adresi atamanın iki yolunu açıklar:

  • otomatik olarak, bir kabuk betiği ve bir systemd hizmetiyle, geniş aralıklar için önerilir;
  • doğrudan netplan içinde, adreslerin yalnızca yeniden başlatmaya değil, ağın yeniden yapılandırılmasına da dayanması gerektiğinde önerilir.

Her iki yöntem de yapılandırmayı yeniden başlatmalar arasında kalıcı kılar. Durumunuza uygun olanı seçmek için her yöntemin sonundaki notu okuyun.

Birden fazla IP adresine ne zaman ihtiyacınız olur

Tek bir sunucudaki birçok yaygın iş yükü, birden fazla genel adres gerektirir:

  • Farklı alan adlarının gönderim itibarını ayırmak için ayrı adresler ve PTR kayıtları kullanan posta sunucuları.
  • Eski uygulamalar, müşteri yalıtımı veya belirli güvenlik duvarı ilkeleri için ayrılmış adresler gerektiren web sunucuları.
  • Her proxy örneğinin veya her VPN uç noktasının kendi genel adresine bağlandığı proxy ve VPN altyapısı.
  • Yönlendirilmiş IP adresleri kullanan kapsayıcılar veya sanal makineler.

INTROSERV VPS planları varsayılan olarak iki IPv4 adresi ve bir /112 IPv6 alt ağı içerir. Birçok konumda ek IPv4 adresleri mevcuttur. Bölgenizdeki kullanılabilirliği sipariş yapılandırıcısından kontrol edin.

Başlamadan önce

Root erişimine ve ek adresleri taşıyacak arayüzün adına ihtiyacınız var. Modern Debian ve Ubuntu sürümleri artık eski eth0 adını kullanmaz, bu yüzden bunu varsaymayın. Arayüzleri mevcut adresleriyle birlikte listeleyin ve birincil adresinizin zaten bulunduğu arayüzü belirleyin:

ip -br addr show

Çıktı, üzerlerinde halihazırda yapılandırılmış adreslerin yanında ens3, enp1s0 veya eth0 gibi girdiler gösterir. Ana IP'nizi zaten taşıyan arayüz, aşağıdaki adımlarda kullanacağınız arayüzdür. Buradaki örnekler ens3 kullanır.

Uyarı: Bu adımlar, büyük olasılıkla SSH üzerinden eriştiğiniz bir sunucudaki ağ yapılandırmasını değiştirir. Bir hata kendi erişiminizi kesebilir. Mümkünse, sağlayıcı konsolu veya IP-KVM gibi ikinci bir giriş yolunu hazır bulundurun ve aşağıda gösterilen güvenli uygulama seçeneklerini tercih edin.

Adres betiğini oluşturma

Kısa bir betik, tek seferde bir adres aralığı ekler. Bunu /usr/local/sbin içinde oluşturun:

nano /usr/local/sbin/extra-ips.sh

Aşağıdaki betiği yapıştırın. Arayüz adını, ön eki ve aralığı size atanan blokla değiştirin. Aşağıdaki adresler RFC 5737'deki belgeleme aralığını kullanır ve yer tutucudur:

#!/bin/bash set -euo pipefail # Ek adresleri tasiyacak arayuz. IFACE="ens3" # Ortak on ek ile ana bilgisayar oktetinin ilk ve son degeri. # Bunlari size atanan blokla degistirin. PREFIX="203.0.113" FIRST=10 LAST=60 # Arayuz adi yanlissa net bir mesajla erken durdur. if ! ip link show "$IFACE" >/dev/null 2>&1; then echo "Arayuz $IFACE bulunamadi. Adi su komutla kontrol edin: ip -br addr show" >&2 exit 1 fi for HOST in $(seq "$FIRST" "$LAST"); do ip addr replace "${PREFIX}.${HOST}/32" dev "$IFACE" done

Bilgi: Adresler bilinçli olarak /32 ön eki kullanır. Birincil arayüz, alt ağı için yönlendirmeye zaten sahiptir, bu nedenle her ikincil adres yalnızca yerel bir ana bilgisayar yönlendirmesine ihtiyaç duyar. /32 ön eki, çekirdeğin yinelenen bir alt ağ yönlendirmesi eklemesini önler ve yönlendirme tablosunu temiz tutar. Betik, halihazırda var olan adresler için hata bildirmeden güvenle yeniden çalıştırılabilmesi için ip addr add yerine ip addr replace kullanır.

Betiği çalıştırılabilir yapın. Bu kılavuzun önceki sürümünde eksik olan tam yola dikkat edin:

chmod +x /usr/local/sbin/extra-ips.sh

Adresleri bir systemd hizmetiyle kalıcı kılma

Betiği elle çalıştırmak, adresleri yalnızca bir sonraki yeniden başlatmaya kadar ekler. Bunları önyüklemede otomatik olarak uygulamak için, betiği önyükleme sırasında çalıştıran bir systemd hizmeti oluşturun. Bu yöntem, sistem netplan, systemd-networkd veya eski ifupdown yığınını kullansa da aynı şekilde çalışır.

Birim dosyasını oluşturun:

nano /etc/systemd/system/extra-ips.service

Aşağıdakileri ekleyin:

[Unit] Description=Assign additional IP addresses After=network-online.target Wants=network-online.target [Service] Type=oneshot ExecStart=/usr/local/sbin/extra-ips.sh RemainAfterExit=yes [Install] WantedBy=multi-user.target

systemd'yi yeniden yükleyin ve hizmeti hem şimdi hem de her önyüklemede çalışacak şekilde etkinleştirin:

systemctl daemon-reload systemctl enable --now extra-ips.service

Hizmetin doğru şekilde başladığını doğrulayın:

systemctl status --no-pager extra-ips.service

Uyarı: Bu betiğin eklediği adresler, netplan veya systemd-networkd yapılandırmasının bir parçası değildir. Daha sonra yapılan bir netplan apply, bir networkctl reconfigure veya herhangi bir ağ yeniden başlatması bunları kaldırabilir. Bir sonraki yeniden başlatmada veya systemctl restart extra-ips.service komutunu çalıştırdığınızda hemen geri dönerler. Adreslerin ağın yeniden yapılandırılmasından sonra da kalması gerekiyorsa, bunun yerine aşağıdaki netplan yöntemini kullanın.

Alternatif: adresleri netplan içinde tanımlama

netplan'ın varsayılan olduğu Ubuntu'da, adresler doğrudan netplan içinde tanımlanabilir. Ağ yığını bunları yönetilen adresler olarak ele alır, böylece bir yeniden yapılandırmaya dayanırlar. Bu, küçük ve sabit bir liste için uygundur. Geniş bir aralık için yukarıdaki systemd hizmeti daha iyi ölçeklenir, çünkü netplan adres başına bir satır gerektirir.

Birden fazla netplan dosyası aynı arayüzü tanımladığında, ayarları beklenmedik şekillerde birbirinin üzerine yazabilir veya birleşebilir; bu da birincil adresinizi düşürüp erişimi kesebilir. Mevcut yapılandırma dosyasını düzenlemek, genellikle aynı arayüz için başka bir dosya oluşturmaktan daha güvenlidir. Arayüzünüzü halihazırda yapılandıran dosyayı açın, genellikle /etc/netplan/50-cloud-init.yaml veya /etc/netplan/00-installer-config.yaml:

ls /etc/netplan/ nano /etc/netplan/50-cloud-init.yaml

Arayüzün dhcp4, birincil adres, ağ geçidi ve ad sunucuları gibi mevcut tüm ayarlarını koruyun. Ek adresleri aynı arayüzdeki bir addresses listesi altına ekleyin. Aşağıdaki örnek, birincil adres için DHCP'yi korur ve üç ikincil adres ekler:

network: version: 2 ethernets: ens3: dhcp4: true addresses: - 203.0.113.10/32 - 203.0.113.11/32 - 203.0.113.12/32

Yeni netplan sürümleri, dosya diğer kullanıcılar tarafından okunabiliyorsa uyarı verir. Bu uyarıyı gidermek için izinleri kısıtlayın:

chmod 600 /etc/netplan/50-cloud-init.yaml

Değişikliği netplan try ile test edin. Yapılandırmayı uygular ve onaylamazsanız 120 saniye sonra otomatik olarak geri alır; bu, uzaktan erişimi kaybetmenize karşı sizi korur:

netplan try

Bağlantı açık kalır ve her şey doğru görünürse, istendiğinde onaylayın, ardından yapılandırmayı kalıcı olarak uygulayın:

netplan apply

Sonucu doğrulama

Arayüze şu anda bağlı olan adresleri listeleyin ve yenilerinin mevcut olduğunu doğrulayın:

ip -br addr show ens3

Ek adresler artık çıktıda görünmeli ve her yeniden başlatmadan sonra otomatik olarak geri yüklenecektir.

Adresleri kaldırma

Tek bir adresi kaldırmak için onu arayüzden silin:

ip addr del 203.0.113.10/32 dev ens3

Betiği ve hizmeti kullandıysanız, hizmeti devre dışı bırakıp kaldırarak tüm aralığın önyüklemede atanmasını durdurun:

systemctl disable --now extra-ips.service rm /etc/systemd/system/extra-ips.service systemctl daemon-reload

netplan kullandıysanız, netplan dosyasındaki addresses listesinden ek satırları kaldırın, ardından netplan apply komutunu çalıştırın.

Sorun giderme

Hizmet başlamazsa, durumunu ve günlüklerini kontrol edin:

systemctl status --no-pager extra-ips.service journalctl -u extra-ips.service

Aşağıdakileri doğrulayın:

  • betikteki arayüz adı, ip -br addr show çıktısındaki gerçek adla eşleşir;
  • adresler size atanan bloğa aittir;
  • betik çalıştırılabilir.

Yanlışlıkla /32 yerine /24 ön eki kullandıysanız, yönlendirme tablosu belirtiyi birkaç yinelenen alt ağ yönlendirmesi olarak gösterir. Şununla kontrol edin:

ip route

Bu kılavuz IPv4 üzerine odaklanır. IPv4'te olduğu gibi, ikincil IPv6 adresleri normalde /128 ön ekiyle ana bilgisayar adresleri olarak, aynı ip addr replace komutuyla eklenir, örneğin ip addr replace 2001:db8::10/128 dev ens3.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA