Kako registrirati veliko število naslovov IP z Debianom/Ubuntujem | INTROSERV
EUR
european

EUR

usa

USD

Slovenia Sl
Ex. VAT Ex. VAT 0%

Kako registrirati veliko število naslovov IP z Debianom/Ubuntujem

En sam strežnik pogosto potrebuje več kot en naslov IP. Ta vodnik opisuje dva načina za dodelitev več naslovov IPv4 enemu omrežnemu vmesniku v sistemih Debian in Ubuntu:

  • samodejno, z lupinsko skripto in storitvijo systemd, priporočeno za velike obsege;
  • neposredno v netplan, priporočeno, kadar morajo naslovi preživeti tudi ponovno konfiguracijo omrežja, ne le ponovnega zagona.

Oba načina naredita konfiguracijo trajno čez ponovne zagone. Preberite opombo na koncu vsakega načina, da izberete tistega, ki ustreza vašemu primeru.

Kdaj potrebujete več naslovov IP

Več pogostih opravil na enem strežniku zahteva več kot en javni naslov:

  • Poštni strežniki, ki uporabljajo ločene naslove in zapise PTR za ločevanje ugleda pošiljanja različnih domen.
  • Spletni strežniki, ki potrebujejo namenske naslove za starejše aplikacije, ločevanje strank ali posebna pravila požarnega zidu.
  • Infrastruktura proxy in VPN, kjer je vsak primerek proxy ali vsaka končna točka VPN vezana na svoj javni naslov.
  • Vsebniki ali navidezni stroji, ki uporabljajo usmerjene naslove IP.

Paketi VPS podjetja INTROSERV privzeto vključujejo dva naslova IPv4 in podomrežje IPv6 /112. Dodatni naslovi IPv4 so na voljo na številnih lokacijah. Razpoložljivost za vašo regijo preverite v konfiguratorju naročila.

Preden začnete

Potrebujete dostop root in ime vmesnika, ki bo nosil dodatne naslove. Sodobne različice sistemov Debian in Ubuntu ne uporabljajo več starega imena eth0, zato tega ne predpostavljajte. Izpišite vmesnike skupaj z njihovimi trenutnimi naslovi in določite tistega, ki že ima vaš primarni naslov:

ip -br addr show

Izpis prikaže vnose, kot so ens3, enp1s0 ali eth0, poleg naslovov, ki so na njih že nastavljeni. Vmesnik, ki že nosi vaš glavni IP, je tisti, ki ga uporabite v korakih spodaj. Primeri tukaj uporabljajo ens3.

Opozorilo: Ti koraki spremenijo omrežno konfiguracijo na strežniku, do katerega najverjetneje dostopate prek SSH. Napaka lahko prekine vaš lastni dostop. Če je mogoče, ohranite drugo pot vstopa, na primer konzolo ponudnika ali IP-KVM, in raje uporabite spodaj prikazane možnosti varne uveljavitve.

Ustvarjanje skripte za naslove

Kratka skripta doda obseg naslovov v enem prehodu. Ustvarite jo v /usr/local/sbin:

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

Prilepite naslednjo skripto. Ime vmesnika, predpono in obseg zamenjajte z blokom, ki vam je dodeljen. Naslovi spodaj uporabljajo dokumentacijski obseg iz RFC 5737 in so ograde:

#!/bin/bash set -euo pipefail # Vmesnik, ki bo nosil dodatne naslove. IFACE="ens3" # Skupna predpona ter prva in zadnja vrednost gostiteljskega okteta. # Zamenjajte jih z blokom, ki vam je dodeljen. PREFIX="203.0.113" FIRST=10 LAST=60 # Zgodaj se ustavi z jasnim sporocilom, ce je ime vmesnika napacno. if ! ip link show "$IFACE" >/dev/null 2>&1; then echo "Vmesnik $IFACE ni najden. Preverite ime z ukazom: 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: Naslovi namenoma uporabljajo predpono /32. Primarni vmesnik že ima usmeritev za svoje podomrežje, zato vsak sekundarni naslov potrebuje le lokalno gostiteljsko usmeritev. Predpona /32 prepreči, da bi jedro dodalo podvojeno usmeritev podomrežja, in ohranja usmerjevalno tabelo čisto. Skripta uporablja ip addr replace namesto ip addr add, da jo je mogoče varno znova zagnati, ne da bi javila napako za naslove, ki že obstajajo.

Naredite skripto izvršljivo. Bodite pozorni na celotno pot, ki je manjkala v prejšnji različici tega vodnika:

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

