Iš šio straipsnio sužinosite apie pagrindines ir papildomas IP adreses.
Pagrindinis IP adresas
IPv4
Skirtas pagrindinis dedikuoto šakninio serverio IP dažnai yra /26 arba /27 subnete. Kad būtų išvengta atsitiktinio svetimo IP adreso naudojimo, mūsų infrastruktūra atmesto visas Eterneto paketus, kurie nėra skirti vartotojo sąsajos adrese. Norint pasiekti serverį tame pačiame subnete, tinklo konfigūracija turi būti sukurta kaip taškas-iki-taško konfigūracija. Mūsų standartinėse atvaizdavimo nuotraukose jau yra tokia konfigūracija, kad visi duomenys nukreipti per vartotojo sąsajos adresą.
Tai įgyvendinama taško-iš-taško konfigūracijos pagalba tarp pagrindinio IP ir vartotojo sąsajos adreso. Pagrindinis IP sukonfigūruotas su tinklo kauke nustatyta 255.255.255.255 (/32)
. Taip serveris mano, kad jis vienas ir tiesiogiai nesiunčia jokių paketų. Norint pasiekti kitus serverius ir internetą, papildomas maršrutas į vartotojo sąsajos adresą, be numatytinio maršruto, yra būtinas.
etc/network/interfaces (ENI)
Kai tinklas sukonfigūruotas naudojant /etc/network/interfaces, tai lengva padaryti pridedant pointopoint <vartotojo sąsajos IP>
konfigūracijos stačiakampyje.
## /etc/network/interfaces pavyzdys su šakniniu serveriu
# Kilpinio adapterio
auto lo
iface lo inet loopback
#
# LAN sąsaja
auto eth0
iface eth0 inet static
# Pagrindinis serverio IP adresas
address 192.168.0.250
# Tinklo kaukė 255.255.255.255 (/32), nepriklausoma nuo tikrojo subnet dydžio (pvz., /27)
netmask 255.255.255.255
# Išsamus maršrutas į vartotojo sąsajos adresą
gateway 192.168.0.1
pointopoint 192.168.0.1
netplan
Naudojant netplan tai atliekama naudojant on-link raktažodį konfigūracijoje:
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 192.168.0.250/32
routes:
- to: 0.0.0.0/0
via: 192.168.0.1
on-link: true
IPv6
Be pagrindinio IPv4 adreso kiekvienam serveriui priskiriamas /64 IPv6 subnetas. Šis subnetas nukreipiamas į link-local IPv6 adresą, kuris generuojamas iš serverio MAC adreso. Skirtingai nei IPv4 konfigūracija, IPv6 nereikia taško į tašką konfigūracijos.
Vartotojo sąsajos adresas yra visada fe80::1
## /etc/network/interfaces pavyzdys su šakniniu serveriu
# Kilpinio adapterio
auto lo
iface lo inet loopback
#
# IPv6 LAN
auto eth0
iface eth0 inet6 static
# Vienas IPv6 adresas iš /64 subneto
address 2001:db8:1234::1
netmask 64
gateway fe80::1
IPv4 + IPv6
Tikiama, kad artimiausiais metais IPv4 ir IPv6 bus naudojami kartu. Paprasčiausiai sujunkite abu konfigūracijos failus ir pašalinkite dubliuotas įrašus.
etc/network/interfaces (ENI)
## /etc/network/interfaces pavyzdys su šakniniu serveriu
# Kilpinio adapterio
auto lo
iface lo inet loopback
#
# LAN sąsaja
auto eth0
iface eth0 inet static
# Pagrindinis serverio IP adresas
address 192.168.0.250
# Tinklo kaukė 255.255.255.255 (/32), nepriklausoma nuo tikrojo subnet dydžio (pvz., /27)
netmask 255.255.255.255
# Išsamus maršrutas į vartotojo sąsajos adresą
gateway 192.168.0.1
pointopoint 192.168.0.1
#
iface eth0 inet6 static
# Vienas IPv6 adresas iš priskirto subneto
address 2001:db8:1234::1
netmask 64
gateway fe80::1
netplan
Konfigūracija naudojant netplan Ubuntu 22.04 ir vėliau arba naudojant netplan 1.03 ar vėliau
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 192.168.0.250/32
- 2001:db8:1234::1/64
routes:
- to: default
via: 192.168.0.1
on-link: true
- to: default
via: fe80::1
Konfigūracija Ubuntu 21.04 ir senesnėms versijoms
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
- 192.168.0.250/32
- 2001:db8:1234::1/64
routes:
- to: 0.0.0.0/0
via: 192.168.0.1
on-link: true
gateway6: fe80::1
Papildomi IP adresai (serveris)
Dedikuotiems šakniniams serveriams galite užsisakyti iki 6 papildomų vienetinių IP adresų. Tinklo konfigūracija yra panaši abiem atvejais.
Norėdami naudoti papildomus adresus serveryje (be virtualizacijos), jums reikia iproute2
paketo ir ip
programos. Konfigūracija su aliased sąsajomis (pvz., eth0:1
, eth0:2
ir t.t.) yra pasenusi; jų daugiau neturėtumėte naudoti. Norėdami pridėti adresą, paleiskite komandą:
ip addr add 10.4.2.1/32 dev eth0
Komanda ip addr
rodo dabar aktyvius IP adresus. Serveris naudoja visą subnetą, todėl čia taip pat naudinga pridėti adresus su prefiksu /32, kas reiškia, kad tinklo kaukė yra 255.255.255.255
.
etc/network/interfaces (ENI)
/etc/network/interfaces
, įterpkite šias dvi eilutes tinkamoje sąsajoje (pvz., eth0
):
up ip addr add 10.4.2.1/32 dev eth0
down ip addr del 10.4.2.1/32 dev eth0
Dėl up
ir down
, tikėkitės vienos eilutės shell kodo ir tai galima kartoti keliais adresais. Trūkumas yra tas, kad reikia du kartus nurodyti tiek sąsajos pavadinimą, tiek adresą. Jei naudojate daug IP adresų, konfigūracijos failas tampa painus ir jautrus klaidoms. Ir jei keičiate duomenis, turite koreguoti visus įrašus.
netplan
Naudojant netplan, papildomi IP adresai tiesiog pridedami kaip /32 į addresses skyrių
Papildomi IP adresai (virtualizacija)
Virtualizacijos atveju papildomi IP adresai naudojami per svečio sistemą. Kad šie būtų pasiekiami per internetą, turite sureguliuoti šakninės sistemos konfigūraciją, kad perduotų paketus. Yra du būdai tai padaryti papildomiems vienetiniams IP adresams: maršrutizuotas ir tiltuotas metodai.
Maršrutizuotas (brouter)
Šio tipo konfigūracijoje paketai yra maršrutizuojami. Šiam metodui jums reikia sukonfigūruoti papildomą tiltą be vartotojo sąsajos.
Host:
auto eth0
iface eth0 inet static
address (Pagrindinis IP)
netmask 255.255.255.255
pointopoint (Vartotojo Vartų IP)
gateway (Vartotojo Vartų IP)
#
iface eth0 inet6 static
address 2001:db8:1234::1
netmask 128
gateway fe80::1
#
auto virbr1
iface virbr1 inet static
address (Pagrindinis IP)
netmask 255.255.255.255
bridge_ports none
bridge_stp off
bridge_fd 0
pre-up brctl addbr virbr1
up ip route add (Papildomas IP)/32 dev virbr1
down ip route del (Papildomas IP)/32 dev virbr1
#
iface virbr1 inet6 static
address 2a01:4f8:XX:YY::1
netmask 64
Reikia sukurti atitinkamą šaltinio maršrutą kiekvienam papildomam IP adresui. IPv4 atveju eth0 konfigūracija lieka nepakitusi. IPv6 atveju reikia sumažinti prefiksą nuo /64 iki /128.
Svečias:
auto eth0
iface eth0 inet static
address (Papildomas IP)
netmask 255.255.255.255
pointopoint (Pagrindinis IP)
gateway (Pagrindinis IP)
#
iface eth0 inet6 static
address 2a01:4f8:XX:YY::4
netmask 64
gateway 2a01:4f8:XX:YY::1
Bridžo
Turint sujungtą konfigūraciją, paketai siunčiami tiesiogiai. Svečio sistema elgiasi taip, lyg ji būtų nepriklausoma. Tai padaro svečio sistemos MAC adresus matomais iš išorės, todėl jums reikia užklausti virtualaus MAC adreso kiekvienam atskiram IP adresui. (Pateikite pagalbos prašymą „Robot“). Tada priskirkite virtualų MAC adresą svečio tinklo plokščiai. Bridžas gauna tą pačią tinklo konfigūraciją kaip eth0.
# pašalinti arba išjungti konfigūraciją eth0
#auto eth0
#iface eth0 inet static
#
auto br0
iface br0 inet static
address (Pagrindinis IP)
netmask (kaip eth0, pvz.: 255.255.255.254)
gateway (tas pats, kas pagrindiniam IP)
bridge_hw eth0 (privaloma nuo „Debian 11 'bulleye'“)
bridge_ports eth0
bridge_stp off
bridge_fd 1
bridge_hello 2
bridge_maxage 12
eth0
konfigūracija yra pašalinta be pakeitimų.