Erro VConfig: não é possível adicionar interface vlan

2

Comecei a trabalhar com recursos de kernel de VLAN apenas recentemente e descobri um domínio bastante desafiador.

Eu achei que tinha quase tudo no controle, mas depois encontrei um problema que aparentemente não consigo resolver.

Eu tenho alguns scripts automáticos cuidando da criação e destruição de alguns namespaces de rede que devem isolar um domínio de usuário um do outro.

Em um dos meus servidores, esse script está funcionando corretamente há dois meses, mas hoje, de repente, ele começou a se comportar de maneira estranha. A versão do kernel é 3.13.0-24-generic em execução no Ubuntu 14.04 LTS .

Esta é a situação atual:

cat /proc/net/vlan/config

VLAN Dev name    | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD

Então nada lá.

ip netns ls

TEST

Esse é o meu namespace ainda está lá.

ip netns exec TEST cat /proc/net/vlan/config

VLAN Dev name    | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
tap0.105       | 105  | tap0

Eu defini uma interface marcada virtual neste domínio, que está configurada corretamente e funcionando corretamente.

ip netns exec TEST ip addr

1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default 
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
92: tap0.105@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
      noqueue state UP group default 
    link/ether 5a:ff:b5:98:6f:c2 brd ff:ff:ff:ff:ff:ff
    inet 172.16.51.1/32 scope global tap0.105
      valid_lft forever preferred_lft forever
    inet6 fe80::58ff:b5ff:fe98:6fc2/64 scope link 
      valid_lft forever preferred_lft forever

Então o problema:

vconfig add eth1 10

ERROR: trying to add VLAN #10 to IF -:eth1:-  error: File exists

e, claro:

vconfig rem eth1.10

ERROR: trying to remove VLAN -:eth1.10:- error: No such device

Eu tentei procurar na internet por casos de erro semelhantes, mas sem sucesso. Algumas outras saídas:

ip netns pids TEST

não dá resultado.

Este é um STRACE do comando:

root@d-intfw1:~# strace vconfig add eth1 10 execve("/sbin/vconfig", ["vconfig", "add", "eth1", "10"], [/* 17 vars */]) = 0 brk(0) = 0x1a2a000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f361112c000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=24418, ...}) = 0 mmap(NULL, 24418, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f3611126000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 read(3, "7ELF%code%%code%%code%%code%%code%%code%%code%%code%%code%%code%>%code%%code%%code%%code%0%code%%code%%code%%code%%code%"..., 832) = 832 fstat(3, {st_mode=S_IFREG|0755, st_size=1845024, ...}) = 0 mmap(NULL, 3953344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f3610b46000 mprotect(0x7f3610d02000, 2093056, PROT_NONE) = 0 mmap(0x7f3610f01000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1bb000) = 0x7f3610f01000 mmap(0x7f3610f07000, 17088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f3610f07000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3611125000 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3611123000 arch_prctl(ARCH_SET_FS, 0x7f3611123740) = 0 mprotect(0x7f3610f01000, 16384, PROT_READ) = 0 mprotect(0x601000, 4096, PROT_READ) = 0 mprotect(0x7f361112e000, 4096, PROT_READ) = 0 munmap(0x7f3611126000, 24418) = 0 open("/proc/net/vlan/config", O_RDONLY) = 3 close(3) = 0 socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3 ioctl(3, SIOCSIFVLAN, 0x7fffeead1420) = -1 EEXIST (File exists) write(2, "ERROR: trying to add VLAN #10 to"..., 65ERROR: trying to add VLAN #10 to IF -:eth1:- error: File exists ) = 65 exit_group(3) = ? +++ exited with 3 +++

Alguém sabe o que a causa pode ser para tal comportamento? Muito obrigado.

    
por Blazor 14.03.2018 / 19:24

0 respostas