LINUX.ORG.RU

Debian 11: Что прописать в /etc/network/interfaces и какие пакеты добавить для того, чтобы завести «wireless»?

 , , , ,


0

1

В общем задача звучит так:

- на машине без Wi-Fi модуля настроить систему так, чтобы попав на ноутбук она подцепила Wi-Fi автоматически (предположительно без пароля);

- также прописать настройки для сети с WPA с паролем;

При этом есть обычное Ethernet соединение, оно настроено так, чтобы информация о сетевой карте сбрасывалась каждый раз при подключении новой карты Ethernet.

/etc/udev/rules.d/10-network.rules

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="*", \
  ATTR{dev_id}=="0x0", ATTR{type}=="1", \
  NAME="enp2s0"

/etc/network/interfaces сейчас выглядит так:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp2s0
iface enp2s0 inet dhcp

Вопрос - что дописать в эти оба файла, чтобы также без проблем цеплялся не только Ethernet, но и Wi-Fi?

Предположительно, комбинацию вот чего-то такого:


auto wlan0
iface wlan0 inet dhcp
    wpa-ssid имя_сети
    wpa-psk пароль


auto wlan0
iface wlan0 inet dhcp
    wpa-scan-ssid 1
    wireless-power off


auto wlan0
iface wlan0 inet dhcp
    wireless-essid any
    

Но проверить не могу. И с беспроводной сетью никогда не сталкивался ранее.

По пакетам - достаточно ли будет поставить лишь эти?

sudo apt-get install wpasupplicant firmware-iwlwifi firmware-atheros

Список всего, что уже стоит в системе:


dpkg-query -W --showformat='${Package}\n'

