
Здравствуйте, я пишу простой скрипт bash, который автоматически настраивает сеть. Только последний шаг не сработал автоматически, установить соединение wifi. Этот скрипт работает просто. Сначала он записывает в /etc/network/interfaces конфигурацию для порта lan, затем он записывает конфигурацию для wlan. Последний шаг — установить соединение через wlan. У wlan-AP есть скрытый wlan, и я не могу это изменить. Я благодарен за любую помощь
#!/bin/bash
# set static LAN IP in /etc/network/interfaces
echo -e 'auto eth0\nallow-hotplug eth0\niface eth0 inet static\n address 10.0.0.1\n netmask 255.255.255.0\n' >> /etc/network/interfaces
#set wlan config in /etc/network/interfaces
echo -e 'auto wlan0\nallow-hotplug wlan0\niface wlan0 inet manual\n wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf\n' >> /etc/network/interfaces
#write wlan config in etc/wpa_supplicant/wpa_supplicant.conf
echo -e 'ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev\nupdate_config=1\ncountry=DE\n\nnetwork={\n ssid="INTERN"\n scan_ssid=1\n psk="password"\n key_mgmt=WPA-PSK\n}\n' >> /etc/wpa_supplicant/wpa_supplicant.conf
# restart network manager
service network-manager restart
sleep 15
#network manager WIFI connect
nmcli device wifi connect "INTERN" password "password" hidden on
`
решение1
Сетевой менеджер не использует файл интерфейсов. Он использует собственные файлы конфигурации.
Если вы используете файл интерфейсов, вам следует использовать команды пакета ifupdown
( ifquery
для получения конфигурации интерфейса, ifup
для вызова интерфейса, ifdown
для выключения интерфейса). Современные реализации ifupdown поддерживают эту include
опцию, поэтому вы можете хранить конфигурации интерфейсов в отдельных файлах в каталоге /etc/network/interfaces.d/
.
Если вы хотите использовать сетевой менеджер для настройки сети, используйте команду nmcli
. Хорошие примеры того, как это сделать (и другие вещи тоже) вы можете найтиздесьиздесь.