
Я не могу ни отключить, ни удалить этот tun
интерфейс, который добавляется при запуске.
Вот что выводится при запуске ifconfig
:
eth0 Link encap:Ethernet HWaddr 50:b7:c3:92:38:e2
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:38993 errors:0 dropped:0 overruns:0 frame:0
TX packets:38993 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5827743 (5.8 MB) TX bytes:5827743 (5.8 MB)
tun Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet6 addr: <some ipv6 address, hidden for privacy>/128 Scope:Global
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 Metric:1
RX packets:2772 errors:0 dropped:0 overruns:0 frame:0
TX packets:2301 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:1883371 (1.8 MB) TX bytes:216571 (216.5 KB)
virbr0 Link encap:Ethernet HWaddr f2:49:d0:5b:ef:80
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet HWaddr c8:f7:33:ac:34:56
inet addr:192.168.219.130 Bcast:192.168.219.255 Mask:255.255.255.0
inet6 addr: fe80::caf7:33ff:feac:3456/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1586404 errors:0 dropped:0 overruns:0 frame:0
TX packets:909338 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2115233714 (2.1 GB) TX bytes:95329457 (95.3 MB)
Интерфейс tun
позволяет мне получать доступ к сети IPv6 через туннель, но это сильно замедляет работу из-за поведения системы, которая отдает приоритет сети IPv6 над IPv4 и пытается подключиться к веб-серверам через этот туннель.
В попытке отключить его я запустил sudo ifconfig tun down
и вот что вышло:
$ sudo ifconfig tun down
[sudo] password for theuser:
$ sudo ifconfig tun
tun Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
POINTOPOINT NOARP MULTICAST MTU:1280 Metric:1
RX packets:3250 errors:0 dropped:0 overruns:0 frame:0
TX packets:2730 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:2194591 (2.1 MB) TX bytes:264663 (264.6 KB)
$ sleep 10
$ sudo ifconfig tun
tun Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet6 addr: 2001:5c0:1400:a::d9/128 Scope:Global
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1280 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:416 (416.0 B) TX bytes:982 (982.0 B)
$
Он снова появляется буквально через несколько секунд! Еще хуже, когда я пытаюсь удалить этот туннель:
$ sudo ip tuntap del dev tun mode tun
ioctl(TUNSETIFF): Device or resource busy
Удивительно, но, dmesg
похоже, ничего особенного в этом нет:
[ 0.997669] tun: Universal TUN/TAP device driver, 1.6
[ 0.998470] tun: (C) 1999-2004 Max Krasnyansky <[email protected]>
[43633.762740] Loading kernel module for a network device with CAP_SYS_MODULE (deprecated). Use CAP_NET_ADMIN and alias netdev-tun instead.
[43995.971465] Loading kernel module for a network device with CAP_SYS_MODULE (deprecated). Use CAP_NET_ADMIN and alias netdev-tun instead.
[43996.550325] Loading kernel module for a network device with CAP_SYS_MODULE (deprecated). Use CAP_NET_ADMIN and alias netdev-tun instead.
[44538.652492] Loading kernel module for a network device with CAP_SYS_MODULE (deprecated). Use CAP_NET_ADMIN and alias netdev-tun instead.
[44630.584862] Loading kernel module for a network device with CAP_SYS_MODULE (deprecated). Use CAP_NET_ADMIN and alias netdev-tun instead.
[44630.627822] Loading kernel module for a network device with CAP_SYS_MODULE (deprecated). Use CAP_NET_ADMIN and alias netdev-tun instead.
[44630.744474] Loading kernel module for a network device with CAP_SYS_MODULE (deprecated). Use CAP_NET_ADMIN and alias netdev-tun instead.
[44630.858219] Loading kernel module for a network device with CAP_SYS_MODULE (deprecated). Use CAP_NET_ADMIN and alias netdev-tun instead.
...
РЕДАКТИРОВАТЬ: выполнение команды sudo ip link delete tun
ничего не показывает и просто не работает.
РЕДАКТИРОВАТЬ:
$ sudo tunctl -d tun
TUNSETIFF: Invalid argument
$
решение1
Чтобы удалить устройство tun0, я использовал
sudo ip link set dev tun0 down
Это сработало.
решение2
Насколько мне известно, по умолчанию программное обеспечение для туннелирования IPv6 не установлено, поэтому вы, должно быть, установили его самостоятельно, и тогда достаточно будет снова удалить соответствующий пакет.
Настроенный в ifconfig
выходных данных адрес IPv6 принадлежит блоку, назначенному GOGO6 ( 2001:5c0:1000::/36
), поэтому я предполагаю, что этогогоцпакет, который необходимо удалить.
решение3
Вы можете использовать команду tunctl
, предварительно установив пакет:
sudo apt-get install uml-utilities
Затем для удаления интерфейса tun используйте команду:
sudo tunctl -d tun
Взгляните на man tunctl
:
Name
tunctl - create and manage persistent TUN/TAP interfaces
-d interfacename
Delete the specified interfacename (set it to non-persistent)