NICs virtuais no Ubuntu 18.04

1

Somos um grupo de estudantes que completam uma unidade de projeto de desenvolvimento na Universidade de Sydney. Nós tivemos dificuldades com o roteamento Linux e gostaríamos muito de sermos apontados na direção certa. Nossa tarefa geral é combinar conexões de internet móvel para aumentar a largura de banda.

OquequeremosTemosváriosroteadorescomsuasprópriassub-redes,todosalimentandoumswitch.Querusarcadaroteadorcomoseuprópriogatewayemumaúnicamáquina.

GostaríamosdeusaroMPTCPparafazerusodecadalinkparaestenderalarguradebandadarede.ORaspberryPinodiagramaacimaestáagindoapenascomoumroteador.NósusamosoiptablesnoRPisparaencaminharpacotesdaethernetparaainternet4G.Porexemplo,temos4roteadorescomsub-rede192.168.101.0/24,192.168.102.0/24,192.168.103.0/24,192.168.104.0/24.Nolaptop,háapenasumNICfísicoeth0.GostaríamosdeconfiguraroMPTCPnoLaptop,usandoNICsvirtuaisouregrasderoteamentoparacadaRaspberryPi.

Oquetentamos?

UsamosipaddraddparaadicionarváriosendereçosIPàeth0física.Emseguida,tentamosadicionarregrasderoteamentocombasenolink . Mas no final todo o tráfego ainda passa pelo roteador padrão. Já utilizamos com sucesso o MPTCP com placas de rede diferentes (não virtuais) conectadas ao laptop.

O que queremos saber? Isso é viável?

Nós não tivemos sucesso usando esses métodos, mas isso pode estar relacionado à nossa falta de experiência neste campo.

Se for possível, você poderia nos apontar na direção certa?

Editar

Aqui está nossa tentativa de executar a solução @dirkt:

    ian@ians-mof-ish-pc:/etc/netplan$ ip r
default via 192.168.91.1 dev eth0.1 
192.168.91.0/24 dev eth0.1 proto kernel scope link src 192.168.91.100 
192.168.92.0/24 dev eth0.2 proto kernel scope link src 192.168.92.100 
ian@ians-mof-ish-pc:/etc/netplan$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 34:e6:d7:7c:6e:ee brd ff:ff:ff:ff:ff:ff
    inet 192.168.92.201/24 brd 192.168.92.255 scope global enp2s0
       valid_lft forever preferred_lft forever
    inet6 fe80::36e6:d7ff:fe7c:6eee/64 scope link 
       valid_lft forever preferred_lft forever
4: wlp1s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 70:77:81:c1:07:61 brd ff:ff:ff:ff:ff:ff
5: eth0.1@enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 34:e6:d7:7c:6e:ee brd ff:ff:ff:ff:ff:ff
    inet 192.168.91.100/24 scope global eth0.1
       valid_lft forever preferred_lft forever
    inet6 fe80::36e6:d7ff:fe7c:6eee/64 scope link 
       valid_lft forever preferred_lft forever
6: eth0.2@enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 34:e6:d7:7c:6e:ee brd ff:ff:ff:ff:ff:ff
    inet 192.168.92.100/24 scope global eth0.2
       valid_lft forever preferred_lft forever
    inet6 fe80::36e6:d7ff:fe7c:6eee/64 scope link 
       valid_lft forever preferred_lft forever
ian@ians-mof-ish-pc:/etc/netplan$ ip rule show
0:  from all lookup local 
32764:  from 192.168.92.100 lookup 2 
32765:  from 192.168.91.100 lookup 1 
32766:  from all lookup main 
32767:  from all lookup default 
ian@ians-mof-ish-pc:/etc/netplan$ ip r show table 1
default via 192.168.91.1 dev eth0.1 
192.168.91.0/24 dev eth0.1 scope link 
ian@ians-mof-ish-pc:/etc/netplan$ ip r show table 2
default via 192.168.92.1 dev eth0.2 
192.168.92.0/24 dev eth0.2 scope link 
ian@ians-mof-ish-pc:/etc/netplan$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 192.168.91.100 icmp_seq=1 Destination Host Unreachable
From 192.168.91.100 icmp_seq=2 Destination Host Unreachable
From 192.168.91.100 icmp_seq=3 Destination Host Unreachable
From 192.168.91.100 icmp_seq=4 Destination Host Unreachable
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3041ms
pipe 3
ian@ians-mof-ish-pc:/etc/netplan$ ping 192.168.91.1
PING 192.168.91.1 (192.168.91.1) 56(84) bytes of data.
From 192.168.91.100 icmp_seq=1 Destination Host Unreachable
From 192.168.91.100 icmp_seq=2 Destination Host Unreachable
From 192.168.91.100 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.91.1 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3055ms
pipe 3
    
por Jack 02.10.2018 / 14:07

1 resposta

0

Você pode usar VLAN para criar uma NIC "virtual" para cada RaspPi no laptop.

Digamos que o primeiro RaspPi tenha a tag 1 da VLAN, então você faz

ip link add link eth0 name eth0.1 type vlan id 1

no laptop e, da mesma forma, um RaspPi # 1. No RaspPi, ignore eth0 e apenas configure eth0.1 com um endereço. Vá em frente e faça isso para todos os RaspPi's, com tags de VLAN diferentes.

No laptop, ignore eth0 , use todos os eth0.1 , eth0.2 etc. e forneça endereços diferentes.

Em seguida, use o que você fez para

We have already successfully used MPTCP with different (non-virtual) NICs connected to the Laptop.

para que funcione.

(MPTCP via roteamento parece interessante, eu deveria dar uma olhada nisso).

    
por 02.10.2018 / 15:00