Wyszukiwanie w witrynie

Utwórz wiele adresów IP w jednym interfejsie sieciowym


Koncepcja tworzenia lub konfigurowania wielu adresów IP w jednym interfejsie sieciowym nazywa się aliasingiem IP. Aliasing IP jest bardzo przydatny do konfigurowania wielu witryn wirtualnych na Apache przy użyciu jednego interfejsu sieciowego z różnymi adresami IP w jednej sieci podsieci.

Główną zaletą korzystania z tego aliasingu IP jest to, że nie musisz mieć fizycznego adaptera podłączonego do każdego adresu IP, ale zamiast tego możesz utworzyć wiele lub wiele interfejsów wirtualnych ( aliasy) na pojedynczą kartę fizyczną.

Podane tutaj instrukcje dotyczą wszystkich głównych dystrybucji Linuksa, takich jak Red Hat, Fedora i CentOS. Tworzenie wielu interfejsów i ręczne przypisywanie im adresów IP jest trudnym zadaniem. Tutaj zobaczymy, jak możemy przypisać do niego adres IP, definiując zestaw zakresu adresów IP. Rozumiem również, w jaki sposób zamierzamy utworzyć interfejs wirtualny i przypisać do interfejsu inny zakres adresów IP za jednym razem. W tym artykule użyliśmy adresów IP sieci LAN, więc zastąp je tymi, których będziesz używać.

Tworzenie interfejsu wirtualnego i przypisywanie wielu adresów IP

Tutaj mam interfejs o nazwie „ifcfg-eth0”, domyślny interfejs dla urządzenia Ethernet. Jeśli podłączysz drugie urządzenie Ethernet, dla każdego podłączonego urządzenia będzie dostępne urządzenie „ifcfg-eth1” itd. Te pliki sieciowe urządzenia znajdują się w katalogu „/etc/sysconfig/network-scripts/”. Przejdź do katalogu i wykonaj „ls -l”, aby wyświetlić listę wszystkich urządzeń.

cd /etc/sysconfig/network-scripts/
ls -l
Przykładowe wyjście
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

Załóżmy, że chcemy utworzyć trzy dodatkowe interfejsy wirtualne do powiązania trzech adresów IP (172.16.16.126, 172.16.16.127 i 172.16.16.128 ) do karty sieciowej. Musimy więc utworzyć trzy dodatkowe pliki aliasów, podczas gdy „ifcfg-eth0” zachowuje ten sam podstawowy adres IP. W ten sposób przechodzimy do konfiguracji trzech aliasów, które będą wiązać następujące adresy IP.

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

Gdzie „:X” to numer urządzenia (interfejsu), na którym mają zostać utworzone aliasy dla interfejsu eth0. Do każdego aliasu należy przypisać po kolei numer. Przykładowo kopiujemy istniejące parametry interfejsu „ifcfg-eth0” do wirtualnych interfejsów o nazwach ifcfg-eth0:0, ifcfg-eth0:1 i ifcfg-eth0:2. Przejdź do katalogu sieciowego i utwórz pliki, jak pokazano poniżej.

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

Otwórz plik „ifcfg-eth0” i przejrzyj jego zawartość.

[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

Tutaj potrzebujemy tylko dwóch parametrów (DEVICE i IPADDR). Zatem otwórz każdy plik za pomocą edytora VI i zmień nazwę nazwy DEVICE na odpowiadający jej alias oraz zmień adres IPADDR. Na przykład otwórz pliki „ifcfg-eth0:0”, „ifcfg-eth0:1” i „ifcfg-eth0:2” za pomocą VI edytor i zmień oba parametry. Ostatecznie będzie to wyglądać podobnie jak poniżej.

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

Po wprowadzeniu wszystkich zmian zapisz wszystkie zmiany i uruchom ponownie/uruchom usługę sieciową, aby zmiany zostały odzwierciedlone.

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

Aby sprawdzić, czy wszystkie aliasy (interfejs wirtualny) działają i działają, możesz użyć polecenia „ifconfig” lub „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

Pinguj każdy z nich z innego komputera. Jeśli wszystko zostało poprawnie skonfigurowane, otrzymasz odpowiedź na polecenie ping od każdego z nich.

ping 172.16.16.126
ping 172.16.16.127
ping 172.16.16.128
Przykładowe wyjście
[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

Wygląda na to, że wszystko działa sprawnie. Dzięki tym nowym adresom IP możesz konfigurować witryny wirtualne na kontach Apache, FTP i wielu innych rzeczach.

Przypisz wiele zakresów adresów IP

Jeśli chcesz utworzyć zakres wielu adresów IP dla określonego interfejsu o nazwie „ifcfg-eth0”, używamy „ ifcfg-eth0-range0” i skopiuj na niego zawartość ifcfg-eth0, jak pokazano poniżej.

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

Teraz otwórz plik „ifcfg-eth0-range0” i dodaj zakres adresów IP „IPADDR_START” i „IPADDR_END”, jak pokazano poniżej.

[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

Zapisz go i uruchom ponownie/uruchom usługę sieciową

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

Sprawdź, czy interfejsy wirtualne zostały utworzone z adresem 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: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

Jeśli masz jakiekolwiek problemy z konfiguracją, napisz swoje pytania w sekcji komentarzy.