adduser
adwaita-icon-theme
alsa-tools
alsa-topology-conf
alsa-ucm-conf
alsa-utils
apparmor
apt
apt-utils
aspell
aspell-ru
base-files
base-passwd
bash
binutils
binutils-common
binutils-x86-64-linux-gnu
bleachbit
bsdextrautils
bsdutils
busybox
bzip2
ca-certificates
catfish
chromium
chromium-common
chromium-l10n
console-setup
console-setup-linux
coreutils
cpio
cpp
cpp-10
cron
cryptsetup
cryptsetup-bin
cryptsetup-initramfs
cryptsetup-run
dash
dbus
dbus-user-session
dconf-gsettings-backend
dconf-service
debconf
debconf-i18n
debian-archive-keyring
debianutils
desktop-file-utils
dialog
dictionaries-common
diffutils
dirmngr
discover
discover-data
dmidecode
dmsetup
dosfstools
dpkg
e2fsprogs
emacsen-common
exo-utils
fdisk
file-roller
findutils
firmware-amd-graphics
firmware-atheros
firmware-iwlwifi
firmware-linux-free
fontconfig
fontconfig-config
fonts-dejavu-core
fuse
galculator
gcc
gcc-10
gcc-10-base
gcc-9-base
gdisk
geany
geany-common
genisoimage
geoip-database
gettext-base
gir1.2-atk-1.0
gir1.2-freedesktop
gir1.2-gdkpixbuf-2.0
gir1.2-glib-2.0
gir1.2-gmenu-3.0
gir1.2-gtk-3.0
gir1.2-harfbuzz-0.0
gir1.2-pango-1.0
gir1.2-xfconf-0
glib-networking
glib-networking-common
glib-networking-services
gnome-menus
gnupg
gnupg-l10n
gnupg-utils
gparted
gparted-common
gpg
gpg-agent
gpg-wks-client
gpg-wks-server
gpgconf
gpgsm
gpgv
grep
greybird-gtk-theme
groff-base
grub-common
grub-pc
grub-pc-bin
grub2-common
gsettings-desktop-schemas
gtk-update-icon-cache
gtk2-engines-murrine
gvfs
gvfs-backends
gvfs-common
gvfs-daemons
gvfs-libs
gzip
haveged
hicolor-icon-theme
hostname
ifupdown
init
init-system-helpers
initramfs-tools
initramfs-tools-core
installation-report
inxi
iproute2
iptables
iputils-ping
irussian
isc-dhcp-client
isc-dhcp-common
ispell
kbd
keyboard-configuration
keyutils
klibc-utils
kmod
konwert
konwert-filters
laptop-detect
less
liba52-0.7.4
libaa1
libacl1
libaom0
libapparmor1
libapt-pkg6.0
libarchive13
libargon2-1
libaribb24-0
libasan6
libasound2
libasound2-data
libaspell15
libass9
libassuan0
libasyncns0
libatasmart4
libatk-bridge2.0-0
libatk1.0-0
libatk1.0-data
libatkmm-1.6-1v5
libatomic1
libatopology2
libatspi2.0-0
libattr1
libaudit-common
libaudit1
libavahi-client3
libavahi-common-data
libavahi-common3
libavahi-glib1
libavc1394-0
libavcodec58
libavformat58
libavutil56
libayatana-ido3-0.4-0
libayatana-indicator3-7
libbinutils
libblkid1
libblockdev-fs2
libblockdev-loop2
libblockdev-part-err2
libblockdev-part2
libblockdev-swap2
libblockdev-utils2
libblockdev2
libbluray2
libbpf0
libbrotli1
libbsd0
libbz2-1.0
libc-bin
libc-dev-bin
libc-devtools
libc-l10n
libc6
libc6-dev
libcaca0
libcairo-gobject2
libcairo2
libcairomm-1.0-1v5
libcap-ng0
libcap2
libcap2-bin
libcbor0
libcc1-0
libcddb2
libcdio-cdda2
libcdio-paranoia2
libcdio19
libchromaprint1
libcodec2-0.9
libcolord2
libcom-err2
libcrypt-dev
libcrypt1
libcryptsetup12
libctf-nobfd0
libctf0
libcups2
libcurl4
libdatrie1
libdav1d4
libdb5.3
libdbus-1-3
libdbusmenu-glib4
libdbusmenu-gtk3-4
libdc1394-25
libdca0
libdconf1
libdebconfclient0
libdeflate0
libdevmapper1.02.1
libdiscover2
libdns-export1110
libdouble-conversion3
libdrm-amdgpu1
libdrm-common
libdrm-intel1
libdrm-nouveau2
libdrm-radeon1
libdrm2
libdvbpsi10
libdvdnav4
libdvdread8
libebml5
libedit2
libefiboot1
libefivar1
libegl-mesa0
libegl1
libelf1
libepoxy0
libept1.6.0
libestr0
libevdev2
libevent-2.1-7
libexif12
libexo-2-0
libexo-common
libexpat1
libext2fs2
libfaad2
libfastjson4
libfdisk1
libffi7
libfftw3-bin
libfftw3-dev
libfftw3-double3
libfftw3-long3
libfftw3-quad3
libfftw3-single3
libfido2-1
libflac8
libfontconfig1
libfontenc1
libfreetype6
libfribidi0
libfuse2
libgarcon-1-0
libgarcon-common
libgarcon-gtk3-1-0
libgbm1
libgcc-10-dev
libgcc-s1
libgck-1-0
libgcr-base-3-1
libgcrypt20
libgd3
libgdata-common
libgdata22
libgdbm-compat4
libgdbm6
libgdk-pixbuf-2.0-0
libgdk-pixbuf-xlib-2.0-0
libgdk-pixbuf2.0-0
libgdk-pixbuf2.0-common
libgirepository-1.0-1
libgl1
libgl1-mesa-dri
libglapi-mesa
libgles2
libglib2.0-0
libglibmm-2.4-1v5
libglu1-mesa
libglvnd0
libglx-mesa0
libglx0
libgme0
libgmp10
libgnome-menu-3-0
libgnutls30
libgoa-1.0-0b
libgoa-1.0-common
libgomp1
libgpg-error0
libgphoto2-6
libgphoto2-port12
libgpm2
libgraphite2-3
libgsm1
libgssapi-krb5-2
libgtk-3-0
libgtk-3-common
libgtkmm-3.0-1v5
libgtop-2.0-11
libgtop2-common
libgudev-1.0-0
libharfbuzz0b
libhavege2
libhogweed6
libice6
libicu67
libidn11
libidn2-0
libimobiledevice6
libinput-bin
libinput10
libip4tc2
libip6tc2
libisc-export1105
libisl23
libitm1
libixml10
libjack-jackd2-0
libjansson4
libjbig0
libjpeg62-turbo
libjs-jquery
libjs-sphinxdoc
libjs-underscore
libjson-c5
libjson-glib-1.0-0
libjson-glib-1.0-common
libjsoncpp24
libk5crypto3
libkate1
libkeyutils1
libklibc
libkmod2
libkrb5-3
libkrb5support0
libksba8
liblcms2-2
libldap-2.4-2
libldb2
liblightdm-gobject-1-0
liblirc-client0
libllvm11
liblmdb0
liblocale-gettext-perl
liblognorm5
liblsan0
libltdl7
liblua5.2-0
liblz4-1
liblzma5
liblzo2-2
libmad0
libmagic-mgc
libmagic1
libmatroska7
libmd0
libmd4c0
libmfx1
libminizip1
libmnl0
libmount1
libmp3lame0
libmpc3
libmpcdec6
libmpdec3
libmpeg2-4
libmpfr6
libmpg123-0
libmtdev1
libmtp-common
libmtp9
libmysofa1
libnautilus-extension1a
libncurses6
libncursesw6
libnetfilter-conntrack3
libnettle8
libnewt0.52
libnfnetlink0
libnfs13
libnftables1
libnftnl11
libnghttp2-14
libnl-3-200
libnl-genl-3-200
libnl-route-3-200
libnorm1
libnotify4
libnpth0
libnsl-dev
libnsl2
libnspr4
libnss3
libnuma1
libogg0
libopenjp2-7
libopenmpt-modplug1
libopenmpt0
libopus0
libp11-kit0
libpam-modules
libpam-modules-bin
libpam-runtime
libpam-systemd
libpam0g
libpango-1.0-0
libpangocairo-1.0-0
libpangoft2-1.0-0
libpangomm-1.4-1v5
libpangoxft-1.0-0
libparted-fs-resize0
libparted2
libpci3
libpciaccess0
libpcre2-16-0
libpcre2-8-0
libpcre3
libpcsclite1
libperl5.32
libpgm-5.3-0
libpipeline1
libpixman-1-0
libplacebo72
libplist3
libpng16-16
libpolkit-agent-1-0
libpolkit-gobject-1-0
libpopt0
libpostproc55
libprocps8
libprotobuf-lite23
libproxy1v5
libpsl5
libpulse0
libpython3-stdlib
libpython3.9
libpython3.9-minimal
libpython3.9-stdlib
libqt5core5a
libqt5dbus5
libqt5gui5
libqt5help5
libqt5network5
libqt5opengl5
libqt5printsupport5
libqt5sql5
libqt5sql5-sqlite
libqt5svg5
libqt5widgets5
libqt5x11extras5
libqt5xml5
libquadmath0
librabbitmq4
libraw1394-11
libre2-9
libreadline8
libresid-builder0c2a
librest-0.7-0
librsvg2-2
librtmp1
libsamplerate0
libsasl2-2
libsasl2-modules-db
libsdl-image1.2
libsdl-ttf2.0-0
libsdl1.2debian
libseccomp2
libsecret-1-0
libsecret-common
libselinux1
libsemanage-common
libsemanage1
libsensors-config
libsensors5
libsepol1
libshine3
libshout3
libsidplay2
libsigc++-2.0-0v5
libslang2
libsm6
libsmartcols1
libsmbclient
libsnappy1v5
libsndfile1
libsodium23
libsoup-gnome2.4-1
libsoup2.4-1
libsoxr0
libspatialaudio0
libspeex1
libspeexdsp1
libsqlite3-0
libsrt1.4-gnutls
libss2
libssh-gcrypt-4
libssh2-1
libssl1.1
libstartup-notification0
libstdc++6
libswresample3
libswscale5
libsystemd0
libtag1v5
libtag1v5-vanilla
libtalloc2
libtasn1-6
libtdb1
libtevent0
libtext-charwidth-perl
libtext-iconv-perl
libtext-wrapi18n-perl
libthai-data
libthai0
libtheora0
libthunarx-3-0
libtiff5
libtinfo6
libtirpc-common
libtirpc-dev
libtirpc3
libtorrent-rasterbar10
libtsan0
libtwolame0
libubsan1
libuchardet0
libudev1
libudfread0
libudisks2-0
libunistring2
libunwind8
libupnp13
libupower-glib3
liburing1
libusb-0.1-4
libusb-1.0-0
libusbmuxd6
libutempter0
libuuid1
libva-drm2
libva-wayland2
libva-x11-2
libva2
libvdpau1
libvlc-bin
libvlc5
libvlccore9
libvorbis0a
libvorbisenc2
libvorbisfile3
libvpx6
libvte-2.91-0
libvte-2.91-common
libvulkan1
libwacom-common
libwacom2
libwavpack1
libwayland-client0
libwayland-cursor0
libwayland-egl1
libwayland-server0
libwbclient0
libwebp6
libwebpdemux2
libwebpmux3
libwnck-3-0
libwnck-3-common
libwoff1
libwrap0
libx11-6
libx11-data
libx11-xcb1
libx264-160
libx265-192
libxapian30
libxatracker2
libxau6
libxaw7
libxcb-dri2-0
libxcb-dri3-0
libxcb-glx0
libxcb-icccm4
libxcb-image0
libxcb-keysyms1
libxcb-present0
libxcb-randr0
libxcb-render-util0
libxcb-render0
libxcb-shape0
libxcb-shm0
libxcb-sync1
libxcb-util1
libxcb-xfixes0
libxcb-xinerama0
libxcb-xinput0
libxcb-xkb1
libxcb-xv0
libxcb1
libxcomposite1
libxcursor1
libxdamage1
libxdmcp6
libxext6
libxfce4panel-2.0-4
libxfce4ui-2-0
libxfce4ui-common
libxfce4ui-utils
libxfce4util-common
libxfce4util7
libxfconf-0-3
libxfixes3
libxfont2
libxft2
libxi6
libxinerama1
libxkbcommon-x11-0
libxkbcommon0
libxkbfile1
libxklavier16
libxml2
libxmu6
libxmuu1
libxnvctrl0
libxpm4
libxpresent1
libxrandr2
libxrender1
libxres1
libxshmfence1
libxslt1.1
libxt6
libxtables12
libxtst6
libxv1
libxvidcore4
libxxf86dga1
libxxf86vm1
libxxhash0
libz3-4
libzmq5
libzstd1
libzvbi-common
libzvbi0
lightdm
lightdm-gtk-greeter
linux-base
linux-compiler-gcc-10-x86
linux-headers-5.10.0-21-amd64
linux-headers-5.10.0-21-common
linux-headers-amd64
linux-image-5.10.0-21-amd64
linux-image-amd64
linux-kbuild-5.10
linux-libc-dev
locales
login
logrotate
logsave
lsb-base
lsof
lz4
lzip
make
man-db
manpages
manpages-dev
mawk
media-types
menulibre
mount
mueller7-dict
nano
ncurses-base
ncurses-bin
netbase
nftables
ocl-icd-libopencl1
openssh-client
openssh-server
openssh-sftp-server
openssl
os-prober
overlayroot
p7zip
p7zip-full
parted
passwd
pci.ids
pciutils
perl
perl-base
perl-modules-5.32
pinentry-curses
plocate
policykit-1
policykit-1-gnome
procps
progress
psmisc
pv
python3
python3-cairo
python3-certifi
python3-chardet
python3-dbus
python3-distutils
python3-gi
python3-gi-cairo
python3-idna
python3-ldb
python3-lib2to3
python3-minimal
python3-pexpect
python3-pkg-resources
python3-psutil
python3-ptyprocess
python3-requests
python3-six
python3-talloc
python3-urllib3
python3.9
python3.9-minimal
qbittorrent
re
readline-common
ristretto
rsyslog
runit-helper
samba-libs
sed
sensible-utils
shared-mime-info
simplescreenrecorder
simplescreenrecorder-lib
squashfs-tools
ssh
sshpass
sshuttle
sudo
synaptic
systemd
systemd-sysv
sysvinit-utils
tar
task-cyrillic
task-russian
tasksel
tasksel-data
thunar
thunar-archive-plugin
thunar-data
thunar-volman
tzdata
ucf
udev
udisks2
unzip
upower
usbutils
util-linux
vim-common
vim-tiny
virtualbox-7.0
vlc
vlc-bin
vlc-data
vlc-l10n
vlc-plugin-base
vlc-plugin-qt
vlc-plugin-video-output
wamerican
wget
whiptail
wpasupplicant
x11-apps
x11-common
x11-session-utils
x11-utils
x11-xkb-utils
x11-xserver-utils
xauth
xdg-utils
xfce4-helpers
xfce4-panel
xfce4-power-manager
xfce4-power-manager-data
xfce4-screenshooter
xfce4-session
xfce4-settings
xfce4-taskmanager
xfce4-terminal
xfce4-whiskermenu-plugin
xfconf
xfdesktop4
xfdesktop4-data
xfonts-100dpi
xfonts-75dpi
xfonts-base
xfonts-encodings
xfonts-scalable
xfonts-utils
xfwm4
xinit
xkb-data
xorg
xorg-docs-core
xserver-common
xserver-xorg
xserver-xorg-core
xserver-xorg-input-all
xserver-xorg-input-libinput
xserver-xorg-video-all
xserver-xorg-video-amdgpu
xserver-xorg-video-ati
xserver-xorg-video-fbdev
xserver-xorg-video-nouveau
xserver-xorg-video-radeon
xserver-xorg-video-vesa
xserver-xorg-video-vmware
xxd
xz-utils
zip
zlib1g
zstd



