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 sunucu genellikle birden fazla IP adresine ihtiyaç duyar. 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 shell betiği ve bir systemd hizmeti ile — geniş aralıklar için önerilir;
  • doğrudan netplan içinde — adreslerin hem ağ yeniden yapılandırmasından hem de yeniden başlatmadan sonra kalıcı olması gerektiğinde önerilir.

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

Birden fazla IP adresine ne zaman ihtiyaç duyarsınız

Tek bir sunucudaki çeşitli yaygın iş yükleri birden fazla genel adres gerektirir:

  • Farklı alan adlarının gönderim itibarını izole etmek için ayrı adresler ve PTR kayıtları kullanan posta sunucuları.
  • Eski uygulamalar, müşteri izolasyonu veya belirli güvenlik duvarı politikaları için özel adreslere ihtiyaç duyan web sunucuları.
  • Her proxy örneğinin veya VPN uç noktasının kendi genel adresine bağlı olduğu proxy ve VPN altyapısı.
  • Yönlendirilmiş IP adresleri kullanan konteynerler veya sanal makineler.

INTROSERV VPS planları varsayılan olarak iki IPv4 adresi ve bir /112 IPv6 alt ağı içerir. Ek IPv4 adresleri birçok lokasyonda mevcuttur. Seçtiğiniz bölge için müsaitliğ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ı kullanmıyor, bu yüzden bunu varsaymayın. Arayüzleri mevcut adresleriyle birlikte listeleyin ve zaten birincil adresinizi taşıyan arayüzü belirleyin:

ip -br addr show

Çıktı, üzerlerinde zaten yapılandırılmış adreslerin yanında ens3, enp1s0 veya eth0 gibi girdiler gösterir. Zaten ana IP'nizi taşıyan arayüz, aşağıdaki adımlarda kullanılacak arayüzdür. Buradaki örneklerde ens3 kullanılmıştır.

Warning

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

Adres betiğinin oluşturulması

Kısa bir betik, tek seferde bir adres aralığı ekler. Bunu /usr/local/sbin altında 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 yalnızca yer tutucudur:

#!/bin/bash set -euo pipefail # Interface that will carry the additional addresses. IFACE="ens3" # Common prefix and the first and last value of the host octet. # Replace these with the block assigned to you. PREFIX="203.0.113" FIRST=10 LAST=60 # Stop early with a clear message if the interface name is wrong. if ! ip link show "$IFACE" >/dev/null 2>&1; then echo "Interface $IFACE not found. Check the name with: ip -br addr show" >&2 exit 1 fi for HOST in $(seq "$FIRST" "$LAST"); do ip addr replace "${PREFIX}.${HOST}/32" dev "$IFACE" done

Info

Adresler bilinçli olarak /32 ön ekini kullanır. Birincil arayüz, kendi alt ağı için rotaya zaten sahiptir, bu nedenle her ikincil adres yalnızca yerel bir ana bilgisayar rotasına ihtiyaç duyar. Bir /32 ön eki, çekirdeğin yinelenen bir alt ağ rotası eklemesini önler ve yönlendirme tablosunu temiz tutar. Betik, zaten var olan adreslerde hata vermeden 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 kısım olan tam yola dikkat edin:

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

Adresleri bir systemd hizmetiyle kalıcı hale getirme

Betiği elle çalıştırmak, adresleri yalnızca bir sonraki yeniden başlatmaya kadar ekler. Bunları önyükleme sırasında 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 daha 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ğıdakini 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 şimdi ve her önyüklemede çalışacak şekilde etkinleştirin:

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

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

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

Warning

Bu betik tarafından eklenen adresler, netplan veya systemd-networkd yapılandırmasının bir parçası değildir. Daha sonraki bir netplan apply, networkctl reconfigure veya herhangi bir ağ yeniden başlatması bunları kaldırabilir. Bir sonraki yeniden başlatmada, veya systemctl restart extra-ips.service çalıştırırsanız hemen geri gelirler. Adreslerin bir ağ yeniden yapılandırmasında da yerinde 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ı daha sonra yönetilen adresler olarak ele alır, böylece bir yeniden yapılandırmadan sonra da kalıcı kalırlar. Bu, küçük, sabit bir liste için uygundur. Geniş bir aralık için, yukarıdaki systemd hizmeti daha iyi ölçeklenir, çünkü netplan her adres için bir satır gerektirir.

Birden fazla netplan dosyası aynı arayüzü tanımladığında, ayarları beklenmedik şekillerde geçersiz kılabilir veya birleşebilir, bu da birincil adresinizi kaldırabilir ve erişiminizi kesebilir. Mevcut yapılandırma dosyasını düzenlemek, aynı arayüz için başka bir dosya oluşturmaktan genellikle daha güvenlidir. Arayüzünüzü zaten 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 için dhcp4, birincil adres, ağ geçidi ve ad sunucuları gibi mevcut tüm ayarları 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

Son netplan sürümleri, dosya başka 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. Bu komut yapılandırmayı uygular ve siz onaylamazsanız 120 saniye sonra otomatik olarak geri alır; bu da uzaktan erişiminizi kaybetmenizi önler:

netplan try

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

netplan apply

Sonucun doğrulanması

Şu anda arayüze 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üklenmelidir.

Adreslerin kaldırılması

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 önyüklemede tüm aralığın 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 çalıştırın.

Sorun giderme

Hizmet başlamıyorsa, 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 komutundan alınan gerçek adla eşleşiyor;
  • adresler size ayrılan bloğa ait;
  • betik çalıştırılabilir durumda.

Yanlışlıkla /32 yerine /24 ön eki kullandıysanız, yönlendirme tablosunda bu durum birkaç yinelenen alt ağ rotası olarak görünür. Şu komutla kontrol edin:

ip route

Bu kılavuz IPv4'e odaklanmaktadır. IPv4'te olduğu gibi, ikincil IPv6 adresleri normalde aynı ip addr replace komutu kullanılarak /128 ön ekiyle ana bilgisayar adresleri olarak 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