![]() |
Поделиться |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Поделиться |
![]()
Сообщение
#1
|
|
Крупный специалист ![]() ![]() ![]() ![]() ![]() Группа: Пользователь Сообщений: 461 Регистрация: 1.5.2013 Вставить ник Цитата Пользователь №: 2379 Страна: Беларусь Город: Не указан Пол: Муж. Репутация: ![]() ![]() ![]() |
Текущий вариант скриптов для конфигурирования WiFi на беспроводной статике.
Конфигуратор интерактивный: - По-русски задаёт простые вопросы и просит ввода. Пароль на точку доступа не знаю как скрыть при вводе. Не сохранять в историю можно покиливанием сессии: kill -9 $$ В конфигуратор скорее всего надо добавить подсказки запроса ввода, отображающие формат ввода в качестве примеров ввода. Кроме пароля к точке доступа. Для пользователя, который по уровню близок к нулю. Скрипты завязаны именно на лайв live-sysv, поскольку он уже на первом старте конфигурирует dhcp и сеть на первом старте _уже_ сконфигурирована как dhcp, а для статики это надо выкручивать назад. Сначала запускается конфигуратор: - Просьба конфигуратора ввода чего-то - ввод пользователем. Выполняется один раз. После конфигуратора и после каждого старта лайва запускается старт-скрипт для поднятия сети. В скриптах много мусора, он будет болтаться вплоть до релиза. Конфигуратор:: Код $ cat /run/media/user/alt-live-storage/usr/sbin/wlan-static-conf #!/bin/bash rfkill unblock all sleep 1 killall dhcpcd &>/dev/null chkconfig livecd-net-eth off &>/dev/null # /etc/rc.d/init.d/network stop &>/dev/null # chkconfig network off &>/dev/null # Блокировка dhcp # # Вручную в option для интерфейсов, # сменить в BOOTPROTO с dhcp на static # ## Перевод BOOTPROTO с dhcp на static grep . /sys/class/net/*/uevent | grep -v lo/ | grep INTERFACE | awk -F '=' '{print $2}' | \ while read NETIFACE do sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=static/' /etc/net/ifaces/$NETIFACE/options done /etc/rc.d/init.d/network restart &>/dev/null # Настройка, тест, не удалять!!! ## Очистка предыдущих настроек сети #ETCDIR=/etc/net/ifaces #[ -d "$ETCDIR" ] || return 1 #RMDIR=`find "$ETCDIR" -mindepth 1 -maxdepth 1 -xtype d -name "*"|sort -u|grep -E -vw 'ifaces/default|ifaces/lo|ifaces/unknown'` #rm -rf "$ETCDIR" # Для отладки, следующие два блока не раскомментировать!!! # Это необходимый мусор!!! # Создание каталогов сетевых интерфейсов #SYSDIR=/sys/class/net #[ -d "$SYSDIR" ] || return 1 #} #find "$SYSDIR" -mindepth 1 -maxdepth 1 -xtype d -printf '%f\n' | # while read IFACE; do # read TYPE < "$SYSDIR/$IFACE/type" # [ "$TYPE" = 1 ] && echo "$IFACE" # ethernet # done #} > #[ -n "$1" ] || return 1 #[ -d "$ETCDIR" ] || return 2 #IFACEDIR="$ETCDIR/$1" #[ ! -d "$IFACEDIR" ] || return 0 #echo -n "$1 " # NB: 3 seconds means STP ports will stay down => unconfigured #mkdir -p "$IFACEDIR" && { # echo TYPE=eth # echo BOOTPROTO=dhcp # echo DHCP_TIMEOUT=7 #} > "$IFACEDIR/options" echo -e "\nКонфигуратор WIFI в сети со статической адресацией\nОшибки не обрабатываются, будьте внимательны" # Конфигурирование DNS echo -e "\nВведите IP адрес первого DNS сервера:" read DNS1 echo -e "\nВведите IP адрес второго DNS сервера:" read DNS2 # # DNS-ы для беспроводного интерфейса. Отладочный блок!!! # #WLANIFACE=`grep INTERFACE $(grep -l wlan /sys/class/net/*/uevent)|awk -F '=' '{print $2}'` #D=`echo -e "nameserver $DNS1\nnameserver $DNS2"` # echo "$D" >/etc/net/ifaces/$WLANIFACE/resolv.conf # /sbin/resolvconf -a "$WLANIFACE" </etc/net/ifaces/$WLANIFACE/resolv.conf D=`echo -e "nameserver $DNS1\nnameserver $DNS2"` grep . /sys/class/net/*/uevent | grep -v lo/ | grep INTERFACE | awk -F '=' '{print $2}' | \ while read NETIFACE do # Настройка, тест, отладочная часть, не удалять!!! # mkdir -p /etc/net/ifaces/$NETIFACE # echo TYPE=eth >/etc/net/ifaces/$NETIFACE/options echo "$D" >/etc/net/ifaces/$NETIFACE/resolv.conf /sbin/resolvconf -a "$NETIFACE" </etc/net/ifaces/$NETIFACE/resolv.conf done # Имя беспроводного интерфейса WIFI WLANIFACE=`grep INTERFACE $(grep -l wlan /sys/class/net/*/uevent)|awk -F '=' '{print $2}'` echo WLANIFACE=$WLANIFACE >/etc/net/wlan-static ip link set $WLANIFACE up # Конфигурирование точки доступа echo -e "\nДоступные точки доступа:" iwlist $WLANIFACE scan | grep -i ssid echo -e "\nВведите имя точки доступа:" read NAMESSID echo -e "\nВведите пароль:" read PASWSSID wpa_passphrase $NAMESSID $PASWSSID > /etc/wpa_supplicant/wpa_supplicant.conf echo -e "\nВведите ваш IP адрес:" read IPADDR echo IPADDR=$IPADDR >>/etc/net/wlan-static echo -e "\nВведите сетевую маску:" read NETMASK echo NETMASK=$NETMASK >>/etc/net/wlan-static echo -e "\nВведите IP адрес шлюза:" read IPGATE echo IPGATE=$IPGATE >>/etc/net/wlan-static echo -e "\nДля поднятия беспроводной сети WIFI,\nс правами root запустите wlan-static-start\n" Стартер-скрипт: Код $ cat /run/media/user/alt-live-storage/usr/sbin/wlan-static-start #!/bin/bash rfkill unblock all sleep 2 killall wpa_supplicant &>/dev/null WLANIFACE=`grep INTERFACE $(grep -l wlan /sys/class/net/*/uevent)|awk -F '=' '{print $2}'` IPADDR=`grep IPADDR /etc/net/wlan-static | awk -F '=' '{print $2}'` NETMASK=`grep NETMASK /etc/net/wlan-static | awk -F '=' '{print $2}'` IPGATE=`grep IPGATE /etc/net/wlan-static | awk -F '=' '{print $2}'` ip link set $WLANIFACE up #grep . /sys/class/net/*/uevent | grep -v lo/ | grep INTERFACE | awk -F '=' '{print $2}' | \ #while read NETIFACE # do ## Настройка, тест, отладочная часть, не удалять!!! # /sbin/resolvconf -a "$NETIFACE" </etc/net/ifaces/$NETIFACE/resolv.conf #done wpa_supplicant -B -D wext -i $WLANIFACE -c /etc/wpa_supplicant/wpa_supplicant.conf ip addr add $IPADDR/$NETMASK dev $WLANIFACE ip route add default via $IPGATE echo -e "\nПосле загрузки или перезагрузки компьютера,\nдля поднятия беспроводной сети WIFI,\nвыполните эту команду.\n" |
|
|
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 6.7.2025, 22:04 |