Я запускаю Ubuntu 19.10 с openvpn 2.4.7, и со временем у меня накопилось 40 устройств tun, которые все появляются, когда я вхожу в систему. ifconfig
подтверждает, что все они есть.
Я пробовал:
sudo ip link delete tun0
(и для всех других устройств) sudo ip link delete tun0
, а также выполнение sudo tunctl -d tun0
(который отвечает Установить 'tun0' непостоянным - и я сделал то же самое со всеми остальными) sudo ifconfig tun0 down
(и все остальные) Но после перезагрузки все они возвращаются. Единственный способ использовать свою систему - это удалить openvpn и переустановить после каждой загрузки. Они не являются частью netplan.
Как я могу удалить их навсегда?
* Изменить: отключение IPv6 фактически привело к исчезновению этих устройств. Не могу поверить. Отключение IPv6 не должно быть решением.
Если вы хотите навсегда удалить какой-либо интерфейс, чтобы он не появлялся после перезагрузки, то это зависит от того, какой службой они управляются. Если вы использовали nm, то, по сути, он автоматически создает интерфейсы tun/tap при установке openvpn, и их нельзя удалить с помощью networkctl, а только принудительно с помощью инструмента nmcli
. Между nm и sn есть одна тонкость, когда вы активируете sn, вам важно удалить nm ПЕРЕД установкой например 'openvpn', так как nm автоматически создает интерфейс для туннелирования трафика и он остается в списке networkctl и удалить его НЕЛЬЗЯ. Это. Но если вы удалите и деактивируете nm перед установкой openvpn, то созданные интерфейсы могут не создаваться и исчезать из списка networkctl. Чтоб не споткнулся ты о созданное
через нм интерфейсы, ...в списке networkctl нет пляжа, и если вы хотите произвести революцию, то я советую вам использовать systemd-networkd, вы можете постепенно привыкнуть к его синтаксису.
Nmcli из сетевого менеджера.
отключить все интерфейсы после перезагрузки, управляемые nm:
nmcli networking off
показать интерфейсы/подключение:
nmcli
nmcli general status
nmcli device show tun0
nmcli connection
временно отключить/удалить интерфейс из nm до перезагрузки:
nmcli device set autoconnect no tun0
nmcli device set managed no tun0
nmcli device delete tun0
uuidgen tun0
84a068f7-efe5-40c5-a813-3fc85fabdcc3 # replace it with yours uuid
nmcli connection delete 84a068f7-efe5-40c5-a813-3fc85fabdcc3
Networkctl из systemd-networkd.
Для того, чтобы иметь возможность подумать над адекватным решением настройки и не спешить с переустановкой системы, то единственный способ обойти ненужные интерфейсы из nm — создать конфиг, использующий sn всех интерфейсов нужно в /etc/default/grub
, тем самым добавляя их в автозагрузку.
чтобы увидеть интерфейсы в networkctl, только те, которые вас интересуют, создайте конфиг 01-netcfg.yaml:
sudo apt install bridge-utils net-tools ; reboot # use net-tools to display ifconfig list
sudo nano /etc/netplan/01-netcfg.yaml
netplan --debug generate
добавьте созданный вами конфиг в автозагрузку:
sudo nano /etc/default/grub
замените строка:
GRUB_CMDLINE_LINUX=""
on:
GRUB_CMDLINE_LINUX="netcfg/do_not_use_netplan=true"
update-grub ; reboot
ifconfig
посмотреть все имеющиеся у вас интерфейсы:
networkctl status all
WARNING: systemd-networkd is not running, output will be incomplete.
Failed to request link: No such device
соответственно здесь вы можете увидеть, что networkctl не отображается, пока sn не запущен.
отключить интерфейс перед перезагрузкой в networkctl:
sudo ifconfig tun0 down
sudo ip link set tun0 down
sudo ip link delete tun0
sudo systemctl restart systemd-networkd ; sudo systemctl status systemd-networkd