VConfig-Fehler: VLAN-Schnittstelle kann nicht hinzugefügt werden

VConfig-Fehler: VLAN-Schnittstelle kann nicht hinzugefügt werden

Ich habe erst vor Kurzem begonnen, mit VLAN-Kernelfunktionen zu arbeiten, und bin auf ein ziemlich anspruchsvolles Gebiet gestoßen.

Ich dachte, ich hätte fast alles unter Kontrolle, stieß dann aber auf ein Problem, das ich anscheinend nicht lösen kann.

Ich habe einige automatische Skripte, die sich um die Erstellung und Zerstörung einigerNetzwerk-Namespacesdie eine Benutzerdomäne voneinander isolieren müssen.

Auf einem meiner Server funktionierte dieses Skript nun seit 2 Monaten einwandfrei, aber heute begann es plötzlich, sich auf sehr merkwürdige Weise schlecht zu verhalten. Die Kernel-Version ist3.13.0-24-generischLaufen innerhalbUbuntu 14.04 LTS.

Dies ist die aktuelle Situation:

cat /proc/net/vlan/config

VLAN Dev name    | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD

Also da ist nichts.

ip netns ls

TEST

Das heißt, mein Namespace ist immer noch da.

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

Ich habe in dieser Domäne eine virtuelle getaggte Schnittstelle definiert, die ordnungsgemäß konfiguriert ist und ordnungsgemäß ausgeführt wird.

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

Dann das Problem:

vconfig add eth1 10

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

und natürlich:

vconfig rem eth1.10

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

Ich habe versucht, im Internet nach ähnlichen Fehlerfällen zu suchen, aber ohne Erfolg. Einige andere Ergebnisse:

ip netns pids TEST

gibt kein Ergebnis.

Dies ist ein STRACE des Befehls:

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, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\320\37\2\0\0\0\0\0"..., 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 +++

Weiß jemand, was die Ursache für ein solches Verhalten sein könnte? Vielen Dank.

verwandte Informationen