Opprett flere IP-adresser til ett enkelt nettverksgrensesnitt


Konseptet med å opprette eller konfigurere flere IP-adresser på ett enkelt nettverksgrensesnitt kalles IP-aliasing. IP-aliasing er veldig nyttig for å sette opp flere virtuelle nettsteder på Apache ved å bruke ett enkelt nettverksgrensesnitt med forskjellige IP-adresser på et enkelt delnettverk.

Hovedfordelen med å bruke denne IP-aliasingen er at du ikke trenger å ha en fysisk adapter koblet til hver IP, men i stedet kan du lage flere eller mange virtuelle grensesnitt ( aliaser) til et enkelt fysisk kort.

Instruksjonene som er gitt her gjelder alle større Linux-distribusjoner som Red Hat, Fedora og CentOS. Å lage flere grensesnitt og tilordne IP-adresse til det manuelt er en skremmende oppgave. Her skal vi se hvordan vi kan tilordne IP-adresse til den ved å definere et sett med IP-område. Forstå også hvordan vi skal lage et virtuelt grensesnitt og tilordne forskjellige IP-adresser til et grensesnitt på én gang. I denne artikkelen brukte vi LAN IP's, så bytt ut de med de du skal bruke.

Opprette virtuelt grensesnitt og tildele flere IP-adresser

Her har jeg et grensesnitt kalt "ifcfg-eth0", standardgrensesnittet for Ethernet-enheten. Hvis du har koblet til den andre Ethernet-enheten, vil det være en «ifcfg-eth1»-enhet og så videre for hver enhet du har koblet til. Disse enhetsnettverksfilene er plassert i «/etc/sysconfig/network-scripts/»-katalogen. Naviger til katalogen og gjør «ls -l» for å liste alle enheter.

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

La oss anta at vi ønsker å lage tre ekstra virtuelle grensesnitt for å binde tre IP-adresser (172.16.16.126, 172.16.16.127 og 172.16.16.128 ) til NIC. Så vi må lage tre ekstra aliasfiler, mens «ifcfg-eth0» beholder den samme primære IP-adressen. Dette er hvordan vi går videre til å sette opp tre aliaser for å 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

Der «:X» er enhetsnummeret (grensesnitt) for å lage aliasene for grensesnittet eth0. For hvert alias må du tilordne et nummer sekvensielt. For eksempel kopierer vi eksisterende parametere for grensesnittet «ifcfg-eth0» i virtuelle grensesnitt kalt ifcfg-eth0:0, ifcfg-eth0:1 og ifcfg-eth0:2. Gå inn i nettverkskatalogen og lag filene 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

Åpne en fil «ifcfg-eth0» og se innholdet.

[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

Her trenger vi bare to parametere (DEVICE og IPADDR). Så åpne hver fil med VI editor og gi nytt navn til ENHET til dets tilsvarende alias og endre IPADDR-adressen. Åpne for eksempel filene «ifcfg-eth0:0», «ifcfg-eth0:1» og «ifcfg-eth0:2» ved å bruke VI editor og endre begge parameterne. Til slutt vil det se ut som nedenfor.

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

Når du har gjort alle endringene, lagrer du alle endringene og starter/starter nettverkstjenesten på nytt for at endringene skal reflektere.

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

For å bekrefte at alle aliasene (virtuelt grensesnitt) er oppe og kjører, kan du bruke "ifconfig" eller "ip" kommandoen.

[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 hver av dem fra forskjellige maskiner. Hvis alt er satt opp riktig, vil du få et ping-svar fra hver av dem.

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

Ser ut til at alt fungerer problemfritt. Med disse nye IP-ene kan du sette opp virtuelle nettsteder i Apache-, FTP-kontoer og mange andre ting.

Tilordne flere IP-adresser

Hvis du ønsker å lage et utvalg med flere IP-adresser til et bestemt grensesnitt kalt "ifcfg-eth0", bruker vi " ifcfg-eth0-range0” og kopier innholdet av ifcfg-eth0 på den som vist nedenfor.

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

Åpne nå «ifcfg-eth0-range0»-filen og legg til «IPADDR_START» og «IPADDR_END» IP-adresseområde som vist nedenfor.

[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

Lagre den og start/start nettverkstjenesten på nytt

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

Bekreft at virtuelle grensesnitt er opprettet med IP-adresse.

[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

Hvis du har problemer med å konfigurere, vennligst legg inn spørsmålene dine i kommentarfeltet.