Vyhledávání na webu

Vytvořte více IP adres do jediného síťového rozhraní


Koncept vytváření nebo konfigurace více IP adres na jednom síťovém rozhraní se nazývá IP aliasing. IP aliasing je velmi užitečný pro nastavení více virtuálních stránek na Apache pomocí jediného síťového rozhraní s různými IP adresami v jedné síti podsítě.

Hlavní výhodou použití tohoto IP aliasingu je, že nepotřebujete mít ke každé IP připojený fyzický adaptér, ale místo toho můžete vytvořit více nebo více virtuálních rozhraní ( aliasy) na jednu fyzickou kartu.

Zde uvedené pokyny platí pro všechny hlavní distribuce Linuxu, jako je Red Hat, Fedora a CentOS. Vytvoření více rozhraní a ruční přiřazení IP adresy je skličující úkol. Zde uvidíme, jak mu můžeme přiřadit IP adresu definující sadu IP rozsahů. Také pochopte, jak vytvoříme virtuální rozhraní a přiřadíme různé rozsahy IP adres rozhraní najednou. V tomto článku jsme použili LAN IPs, takže je nahraďte těmi, které budete používat.

Vytvoření virtuálního rozhraní a přiřazení více IP adres

Zde mám rozhraní nazvané „ifcfg-eth0“, výchozí rozhraní pro zařízení Ethernet. Pokud jste připojili druhé zařízení Ethernet, pak by pro každé připojené zařízení bylo zařízení „ifcfg-eth1“ atd. Tyto síťové soubory zařízení jsou umístěny v adresáři „/etc/sysconfig/network-scripts/“. Přejděte do adresáře a pomocí příkazu „ls -l“ vypište všechna zařízení.

cd /etc/sysconfig/network-scripts/
ls -l
Ukázkový výstup
ifcfg-eth0   ifdown-isdn    ifup-aliases  ifup-plusb     init.ipv6-global
ifcfg-lo     ifdown-post    ifup-bnep     ifup-post      net.hotplug
ifdown       ifdown-ppp     ifup-eth      ifup-ppp       network-functions
ifdown-bnep  ifdown-routes  ifup-ippp     ifup-routes    network-functions-ipv6
ifdown-eth   ifdown-sit     ifup-ipv6     ifup-sit
ifdown-ippp  ifdown-tunnel  ifup-isdn     ifup-tunnel
ifdown-ipv6  ifup           ifup-plip     ifup-wireless

Předpokládejme, že chceme vytvořit tři další virtuální rozhraní pro spojení tří IP adres (172.16.16.126, 172.16.16.127 a 172.16.16.128 ) do NIC. Potřebujeme tedy vytvořit tři další soubory aliasů, zatímco „ifcfg-eth0“ zachová stejnou primární IP adresu. Tímto způsobem se posouváme kupředu k nastavení tří aliasů pro spojení následujících IP adres.

Adapter            IP Address                Type
-------------------------------------------------
eth0              172.16.16.125            Primary
eth0:0            172.16.16.126            Alias 1
eth0:1            172.16.16.127            Alias 2
eth0:2            172.16.16.128            Alias 3

Kde „:X“ je číslo zařízení (rozhraní) pro vytvoření aliasů pro rozhraní eth0. Pro každý alias musíte postupně přiřadit číslo. Například kopírujeme stávající parametry rozhraní „ifcfg-eth0“ ve virtuálních rozhraních nazvaných ifcfg-eth0:0, ifcfg-eth0:1 a ifcfg-eth0:2. Přejděte do síťového adresáře a vytvořte soubory, jak je uvedeno níže.

cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-eth0:0
cp ifcfg-eth0 ifcfg-eth0:1
cp ifcfg-eth0 ifcfg-eth0:2

Otevřete soubor „ifcfg-eth0“ a zobrazte jeho obsah.

[root@tecmint network-scripts]# vi ifcfg-eth0

DEVICE="eth0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.125
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C

Zde potřebujeme pouze dva parametry (DEVICE a IPADDR). Otevřete tedy každý soubor pomocí editoru VI a přejmenujte název DEVICE na odpovídající alias a změňte adresu IPADDR. Například otevřete soubory „ifcfg-eth0:0“, „ifcfg-eth0:1“ a „ifcfg-eth0:2“ pomocí VI editor a změňte oba parametry. Nakonec to bude vypadat podobně jako níže.

