Deixe-me preencher alguns detalhes para ter certeza de que estou respondendo à pergunta que você fez. Você tem um robô com várias portas Ethernet em diferentes locais e esse robô contém um comutador Ethernet configurável. Ele tem uma porta, "porta 1", que está conectada a um host que você chamou de "computador principal", que é o que roda o Ubuntu. Você quer ser capaz de determinar, a partir do host do Ubuntu, em qual porta do robô um determinado host está conectado, e você gostaria de fazê-lo com VLANs e entroncamento de VLAN.
Você pode pensar em uma VLAN como um comutador virtual e um tronco de VLAN como várias conexões Ethernet virtuais feitas através de uma única conexão Ethernet física. Portanto, a solução que você está procurando envolve atribuir cada porta (diferente da porta 1) à sua própria VLAN e, em seguida, passar todas essas VLANs pela porta 1 para o host do Ubuntu. Para simplificar, recomendo atribuir a porta 2 à VLAN 2, a porta 3 à VLAN 3 e assim por diante. Como você não especificou o tipo de switch que este robô contém, esse é todo o detalhe que posso fornecer na configuração do switch.
A idéia é atribuir cada VLAN à sua própria sub-rede IP e executar o DHCP nessa sub-rede, para que um dispositivo conectado à porta no robô obtenha um IP na sub-rede atribuída a essa VLAN (e, portanto, porta). Novamente, para simplificar, eu recomendaria manter a numeração igual, portanto, a VLAN 2 tem 192.168.2.0/24, a VLAN 3 tem 192.168.3.0/24 e assim por diante. Seu host Ubuntu precisará de um IP em cada VLAN, terminando por convenção em .1. E você precisará configurar um servidor DHCP em cada VLAN (via dnsmasq.conf).
Baseado em a página 'vlan' do wiki do Ubuntu , o /etc/network/interfaces
do computador principal conteria algo assim além do configuração básica do host (assumindo que eth1 é sua conexão de rede "noral" e eth2 está conectada à porta do robô 1)
auto eth2.2
iface eth1.2 inet static
address 192.168.2.1
netmask 255.255.255.0
vlan-raw-device eth2
auto eth2.3
iface eth2.3 inet static
address 192.168.3.1
netmask 255.255.255.0
vlan-raw-device eth2
e assim por diante. O auto eth2.N
configura o entroncamento da VLAN N na eth2 e as linhas recuadas atribuem um endereço IP e uma máscara de rede nessa VLAN ao computador principal.
Seu dnsmasq.conf
conteria
dhcp-range=eth2.2,192.168.2.100,192.168.2.199,4h
dhcp-range=eth2.3,192.168.3.100,192.168.3.199,4h
para atribuir endereços IP novos a qualquer coisa que apareça na VLAN 2 (porta 2) e na VLAN 3 (porta 3), respectivamente.
Você deve configurar o software nos computadores conectados ao robô para falar com o endereço IP principal (eth1) do computador principal. Então, qualquer tráfego de um IP correspondente 192.168.2.x é de um computador conectado à porta 2, qualquer tráfego de um IP correspondente a 192.168.3.x é de um computador conectado à porta 3 e assim por diante.
Para responder sua segunda pergunta, eu não encontrei nenhum tutorial sobre isso, e parece uma configuração muito incomum, então isso não é especialmente surpreendente!