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.