Ответ на: комментарий от torm7

wpasupplicant действительно есть в репо:

wpasupplicant/stable 2:2.9.0-21 amd64
  поддержка WPA и WPA2 (IEEE 802.11i) на стороне клиентского ПО

apt install wpasupplicant

Описание подробное, тем более на wiki archlinux, там как правило всё по уму, так что - в этом направлении, думаю, можно считать задачу решенной.

По поводу карты уточню. Это у друга железо, не у меня.

В целом - спасибо!

Ну если можно - вопрос: руками прописать не быстрее? Или сложнее намного? Почему стали делать через wpasupplicant? Я просто сам процесс ручной записи настроек себе плохо представляю.

UNX
() автор топика
Ответ на: комментарий от UNX

Debian 11 без «графики»? «самосборный?» – я сомневаюсь, потому что люди умеющие собрать систему из базовых и необходимых им пакетов такие вопросы через друзей не задают. Если это «официальный вариант с DE» там должен быть NetworkManager – настраивайте через него. Быстро, просто в типовых случаях. В нетипичных случаях люди обычно знают, что им требуется.

«Железо» надо точно знать: установка firmware забота пользователя. Без неё обычно «не работает».

master_0K
()
Ответ на: комментарий от master_0K

Почему без графики? Xfce4 установлено. Сначала поставил самый минимум через netinst. Потом накатил DE - самое легковесное из привычного. Также в минимальной конфигурации. Потом остальное по мелочи. NetworkManager ставить не хочу, ибо не понимаю, зачем он нужен. Нет, ну реально, ставить еще одну утилиту с GUI, которая один раз пропишет несколько строк в файлах сетевой конфигурации?

