Това е продължение на темата
отворена WiFi мрежа и Slackware 13. Пускам това в нова тема за по-добро SEO (за да излиза в търсачките когато някой търси с подходящи ключови думи).
Целта ми беше да намеря начин за настройка на мрежата без графични инструменти и по възможно най-простия начин. Скриптовете са подходящи (може би след лека преработка) за вграждане в живи дистрибуции (в същност те са модификация на скрипта от
живата дистрибуция Slax за настройка на мрежата).
GeSHi (Bash):
#! /bin/sh
# /etc/rc.d/rc.inet1
# This script is used to bring up the various network interfaces.
#
# Modified for SLAX by Tomas M. <http://slax.linux-live.org>
#
if [ "$1" = "start" -o "$1" = "" ]; then
ifconfig lo down 2>/dev/null
/sbin/ifconfig lo 127.0.0.1 2>/dev/null
/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo 2>/dev/null
# here is how to setup winfi device easily.
# First type 'iwconfig' command to see which devices are WIFI-enabled
#
# find out which device is WIFI-enabled
eth=$(iwconfig 2>&1 | grep IEEE | cut -d " " -f 1)
ifconfig $eth down
# mac address of your access point
# iwconfig $eth ap 11:23:b5:13:43:16
# channel value. You may skip this one, but some drives require this
# iwconfig $eth channel 11
# security key for WEP, if you are using it
# iwconfig $eth key a43b436a3c6236b4a3c5d2b5a3
# WPA/WPA2 ************************************
key=""
essid=""
driver="wext"
# drivers:
# wext = Linux wireless extensions (generic)
# nl80211 = Linux nl80211/cfg80211
# hostap = Host AP driver (Intersil Prism2/2.5/3)
# atmel = ATMEL AT76C5XXx (USB, PCMCIA)
# ndiswrapper = Linux ndiswrapper
# ipw = Intel ipw2100/2200 driver (old; use wext with Linux 2.6.13 or newer)
# wired = wpa_supplicant wired Ethernet driver
# ralink = Ralink Wireless Client driver
if [ "$essid" == "" ]; then
echo -n "Enter ESSID: "
read essid
fi
if [ "$key" == "" ]; then
echo -n "Enter WPA key: "
read key
fi
if [ "$driver" == "" ]; then
echo -n "Enter wpa_supplicant driver: "
read driver
fi
echo > /tmp/wpa_supplicant.conf
chmod 600 /tmp/wpa_supplicant.conf
chown root:root /tmp/wpa_supplicant.conf
wpa_passphrase "$essid" "$key" > /tmp/wpa_supplicant.conf
wpa_supplicant -D$driver -i$eth -c/tmp/wpa_supplicant.conf -B
# your network name
# iwconfig $eth essid $essid
# now enable the device so dhcpcd can see it in the next step
ifconfig $eth up
#
# end of wifi sample configuration
for eth in `ls /sys/class/net | grep -v sit`; do
# bring all interfaces up and start dhcpcd for all of them
# use -t 0 to keep it running indefinitely
if [ "$eth" != "lo" ]; then
echo "Auto Configure IP address for $eth: /sbin/dhcpcd -t 60 $eth &"
kill $(cat /etc/dhcpc/dhcpcd-$eth.pid 2>/dev/null) 2>/dev/null
rm -f /etc/dhcpc/dhcpcd-$eth.pid
/sbin/ifconfig $eth up 2>/dev/null
/sbin/dhcpcd -t 0 $eth >/dev/null 2>&1 &
fi
done
fi
if [ "$1" = "stop" ]; then
killall dhcpcd
killall wpa_supplicant
fi
Добре е да редактирате редовете:
GeSHi (Bash):
key=""
essid=""
за да не се налага да въвеждате тези данни при всяко стартиране на компютъра.
В някои случаи може да се наложи и редакция на този ред:
GeSHi (Bash):
driver="wext"
Списък с драйверите:
wext = Linux wireless extensions (generic)
nl80211 = Linux nl80211/cfg80211
hostap = Host AP driver (Intersil Prism2/2.5/3)
atmel = ATMEL AT76C5XXx (USB, PCMCIA)
ndiswrapper = Linux ndiswrapper
ipw = Intel ipw2100/2200 driver (old; use wext with Linux 2.6.13 or newer)
wired = wpa_supplicant wired Ethernet driver
ralink = Ralink Wireless Client driver
Внимание! Преди да редактирате файла /etc/rc.d/rc.inet1 направете резервно копие. Същите настройки вероятно може да се направят и както пише в документацията за Slackware (чрез редакция на rc.inet1.conf, /etc/wpa_supplicant.conf и може би други файлове). След редакция на файла /etc/rc.d/rc.inet1
мрежовите настройки, които сте направили преди това (записани в rc.inet1.conf) няма да важат и мрежата няма да работи! Този скрипт е подходящ повече за вграждане в
живи дистрибуции отколкото за инсталирани системи.