Interface de rede virtual
2.1.5 Interface de rede virtual
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.
Configuração
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
Verificação
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