UNX
() автор топика

что прописать в /etc/network/interfaces

ничего, лучше в interfaces.d создай файл вида eth0.cfg для витой пары и wlan0.cfg для вайфай, а в самом /etc/network/interfaces можно все закоментить.

amd_amd ★★★★★
()
Последнее исправление: amd_amd (всего исправлений: 1)
Ответ на: комментарий от amd_amd

Попутно, пока возился на кухне, придумал алгоритм, как получить заветные строчки - запустить на том железе https://www.debian.org/CD/live/index.ru.html установочный live-образ и подсмотреть у него, какие модули, драйвера и настройки он будет использовать, после чего списать.

А потом прописать это в eth0.cfg и wlan0.cfg и будет Zen.

Как же мне нравится эта идея! Спасибо!

UNX
() автор топика
Ответ на: комментарий от UNX

Не так все просто, как ты себе представляешь.

То что ты называешь руками, это скорее всего /etc/network/interfaces. Оно нужно что бы настроить уже работающий интерфейс.

Для того что бы интерфейс заработал, перед тем как его настраивать, нужно установить драйвера и firmware. Для этого нужно знать производителя wifi.

Дальше интереснее. Сейчас в основном используется защита wpa2. Так вот реализацию этой защиты организует wpasupplicant или iwd. Именно там прописываются пароли от точек доступа.

