Kako registrirati velik broj IP adresa na Debianu/Ubuntuu | INTROSERV
EUR
european

EUR

usa

USD

Croatia Hr
Ex. VAT Ex. VAT 0%

Kako registrirati velik broj IP adresa na Debianu/Ubuntuu

Jednom poslužitelju često je potrebno više od jedne IP adrese. Ovaj vodič opisuje dva načina dodjeljivanja više IPv4 adresa jednom mrežnom sučelju na sustavima Debian i Ubuntu:

  • automatski, pomoću shell skripte i systemd usluge, preporučeno za velike raspone;
  • izravno u netplanu, preporučeno kada adrese moraju preživjeti i ponovnu konfiguraciju mreže, a ne samo ponovno pokretanje.

Obje metode čine konfiguraciju trajnom kroz ponovna pokretanja. Pročitajte napomenu na kraju svake metode kako biste odabrali onu koja odgovara vašem slučaju.

Kada vam je potrebno više IP adresa

Nekoliko uobičajenih radnih opterećenja na jednom poslužitelju zahtijeva više od jedne javne adrese:

  • Poslužitelji e-pošte koji koriste zasebne adrese i PTR zapise za odvajanje reputacije slanja različitih domena.
  • Web poslužitelji kojima su potrebne namjenske adrese za naslijeđene aplikacije, izolaciju klijenata ili određena pravila vatrozida.
  • Proxy i VPN infrastruktura, gdje je svaka proxy instanca ili svaka VPN krajnja točka vezana uz vlastitu javnu adresu.
  • Spremnici ili virtualni strojevi koji koriste usmjerene IP adrese.

INTROSERV VPS paketi prema zadanim postavkama uključuju dvije IPv4 adrese i IPv6 podmrežu /112. Dodatne IPv4 adrese dostupne su na mnogim lokacijama. Provjerite dostupnost za svoju regiju u konfiguratoru narudžbe.

Prije nego što počnete

Potreban vam je root pristup i naziv sučelja koje će nositi dodatne adrese. Moderne verzije sustava Debian i Ubuntu više ne koriste stari naziv eth0, stoga to nemojte pretpostavljati. Ispišite sučelja zajedno s njihovim trenutnim adresama i utvrdite ono koje već ima vašu primarnu adresu:

ip -br addr show

Izlaz prikazuje unose poput ens3, enp1s0 ili eth0 pokraj adresa koje su na njima već konfigurirane. Sučelje koje već nosi vaš glavni IP ono je koje treba koristiti u koracima u nastavku. Primjeri ovdje koriste ens3.

Upozorenje: Ovi koraci mijenjaju mrežnu konfiguraciju na poslužitelju kojem najvjerojatnije pristupate putem SSH-a. Pogreška vam može prekinuti vlastiti pristup. Ako je moguće, zadržite drugi put ulaska, poput konzole davatelja ili IP-KVM-a, i dajte prednost prikazanim sigurnim opcijama primjene u nastavku.

Izrada skripte za adrese

Kratka skripta dodaje raspon adresa u jednom prolazu. Izradite je u /usr/local/sbin:

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

Zalijepite sljedeću skriptu. Zamijenite naziv sučelja, prefiks i raspon blokom koji vam je dodijeljen. Adrese u nastavku koriste dokumentacijski raspon iz RFC 5737 i predstavljaju rezervirana mjesta:

#!/bin/bash set -euo pipefail # Sucelje koje ce nositi dodatne adrese. IFACE="ens3" # Zajednicki prefiks te prva i zadnja vrijednost okteta hosta. # Zamijenite ih blokom koji vam je dodijeljen. PREFIX="203.0.113" FIRST=10 LAST=60 # Zaustavi rano s jasnom porukom ako je naziv sucelja neispravan. if ! ip link show "$IFACE" >/dev/null 2>&1; then echo "Sucelje $IFACE nije pronadjeno. Provjerite naziv naredbom: 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: Adrese namjerno koriste prefiks /32. Primarno sučelje već posjeduje rutu za svoju podmrežu, pa svakoj sekundarnoj adresi treba samo lokalna ruta hosta. Prefiks /32 sprječava jezgru da doda dvostruku rutu podmreže i održava tablicu usmjeravanja čistom. Skripta koristi ip addr replace umjesto ip addr add kako bi se mogla sigurno ponovno pokrenuti bez prijavljivanja pogreške za adrese koje već postoje.

Učinite skriptu izvršnom. Obratite pozornost na potpunu putanju, koja je bila dio koji je nedostajao u prethodnoj verziji ovog vodiča:

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

