Em certos casos é vantajoso atribuir mais do que um endereço a um sistema. Se o sistema tem várias interfaces de rede, basta atribuir endereços diferentes a cada uma. No caso de haver apenas uma ligação de rede, é possível criar interfaces virtuais. Assim, a partir de uma interface eno1 são criadas uma ou mais interfaces virtuais, eno1:0, eno1:1, etc.
A configuração de uma interface virtual é efetuada no ficheiro /etc/network/interfaces:
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface # allow-hotplug eno1 # iface eno1 inet dhcp # Static IP address auto eno1 iface eno1 inet static address 192.168.1.100 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 # Virtual interface # Static IP address auto eno1:0 iface eno1:0 inet static address 192.168.1.101 netmask 255.255.255.0
Na configuração da interface eno1:0 só são definidos os parâmetros address e netmask, uma vez que os restantes parâmetros são iguais aos da interface eno1.
Graças à linha auto eno1:0, no ficheiro /etc/network/interfaces, a interface virtual será automaticamente activada a cada arranque do sistema. Por agora, ativar manualmente a ligação:
root@server:~# ifup eno1:0
Associar um nome de sistema ou hostname ao novo endereço, no ficheiro /etc/hosts:
127.0.0.1 localhost 192.168.1.100 server.home.lan server 192.168.1.101 virtual.home.lan virtual # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters
O comando ifconfig
deverá mostrar a interface virtual eno1:0 activada, com o endereço IP e demais parâmetros atribuídos:
root@server:~# ifconfig eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::d6ae:52ff:fec5:4e01 prefixlen 64 scopeid 0x20<link> ether d4:ae:52:c5:4e:01 txqueuelen 1000 (Ethernet) RX packets 218167200 bytes 191175932825 (178.0 GiB) RX errors 0 dropped 1704 overruns 0 frame 0 TX packets 226986879 bytes 225966867470 (210.4 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 16 eno1:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.101 netmask 255.255.255.0 broadcast 192.168.1.255 ether d4:ae:52:c5:4e:01 txqueuelen 1000 (Ethernet) device interrupt 16 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) RX packets 186225885 bytes 154799856220 (144.1 GiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 186225885 bytes 154799856220 (144.1 GiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
O comando ping
permite verificar se um servidor está acessível e a responder a comunicações em rede:
root@server:~# ping -c3 virtual PING virtual.home.lan (192.168.1.101) 56(84) bytes of data. 64 bytes from 192.168.1.101 (192.168.1.101): icmp_seq=1 ttl=64 time=0.048 ms 64 bytes from 192.168.1.101 (192.168.1.101): icmp_seq=2 ttl=64 time=0.045 ms 64 bytes from 192.168.1.101 (192.168.1.101): icmp_seq=3 ttl=64 time=0.040 ms --- virtual.home.lan ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2040ms rtt min/avg/max/mdev = 0.040/0.044/0.048/0.006 ms