Более высокоуровневые вещь это networkmanager, он берет на себя часть работ по настройке вышеописанного, что бы это выглядело так, как в win или mac.

torm7
()
Ответ на: комментарий от UNX

Я и не говорю, что он нужен. В «дефолтной» поставке есть. Если действительно один раз прописать, то и без него хорошо будет. Кроме упрощения конфигурирования («плюсы») NetworkManager «любит тянуть одеяло на себя» («минусы»).

master_0K
()
Ответ на: комментарий от UNX

Вообще, я тут недавно ансиблем обычный dhcp на линке пересобирал в LACP и обратно, так оно даже без ребута хоста всё делает. Секунды три нет связи и готово. Внезапно, netplan рулит.

targitaj ★★★★★
()
Ответ на: комментарий от targitaj

Покажи

сгенерировать psk-ключ из ssid - имя wi-fi и key - пароль wi-fi

# wpa_passphrase ssid key

добавить в

# nano /etc/network/interfaces

две строки

wpa-ssid "ssid"
wpa-psk "psk-ключ"

где ssid имя сети, а psk-ключ сгенерированый ранее psk-ключ

amd_amd ★★★★★
()
Ответ на: комментарий от biglpfan

Ну так это называется не ‘умеет wifi’ а знает того парня, который ‘умеет’.

