Koitetaas, miten tämän kirjoittaminen puoliksi ulkomuistista sujuu, tuli asennettua ja poistettua aika monta pakettia tuon savotan aikana. Ensiksi: mikäli langaton korttisi tukee master modea, jätä tämä ohje välistä ja tee "helposti", netti on ohjeita pullollaan. Master moden tuen voit tarkistaa tuon ohjeen mukaisesti:
https://help.ubuntu.com/community/WifiDocs/MasterMode#Test_an_adapter_for_.22master_mode.22Omassa tukiasemassani on Atheros-pohjainen langaton sovitin, tämän taas saat tietoosi käskyttämällä:
lshw -C network
Asiaan, eli asennetaan tarvittavat paketit, eli dnsmasq (yhdistetty DHCP- ja DNS-palvelinohjelmisto) ja hostapd (tukiaseman ja sitä varten autentikoinnin mahdollistava daemon).
sudo apt-get install dnsmasq hostapd
Tämän jälkeen säädetään kuntoon /etc/dnsmasq.conf:
# sovittimen laitenimi, johon siis dnsmasq bindaa itsensä:
interface=wlan0
# yhteyttä käyttävät laitteet saavat tältä väliltä osoitteita, 12 tunnin lease-aika:
dhcp-range=192.168.101.10,192.168.101.199,12h
Sitten konffataan hostapd, eli /etc/hostapd/hostapd.conf:
interface=wlan0
driver=nl80211
ssid=verkonnimi
channel=6
hw_mode=g
auth_algs=1
wpa=3
wpa_passphrase=riittavanhyvasalasana
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP
Oletuksena hostapd ei osaa käyttää tätä konffi-tiedostoa, eli ei osaa käynnistyä itsestään koneen mukana vaan sille pitää se kertoa muokkaamalla tiedoston /etc/default/hostapd rivi DAEMON_CONF="" muotoon:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Seuraavaksi muokataan tiedostoa /etc/network/interfaces, jotta saadaan verkko-sovittimet toimimaan oikein:
# local loopback, pakollinen, älä koske!
auto lo
iface lo inet loopback
# saan langallisen yhteyden dhcp:llä:
auto eth0
iface eth0 inet dhcp
# laitetaan 192.168.101.1 IPksi:
auto wlan0
iface wlan0 inet static
address 192.168.101.1
netmask 255.255.255.0
broadcast 192.168.101.255
Jotta asia ei olisi liian yksinkertaista, pitää vielä kernelille kertoa, että IP forwarding sallitaan, tarkistetaan tällä (0 = ei sallittu, 1 = sallittu):
cat /proc/sys/net/ipv4/ip_forward
Ja se saadaan päälle heti käskemällä pääkäyttäjänä:
echo 1 > /proc/sys/net/ipv4/ip_forward
Ja jotta se saadaan myös pysymään päällä, täytyy laittaa tiedostoon /etc/sysctl.conf rivi (tai oikeammin, ottaa se pois kommenteista):
net.ipv4.ip_forward=1
Viimeiseksi ennen kuin päästään testaamaan, tulee laittaa routing kondikseen (jotta bitti liikkuu wlan0:sta eth0:n läpi nettiin ja takaisin):
Luodaan tiedosto /etc/iptables.up.rules:
*nat
:PREROUTING ACCEPT [346:25976]
:INPUT ACCEPT [298:23096]
:OUTPUT ACCEPT [178:19598]
:POSTROUTING ACCEPT [15:1741]
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o wlan0 -j MASQUERADE
COMMIT
(ei mitään muistikuvaa, miten tämä sääntö luotiin käyttämällä iptablesia, mutta tämän sain ulos iptables-save -työkalulla)EDIT: tämä taisi olla tuo komento (en pistäisi päätäni pantiksi kuitenkaan, kun tuo iptables on itselle hepreaa):
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
Sitten luodaan skripti /etc/network/if-pre-up.d/iptables
#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules
ja tehdään siitä suoritettava komennolla:
sudo chmod +x /etc/network/if-pre-up.d/iptables
Loppusilauksena voidaan poistaa network-manager käskemällä:
sudo apt-get remove network-manager
Tässä kohtaa kannattaa tarkistaa että nykyiset säädöt toimivat, eli että voit komentaa seuraavat komennot ilman virheitä:
# sovittimien konffien lataus, antaa varoituksen, ettei välttämättä ole "ajan tasalla":
sudo /etc/init.d/network restart
# dns/dhcp palvelimen (uudelleen)käynnistys:
sudo /etc/init.d/dnsmasq restart
# hostapd (uudelleen)käynnistys:
sudo /etc/init.d/hostapd restart
Jos kaikki menee ok, voit pistää koneen uudelleen käyntiin ja koittaa yhdistää.
Mikäli ongelmia tulee, voi esim hostapdia diagnosoida käynnistämällä se komentoriviltä (sammuta ensin daemon, jos se on käynnissä):
sudo hostapd -d /etc/hostapd/hostapd.conf
Tällöin näet, mitä tapahtuu kun yritetään käynnistää ja myöhemmin yhdistää "tukiasemaan".
Tämä ohje on siis kirjoitettu puoliksi ulkomuistista, jos löydät virheitä tai puutteita, anna palautetta, niin korjataan.
Oman verkkoni rakenne on tämän toimenpiteen jälkeen sellainen, että adsl-boksissa on langalla suoraan kiinni laitteita verkossa 192.168.100.X, tämän juuri luodun tukiaseman langallisen sovittimen ip on 192.168.100.50 (tämän se saa taas dhcp:llä adsl-boksilta).
EDIT2: lisätty puuttuva tiedostopolku
EDIT3: korjattu hostapd default-tiedoston polku