ifcfg-eth0:0
DEVICE="eth0:0"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.126
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
ifcfg-eth0:1
DEVICE="eth0:1"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.127
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C
ifcfg-eth0:2
DEVICE="eth0:2"
BOOTPROTO=static
ONBOOT=yes
TYPE="Ethernet"
IPADDR=172.16.16.128
NETMASK=255.255.255.224
GATEWAY=172.16.16.100
HWADDR=00:0C:29:28:FD:4C

Jakmile provedete všechny změny, uložte všechny změny a restartujte/spusťte síťovou službu, aby se změny projevily.

[root@tecmint network-scripts]# /etc/init.d/network restart

Chcete-li ověřit, zda jsou všechny aliasy (virtuální rozhraní) funkční, můžete použít příkaz „ifconfig“ nebo „ip“.

[root@tecmint network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.125  Bcast:172.16.16.100  Mask:255.255.255.224
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:237 errors:0 dropped:0 overruns:0 frame:0
          TX packets:198 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:25429 (24.8 KiB)  TX bytes:26910 (26.2 KiB)
          Interrupt:18 Base address:0x2000

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.126  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.127  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:2    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.128  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

Ping každý z nich z jiného stroje. Pokud je vše nastaveno správně, dostanete odpověď ping od každého z nich.

ping 172.16.16.126
ping 172.16.16.127
ping 172.16.16.128
Ukázkový výstup
[root@tecmint ~]# ping 172.16.16.126
PING 172.16.16.126 (172.16.16.126) 56(84) bytes of data.
64 bytes from 172.16.16.126: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.126: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.126: icmp_seq=3 ttl=64 time=0.159 ms

--- 172.16.16.126 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms

[root@tecmint ~]# ping 172.16.16.127
PING 172.16.16.127 (172.16.16.127) 56(84) bytes of data.
64 bytes from 172.16.16.127: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.127: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.127: icmp_seq=3 ttl=64 time=0.159 ms

--- 172.16.16.127 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms

[root@tecmint ~]# ping 172.16.16.128
PING 172.16.16.128 (172.16.16.128) 56(84) bytes of data.
64 bytes from 172.16.16.128: icmp_seq=1 ttl=64 time=1.33 ms
64 bytes from 172.16.16.128: icmp_seq=2 ttl=64 time=0.165 ms
64 bytes from 172.16.16.128: icmp_seq=3 ttl=64 time=0.159 ms

--- 172.16.16.128 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.159/0.552/1.332/0.551 ms

Zdá se, že vše funguje hladce. S těmito novými adresami IP můžete nastavit virtuální stránky v účtech Apache, FTP a mnoha dalších věcech.

Přiřadit více rozsahů IP adres

Pokud byste chtěli vytvořit rozsah Více IP adres pro konkrétní rozhraní s názvem „ifcfg-eth0“, použijeme „ ifcfg-eth0-range0“ a zkopírujte do něj obsah ifcfg-eth0, jak je znázorněno níže.

[root@tecmint network-scripts]# cd /etc/sysconfig/network-scripts/
[root@tecmint network-scripts]# cp -p ifcfg-eth0 ifcfg-eth0-range0

Nyní otevřete soubor „ifcfg-eth0-range0“ a přidejte rozsah IP adres „IPADDR_START“ a „IPADDR_END“, jak je znázorněno níže.

[root@tecmint network-scripts]# vi ifcfg-eth0-range0

#DEVICE="eth0"
#BOOTPROTO=none
#NM_CONTROLLED="yes"
#ONBOOT=yes
TYPE="Ethernet"
IPADDR_START=172.16.16.126
IPADDR_END=172.16.16.130
IPV6INIT=no
#GATEWAY=172.16.16.100

Uložte jej a restartujte/spusťte síťovou službu

[root@tecmint network-scripts]# /etc/init.d/network restart

Ověřte, zda jsou virtuální rozhraní vytvořena pomocí IP adresy.

[root@tecmint network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.125  Bcast:172.16.16.100  Mask:255.255.255.224
          inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1385 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1249 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:127317 (124.3 KiB)  TX bytes:200787 (196.0 KiB)
          Interrupt:18 Base address:0x2000

eth0:0     Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.126  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.127  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:2    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.128  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:3    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.129  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

eth0:4    Link encap:Ethernet  HWaddr 00:0C:29:28:FD:4C
          inet addr:172.16.16.130  Bcast:172.16.16.100  Mask:255.255.255.224
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:18 Base address:0x2000

Pokud máte nějaké potíže s nastavením, napište své dotazy do sekce komentářů.