У топик стартера ведь ноутбук, а это подразумевает некую мобильность. Это особенно актуально для wifi. Зачем приколачивать сеть через interfaces, когда можно настроить автоподключение к известным сетям через wpasupplicant а interfaces использовать для получения настроек dhcp.

Мне кажется это более правильный вариант, если нет желания ставить nm с плагинами.

torm7
()
Ответ на: комментарий от torm7

Ну а что еще вам кажется? NetworkManager ставить вообще не нужно, зачем вы даете дурные советы не разобравшись? interfaces не зависит от nm! Зачем вручную настраивать wpa_supplicant, ведь для него еще придется самостоятельно автозапуск городить. Достаточно вписать две строчки! в interfaces, чтобы завести беспроводную сеть.

biglpfan
()
Ответ на: комментарий от biglpfan

Ну да, настраивать wifi через interfaces это же самый правильный вариант🤦 А вас послушать, так вообще единственно верный.

Я не предлагаю NM ставить. Я предлагаю использовать для настройки wifi те утилиты, которые изначально для этого предназначались. Потому что если его настраивать через interfaces то следующий вопрос будет: -А как мне подключиться к другой сети?

Я пытаюсь предложить решение, после которого не возникнут такие вопросы. Тем более это не сложнее ковыряния interfaces

torm7
()
Последнее исправление: torm7 (всего исправлений: 2)