ecc83, alsoijw хочет сказать, что наблюдаемый эффект, возможно, вызван системой инициализации (да будь проклят Поттеринг и его поделия) systemd, появившейся начиная с Debian jessie.
Ввиду того, что я начал пользоваться Debian только с версии jessie, то я не знаю, как люди жили "в старину", без systemd, и соответственно мне сложно оценить масштаб трагедии

НЕпротивники systemd, просто обязаны знать как это сделать. Ждать их или искать в гугле.
Никого ждать мы не будем, пусть лучше они догоняют

Подобная тема уже поднималасть. Разумеется что то что находится в /etc/network/interfaces нужно закоментировать.
Видел я эту тему ещё до того, как создал свою. Дело в том, что тема то поднималась, но не поднялась. Всмысле никаких выводов, результатов работы и инструкций я там не увидел. Какие то обрывки конфигов, но что с ними делать, куда вписывать и как контролировать результат, там не сказано.
Поэтому я подумал, что там общаются профессионалы и начинающим там делать нечего

Тем не менее вопрос я решил. Разумеется не самостоятельно, кое что подсмотрел в гугле и отредактировал под свои требования.
Задача была такая:
Автоматическое подключение к домашнему wifi с DHCP, используя только возможности системы и консольные утилиты,
без установки дополнительных приложений типа wicd, network-manager и т.п.
Редактирование файла /etc/network/interfaces решает вопрос подключения, но пауза 10-30 сек во время загрузки раздражает, к тому же, я не знаю как себя поведёт компьютер, если связь установлена не будет. Скорее всего он не загрузится вовсе, пока не нажать Ctrl-C или что то подобное.
Решение:
Создание новой службы или по модному "юнита", который будет запускать в фоновом процессе wpa_supplicant для установки соединения.
Порядок действий:
1. Заранее должны быть установлены пакеты: wpasupplicant и wireless-tools
apt-get install wpasupplicant wireless-tools
2. Приводим файл /etc/network/interfaces в девственное состояние.
В нем не должно быть каких либо настроек, кроме этого:
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
3. Удалить из системы все "настройщики интернета" вместе с их конфигурационными файлами.
4. Перезаргузиться и убедиться, что интернета нет.
5. Отредактировать скрипт.
Проверить имя интерфейса (WIFIDEV=wlan0). Если у кого то отличное от wlan0 - соответственно изменить.
И с самом конце изменить свои настройки wifi. В основном там имя сети и пароль.
Протоколы можно посмотреть при помощи команды:
iwlist wlan0 scan
Пароль генерируется командой:
wpa_passphrase имя_сети пароль_сети > wifi_key
Потом из файла wifi_key скопируете и вставите в файл /etc/wpa_supplicant/wpa_supplicant-wlan0.conf длинную строку psk=**********
Собственно сам скрипт:
#!/bin/bash
clear
WIFIDEV=wlan0
apt-get remove -q -y --purge resolvconf
cat > /etc/systemd/network/00-dhcp-wireless.network << EOF
[Match]
Name=$WIFIDEV
[Network]
DHCP=yes
EOF
cat > /etc/systemd/system/wpa_supplicant@.service << EOF
[Unit]
Description=WPA supplicant daemon (interface-specific version)
Requires=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device
[Service]
Type=simple
ExecStart=/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -i%I
[Install]
Alias=multi-user.target.wants/wpa_supplicant@%i.service
EOF
echo '#!/bin/sh' > /etc/network/if-up.d/dhcp
echo '/sbin/dhclient -d $WIFIDEV &' >> /etc/network/if-up.d/dhcp
chmod +x /etc/network/if-up.d/dhcp
systemctl disable wpa_supplicant.service
systemctl enable systemd-resolved
systemctl enable systemd-networkd
systemctl enable wpa_supplicant@$WIFIDEV
systemctl start systemd-networkd
systemctl start systemd-resolved
systemctl start wpa_supplicant@$WIFIDEV
rm /etc/resolv.conf
ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
touch /etc/wpa_supplicant/wpa_supplicant-$WIFIDEV.conf
chmod go-rwx /etc/wpa_supplicant/wpa_supplicant-$WIFIDEV.conf
cat > /etc/wpa_supplicant/wpa_supplicant-$WIFIDEV.conf << EOF
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=1
network={
ssid="MyHomeNET"
scan_ssid=1
proto=WPA2
pairwise=CCMP
key_mgmt=WPA-PSK
psk=fbf2e843ae212227c40e730234bfd1a0d47d1c9681
}
EOF
6. Запустить скрипт от имени root и перезагрузиться.
Замечен один глюк в Debian, которого нет в Ubuntu. После инсталляции скрипта, будет создан файл /etc/systemd/network/00-dhcp-wireless.network. В этом файле есть раздел:
[Network]
DHCP=yes
Этого должно быть достаточно, что бы начать получать динамические IP адреса клиентам сети от роутера.
Так вот в Ubuntu всё так и происходит, то есть сеть начинает работать и клиенты уже в сети.
А вот Debian почему то приходится "пнуть" при загрузке командой:
/sbin/dhclient -d wlan0 &
иначе клиент остаётся без адреса

Для этого создается файл /etc/network/if-up.d/dhcp
На этом пожалуй всё
