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 IP‘s, 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ářů.