Всё равно ты что то накрутил не то. Попробуй такой вариант - на первую сетевушку eth0 подавай тегами трафик от двух провайдерских сетей а вторую сетевушку оставь без vlan, на ней пусть будет локальная сетка, так будет даже лучше и правильней. Для этого тебе скажем на первом порту свича нужно будет принять трафик от 1-го провайдера в вилане 1 в untag, на втором порту также от другого провайдера только в вилане 2, а на третьем порту оба вилана поставить в tag и подать на eth0. Остальные порты ты можешь прописать в любом другом вилане все в untag и они просто будут работать как отдельный свич. А провайдеры разумеется приходя в разные виланы не столкнутся друг с другом. Конфигурация твоих сетевушек при этом будет примерно такой:
auto lo eth0.1 eth0.2 eth1
iface lo inet loopback
# The primary network interface
iface eth0.1 inet dhcp
vlan-raw-device eth0
iface eth0.2 inet static
address 10.x.x.x
netmask 255.255.255.0
broadcast 10.x.x.255
network 10.x.x.x
vlan-raw-device eth0
ace eth1 inet static
address x.x.x.x
netmask x.x.x.x
broadcast x.x.x.x
network x.x.x.x
Где eth0.1 провайдер 1 в вилане 1, eth0.2 провайдер 2 в вилане 2 и все они на сетевухе eth0, а на eth1 адреса твоей сети. Потом ещё допиши туда маршруты на нужные тебе ресурсы иначе не достучишься до них. Пример маршрута я написал в куске конфигурации выше. Не забывай про маску. Если не разберешься напиши конкретные адреса а не порты и названия, конкретные программы, конкретные способы соединения с интернетом и диапазоны адресов. Ещё конечно же лучше прописать статику на eth0.1 Не уверен что пакет vlan может в убунте работать с dhcp, не пробовал, и то учитывая то что дефолтный маршрут у тебя может быть только один если от провайдера с dhcp тебе интернет не понадобится придётся все равно туда писать статику чтобы не получать от него дефолтный маршрут.