Trajna ohranitev naslovov s storitvijo systemd

Ročni zagon skripte doda naslove le do naslednjega ponovnega zagona. Za samodejno uveljavitev ob zagonu ustvarite storitev systemd, ki zažene skripto med zagonom sistema. Ta način deluje enako, ne glede na to, ali sistem uporablja netplan, systemd-networkd ali starejši sklad ifupdown.

Ustvarite datoteko enote:

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

Dodajte naslednje:

[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

Znova naložite systemd in omogočite storitev, da se zažene zdaj in ob vsakem zagonu:

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

Potrdite, da se je storitev pravilno zagnala:

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

Opozorilo: Naslovi, ki jih doda ta skripta, niso del konfiguracije netplan ali systemd-networkd. Poznejši netplan apply, networkctl reconfigure ali kateri koli ponovni zagon omrežja jih lahko odstrani. Vrnejo se ob naslednjem ponovnem zagonu ali takoj, če zaženete systemctl restart extra-ips.service. Če morajo naslovi ostati tudi po ponovni konfiguraciji omrežja, raje uporabite spodaj opisani način netplan.

Druga možnost: določitev naslovov v netplan

V sistemu Ubuntu, kjer je netplan privzeta rešitev, je naslove mogoče deklarirati neposredno v netplan. Omrežni sklad jih nato obravnava kot upravljane naslove, zato preživijo ponovno konfiguracijo. To je primerno za majhen, fiksen seznam. Za velik obseg se zgoraj opisana storitev systemd bolje prilagaja, saj netplan zahteva eno vrstico na naslov.

Kadar isti vmesnik določa več datotek netplan, se njihove nastavitve lahko prepišejo ali združijo na nepričakovane načine, kar lahko zavrže vaš primarni naslov in prekine dostop. Urejanje obstoječe konfiguracijske datoteke je običajno varnejše kot ustvarjanje še ene datoteke za isti vmesnik. Odprite datoteko, ki že nastavlja vaš vmesnik, običajno /etc/netplan/50-cloud-init.yaml ali /etc/netplan/00-installer-config.yaml:

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

Ohranite vse obstoječe nastavitve vmesnika, kot so dhcp4, primarni naslov, prehod in imenski strežniki. Dodajte dodatne naslove pod seznam addresses na istem vmesniku. Spodnji primer ohrani DHCP za primarni naslov in doda tri sekundarne naslove:

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

Novejše različice netplan opozorijo, če je datoteka berljiva za druge uporabnike. Omejite dovoljenja, da odstranite to opozorilo:

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

Spremembo preizkusite z netplan try. Uveljavi konfiguracijo in jo po 120 sekundah samodejno povrne, če je ne potrdite, kar vas zaščiti pred izgubo oddaljenega dostopa:

netplan try

Če povezava ostane vzpostavljena in je vse videti pravilno, ob pozivu potrdite, nato pa konfiguracijo uveljavite trajno:

netplan apply

Preverjanje rezultata

Izpišite naslove, ki so trenutno vezani na vmesnik, in potrdite, da so novi prisotni:

ip -br addr show ens3

Dodatni naslovi bi se zdaj morali pojaviti v izpisu in bodo samodejno obnovljeni po vsakem ponovnem zagonu.

Odstranjevanje naslovov

Za odstranitev enega naslova ga izbrišite z vmesnika:

ip addr del 203.0.113.10/32 dev ens3

Če ste uporabili skripto in storitev, ustavite dodeljevanje celotnega obsega ob zagonu tako, da storitev onemogočite in odstranite:

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

Če ste uporabili netplan, odstranite dodatne vrstice s seznama addresses v datoteki netplan, nato zaženite netplan apply.

Odpravljanje težav

Če se storitev ne zažene, preverite njeno stanje in dnevnike:

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

Potrdite naslednje:

  • ime vmesnika v skripti se ujema z dejanskim imenom iz ip -br addr show;
  • naslovi pripadajo bloku, ki vam je dodeljen;
  • skripta je izvršljiva.

Če ste pomotoma uporabili predpono /24 namesto /32, usmerjevalna tabela pokaže ta simptom kot več podvojenih usmeritev podomrežja. Preverite jo z:

ip route

Ta vodnik se osredotoča na IPv4. Tako kot pri IPv4 se sekundarni naslovi IPv6 običajno dodajo kot gostiteljski naslovi s predpono /128, z istim ukazom ip addr replace, na primer 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