Trajno zadržavanje adresa pomoću systemd usluge

Ručno pokretanje skripte dodaje adrese samo do sljedećeg ponovnog pokretanja. Da biste ih automatski primijenili pri pokretanju, izradite systemd uslugu koja pokreće skriptu tijekom pokretanja sustava. Ova metoda radi jednako bez obzira na to koristi li sustav netplan, systemd-networkd ili stariji ifupdown slog.

Izradite datoteku jedinice:

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

Dodajte sljedeće:

[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

Ponovno učitajte systemd i omogućite uslugu kako bi se pokrenula sada i pri svakom pokretanju:

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

Potvrdite da se usluga ispravno pokrenula:

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

Upozorenje: Adrese koje dodaje ova skripta nisu dio netplan ili systemd-networkd konfiguracije. Kasniji netplan apply, networkctl reconfigure ili bilo koje ponovno pokretanje mreže može ih ukloniti. Vraćaju se pri sljedećem ponovnom pokretanju ili odmah ako pokrenete systemctl restart extra-ips.service. Ako adrese moraju ostati i nakon ponovne konfiguracije mreže, umjesto toga koristite netplan metodu opisanu u nastavku.

Alternativa: definiranje adresa u netplanu

Na sustavu Ubuntu, gdje je netplan zadano rješenje, adrese se mogu deklarirati izravno u netplanu. Mrežni slog ih tada tretira kao upravljane adrese, pa preživljavaju ponovnu konfiguraciju. Ovo je prikladno za mali, fiksni popis. Za veliki raspon gore navedena systemd usluga bolje se skalira jer netplan zahtijeva jedan redak po adresi.

Kada više netplan datoteka definira isto sučelje, njihove se postavke mogu nadjačati ili spojiti na neočekivane načine, što može odbaciti vašu primarnu adresu i prekinuti pristup. Uređivanje postojeće konfiguracijske datoteke obično je sigurnije od izrade druge datoteke za isto sučelje. Otvorite datoteku koja već konfigurira vaše sučelje, obično /etc/netplan/50-cloud-init.yaml ili /etc/netplan/00-installer-config.yaml:

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

Zadržite sve postojeće postavke sučelja, kao što su dhcp4, primarna adresa, pristupnik i poslužitelji naziva. Dodajte dodatne adrese pod popis addresses na istom sučelju. Primjer u nastavku zadržava DHCP za primarnu adresu i dodaje tri sekundarne adrese:

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

Novije verzije netplana upozoravaju ako je datoteka čitljiva drugim korisnicima. Ograničite dopuštenja kako biste uklonili to upozorenje:

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

Isprobajte promjenu naredbom netplan try. Ona primjenjuje konfiguraciju i automatski je vraća nakon 120 sekundi ako je ne potvrdite, što vas štiti od gubitka udaljenog pristupa:

netplan try

Ako veza ostane aktivna i sve izgleda ispravno, potvrdite kada se to zatraži, a zatim trajno primijenite konfiguraciju:

netplan apply

Provjera rezultata

Ispišite adrese trenutno vezane uz sučelje i potvrdite da su nove prisutne:

ip -br addr show ens3

Dodatne adrese sada bi se trebale pojaviti u izlazu i automatski će se vraćati nakon svakog ponovnog pokretanja.

Uklanjanje adresa

Za uklanjanje jedne adrese, izbrišite je sa sučelja:

ip addr del 203.0.113.10/32 dev ens3

Ako ste koristili skriptu i uslugu, zaustavite dodjeljivanje cijelog raspona pri pokretanju onemogućavanjem i uklanjanjem usluge:

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

Ako ste koristili netplan, uklonite dodatne retke s popisa addresses u netplan datoteci, zatim pokrenite netplan apply.

Rješavanje problema

Ako se usluga ne pokrene, provjerite njezino stanje i zapisnike:

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

Potvrdite sljedeće:

  • naziv sučelja u skripti odgovara stvarnom nazivu iz ip -br addr show;
  • adrese pripadaju bloku koji vam je dodijeljen;
  • skripta je izvršna.

Ako ste greškom koristili prefiks /24 umjesto /32, tablica usmjeravanja prikazuje simptom u obliku nekoliko dvostrukih ruta podmreže. Provjerite je naredbom:

ip route

Ovaj se vodič usredotočuje na IPv4. Kao i kod IPv4, sekundarne IPv6 adrese obično se dodaju kao adrese hosta s prefiksom /128, istom naredbom ip addr replace, na primjer 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