Napravite više IP adresa na jednom mrežnom sučelju


Koncept kreiranja ili konfigurisanja više IP adresa na jednom mrežnom interfejsu naziva se IP aliasing. IP aliasing je veoma koristan za postavljanje više virtuelnih lokacija na Apache koristeći jedan mrežni interfejs sa različitim IP adresama na jednoj podmrežnoj mreži.

Glavna prednost korištenja ovog IP aliasinga je da ne morate imati fizički adapter vezan za svaki IP, ali umjesto toga možete kreirati više ili više virtuelnih interfejsa ( aliasi) na jednu fizičku karticu.

Instrukcije date ovdje se odnose na sve glavne Linux distribucije kao što su Red Hat, Fedora i CentOS. Kreiranje više sučelja i ručno dodjeljivanje IP adrese je zastrašujući zadatak. Ovdje ćemo vidjeti kako mu možemo dodijeliti IP adresu definirajući skup IP raspona. Takođe shvatite kako ćemo kreirati virtuelni interfejs i dodeliti različite opsege IP adrese interfejsu u jednom potezu. U ovom članku smo koristili LAN IPs, pa ih zamijenite onima koje ćete koristiti.

Kreiranje virtuelnog interfejsa i dodeljivanje više IP adresa

Ovdje imam interfejs koji se zove “ifcfg-eth0”, podrazumevani interfejs za Ethernet uređaj. Ako ste priključili drugi Ethernet uređaj, tada bi postojao "ifcfg-eth1" uređaj i tako dalje za svaki uređaj koji ste priključili. Ove mrežne datoteke uređaja nalaze se u direktoriju “/etc/sysconfig/network-scripts/”. Idite do direktorija i uradite “ls -l” za popis svih uređaja.

cd /etc/sysconfig/network-scripts/
ls -l
Sample Output
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

Pretpostavimo da želimo da kreiramo tri dodatna virtuelna interfejsa za povezivanje tri IP adrese (172.16.16.126, 172.16.16.127 i 172.16.16.128 ) na NIC. Dakle, moramo kreirati tri dodatna alias fajla, dok “ifcfg-eth0” zadržava istu primarnu IP adresu. Ovako idemo naprijed da postavimo tri pseudonima za povezivanje sljedećih IP adresa.

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

Gdje je “:X” broj uređaja (interfejsa) za kreiranje pseudonima za interfejs eth0. Za svaki pseudonim morate dodijeliti broj uzastopno. Na primjer, kopiramo postojeće parametre interfejsa “ifcfg-eth0” u virtuelna sučelja pod nazivom ifcfg-eth0:0, ifcfg-eth0:1 i ifcfg-eth0:2. Idite u mrežni direktorij i kreirajte datoteke kao što je prikazano ispod.

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

Otvorite datoteku “ifcfg-eth0” i pogledajte sadržaj.

[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

Ovdje su nam potrebna samo dva parametra (DEVICE i IPADDR). Dakle, otvorite svaki fajl u uređivaču VI i preimenujte naziv DEVICE u odgovarajući alias i promijenite adresu IPADDR. Na primjer, otvorite datoteke “ifcfg-eth0:0”, “ifcfg-eth0:1” i “ifcfg-eth0:2” koristeći VI editor i promijenite oba parametra. Konačno će izgledati slično kao u nastavku.

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

Nakon što izvršite sve promjene, sačuvajte sve promjene i ponovo pokrenite/pokrenite mrežnu uslugu kako bi se promjene odrazile.

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

Da biste provjerili da li su svi pseudonimi (virtuelni interfejs) pokrenuti i pokrenuti, možete koristiti naredbu “ifconfig” ili “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

Pingajte svaki od njih sa druge mašine. Ako je sve ispravno postavljeno, dobićete ping odgovor od svakog od njih.

ping 172.16.16.126
ping 172.16.16.127
ping 172.16.16.128
Sample Output
[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

Čini se da sve radi glatko, sa ovim novim IP adresama možete postaviti virtuelne stranice na Apache, FTP račune i mnoge druge stvari.

Dodijelite višestruki raspon IP adresa

Ako želite kreirati opseg od više IP adresa za određeno sučelje pod nazivom “ifcfg-eth0“, koristimo “ ifcfg-eth0-range0” i kopirajte sadržaj ifcfg-eth0 na njega kao što je prikazano ispod.

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

Sada otvorite datoteku “ifcfg-eth0-range0” i dodajte “IPADDR_START” i “IPADDR_END” raspon IP adresa kao što je prikazano ispod.

[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

Sačuvajte ga i ponovo pokrenite/pokrenite mrežni servis

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

Provjerite da li su virtuelni interfejsi kreirani sa IP adresom.

[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

Ako imate bilo kakvih problema s postavljanjem, molimo vas da postavite svoja pitanja u odjeljku za komentare.