Opret flere IP-adresser til en enkelt netværksgrænseflade


Konceptet med at oprette eller konfigurere flere IP-adresser på en enkelt netværksgrænseflade kaldes IP-aliasing. IP-aliasing er meget nyttigt til opsætning af flere virtuelle websteder på Apache ved hjælp af en enkelt netværksgrænseflade med forskellige IP-adresser på et enkelt subnetnetværk.

Den største fordel ved at bruge denne IP-aliasing er, at du ikke behøver at have en fysisk adapter knyttet til hver IP, men i stedet kan du oprette flere eller mange virtuelle grænseflader (aliaser) til et enkelt fysisk kort.

Instruktionerne her gælder for alle større Linux-distributioner som Red Hat, Fedora og CentOS. Oprettelse af flere grænseflader og tildeling af IP-adresse manuelt er en skræmmende opgave. Her ser vi, hvordan vi kan tildele IP-adresse til den, der definerer et sæt IP-interval. Forstå også, hvordan vi opretter en virtuel grænseflade og tildeler en række forskellige IP-adresser til en grænseflade på én gang. I denne artikel brugte vi LAN IP'er, så erstat dem med dem, du vil bruge.

Oprettelse af virtuel grænseflade og tildeling af flere IP-adresser

Her har jeg en grænseflade kaldet “ifcfg-eth0”, standardgrænsefladen til Ethernet-enheden. Hvis du har tilsluttet anden Ethernet-enhed, vil der være en "ifcfg-eth1" -enhed og så videre for hver enhed, du har tilsluttet. Disse enhedens netværksfiler findes i mappen “/ etc/sysconfig/network-scripts /”. Naviger til biblioteket, og gør "ls -l" for at liste alle enheder.

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

Lad os antage, at vi vil oprette yderligere tre virtuelle grænseflader til at binde tre IP-adresser (172.16.16.126, 172.16.16.127 og 172.16.16.128) til NIC. Så vi er nødt til at oprette yderligere tre aliasfiler, mens "ifcfg-eth0" beholder den samme primære IP-adresse. Dette er, hvordan vi bevæger os fremad til opsætning af tre aliasser til at binde følgende IP-adresser.

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

Hvor “: X” er enhedens (interface) nummer for at oprette aliaserne for interface eth0. For hvert alias skal du tildele et nummer sekventielt. For eksempel kopierer vi eksisterende parametre for grænsefladen “ifcfg-eth0” i virtuelle grænseflader kaldet ifcfg-eth0: 0, ifcfg-eth0: 1 og ifcfg-eth0: 2. Gå ind i netværksmappen, og opret filerne som vist nedenfor.

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

Åbn filen “ifcfg-eth0” og se indholdet.

 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

Her har vi kun brug for to parametre (DEVICE og IPADDR). Så åbn hver fil med VI-editor og omdøb ENHEDSnavnet til dets tilsvarende alias, og skift IPADDR-adressen. For eksempel skal du åbne filer “ifcfg-eth0: 0“, “ifcfg-eth0: 1” og “ifcfg-eth0: 2” ved hjælp af VI-editor og ændre begge parametre. Endelig vil det se ud som nedenfor.

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
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
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

Når du først har foretaget alle ændringer, skal du gemme alle dine ændringer og genstarte/starte netværkstjenesten, så ændringerne afspejler dem.

 /etc/init.d/network restart

For at kontrollere, at aliaserne (virtuel grænseflade) er i gang, kan du bruge kommandoen “ifconfig” eller “ip”.

 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 hver af dem fra forskellige maskiner. Hvis alt er konfigureret korrekt, får du et ping-svar fra hver af dem.

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

 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

 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

Ser ud til at alt fungerer problemfrit. Med disse nye IP'er kan du konfigurere virtuelle websteder i Apache, FTP-konti og mange andre ting.

Tildel flere IP-adresseintervaller

Hvis du vil oprette en række af flere IP-adresser til en bestemt grænseflade kaldet "ifcfg-eth0", bruger vi "ifcfg-eth0-range0" og kopierer indholdet af ifcfg-eth0 på det som vist nedenfor.

 cd /etc/sysconfig/network-scripts/
 cp -p ifcfg-eth0 ifcfg-eth0-range0

Åbn nu filen "ifcfg-eth0-range0" og tilføj "IPADDR_START" og "IPADDR_END" IP-adresseområde som vist nedenfor.

 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

Gem det, og genstart/start netværkstjeneste

 /etc/init.d/network restart

Kontroller, at der oprettes virtuelle grænseflader med IP-adresse.

 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

Hvis du har problemer med at konfigurere, skal du sende dine forespørgsler i kommentarsektionen.