In dit artikel wordt beschreven hoe de netwerkinstellingen van OpenWrt (versie Kamikaze) op de Asus WL-HDD (wireless harddiskdrive) geconfigureerd moeten worden. Doel is om de Asus WL-HDD draadloos (Wi-Fi) te laten connecten met het WIFI-access point. In mijn geval is het WiFo-access point een Samsung Router SMT-G3210 geconfigureerd als ADSL-router.
We hebben reeds in de artikelen Compileren van OpenWrt en Installeren van OpenWrt op een Asus WL-HDD gezien hoe OpenWrt respectievelijk gecompileerd en geïnstalleerd kan worden.
Setup
De Asus WL-HDD zullen we in routed client mode configureren. Dit betekent dat de Local Area Network- (LAN) en Wireless LAN- (WLAN) interfaces niet gebridged zijn, maar het verkeer tussen LAN en WLAN wordt gerouteerd. In een bridged-netwerk zitten alle devices in hetzelfde subnet. In een gerouteerd netwerk worden verschillende subnetten gebruikt.
Een overzicht van de verschillende devices met beschrijving, functie en netwerkinstellingen:
Samsung Router SMT-G3210
- Beschrijving: (A)DSL-router
- Functie: WIFI-access point
- WiFi SSID (Name of WLAN network): WLAN2
- WiFi Security: WPA-PSK Encryption
- WiFi Channel: Channel 6
- WLAN IP-adres: 192.168.178.1
- WLAN Subnet: 192.168.178.0/24
- Verbindingen:
- Zal na deze configuratie middels WiFi verbonden zijn met de Asus WL-HDD.
- Is als (a)DSL-modem verbonden met het Internet (niet noodzakelijk om te weten voor deze configuratie)
Asus WL-HDD
- Beschrijving: Device dat we aan het configureren zijn.
- Functie: WLAN-client en LAN-server (routed client)
- WLAN IP-adres: 192.168.178.35
- WLAN Subnet: 192.168.178.0/24
- LAN IP-adres: 192.168.1.1
- LAN Subnet: 192.168.1.0/24
- Verbindingen:
- Via LAN-poort verbonden met beheercomputer
- Zal na deze configuratie via WiFi verbonden zijn met de Samsung Router.
Beheercomputer
- Beschrijving: Deze computer wordt gebruikt voor de configuratie werkzaamheden. Computer heeft een toetsenbord (keybord) en monitor.
- LAN IP-adres: 192.168.1.2
- LAN Subnet: 192.168.1.0/24
- Verbinding: Verbonden middels een ethernetkabel met de LAN-poort van de Asus WL-HDD.
Inloggen het device waar OpenWrt op draait
- Verbind de beheercomputer middels een ethernetkabel met de Asus WL-HDD
- Zorg dat de Asus WL-HDD aan staat.
- Stel IP-adres van beheercomputer (LAN interface) in op: 192.168.1.2
- Login vanaf de beheercomputer op de Asus WL-HDD middels het commando:
ssh root@192.168.1.1
Configuratiebestanden
In tegenstelling tot eerdere versies van OpenWrt zoals WhiteRussian, worden de (netwerk)instellingen nu niet in het NVRAM-geheugen gedaan maar met configuratiefiles in de etc-directory zoals we gewend zijn bij andere Linux-distributies.
Belangrijke bestanden voor de netwerkconfiguratie zijn:
- /etc/config/wireless Bevat de configuratie voor de WiFi-radio zoals de benodigde driver, soort beveiliging/encryptie en naam en kanaal van het WLAN netwerk.
- /etc/config/network Hierin staat de configuratie voor de (LAN- en WLAN-)netwerkinterfaces. Denk hierbij aan de IP-adressen, subnetmasks, gateway en Domain Name-servers (DNS).
- /etc/config/dhcp De configuratie van de Dynamic Host Configuration Protocol-server (DHCP).
- /etc/config/firewall De instellingen voor de virtuele beschermende muur tussen het device en het netwerk.
Geprobeerd is om met zo weinig mogelijk aanpassingen een werkende netwerkconfiguratie te verkrijgen.
Wireless
Het bestand /etc/config/wireless is redelijk klein en zal hieronder in zijn geheel worden weergegeven.
config wifi-device wl0 option type broadcom # option channel 6 config wifi-iface option 'device' 'wl0' option 'network' 'wan' option 'mode' 'sta' option 'ssid' 'WLAN2' option 'encryption' 'psk2+tkip+ccmp' option 'key' 'XXXXXX'
In een lopende zin staat hier: Gebruik voor het WiFi-device de ‘broadcom’-driver. Koppel het WiFi-device (wl0) aan de networkinterface (wan). Zet het WiFi-device in STAtion-mode (routed client mode) en verbind met het draadloze netwerk genaamd WLAN2. De beveiliging is WPA2 Personal (PSK)-mode met TKIP/CCMP-ciphers voor encryptie.
Merk op dat als networkinterface WAN wordt gebruikt. De Asus WL-HDD heeft geen WAN-poort maar de standaard configuratie van OpenWrt bevat wel WAN-configuratie. Deze configuratie wordt nu ‘misbruikt’ zodat er maar minimale wijzigingen nodig zijn in de configuratiebestanden om WiFi-werkend te krijgen.
Network
Het volgende belangrijke bestand is: /etc/config/network hier bespreek ik alleen de specifieke zaken voor deze configuratie.
config interface lan option type bridge option ifname "eth1" option proto static option ipaddr 192.168.1.1 option netmask 255.255.255.0 config interface wan option proto static option ipaddr 192.168.178.35 option netmask 255.255.255.0 option gateway 192.168.178.1 option dns 192.168.178.1
We zien dat de netwerkinterfaces LAN en WAN worden geconfigureerd. Beide interfaces worden in ‘static’-mode gezet. Dit wil zeggen dat de netwerkconfiguratie (IP-adres, subnetmask, gateway en DNS-server) niet middels DHCP wordt opgehaald maar in dit bestand wordt neergezet. Merk de volgende twee zaken op: Bij LAN staat het type ‘bridge’, dit staat zo in dit bestand na een build van OpenWrt en kan geen kwaad. Dit laten we ze staan omdat we zo min mogelijk aanpassingen in de configuratiefiles willen doen. Dan zien we bij LAN een ‘ifname’ (interface-naam) staan en bij WAN niet. Deze koppeling is namelijk al gemaakt in het bestand: /etc/config/wireless
DHCP
Nu is het tijd om het bestand /etc/config/dhcp onder handen te nemen. Zowel voor de LAN- en WLAN-interfaces gebruiken we statische instellingen. Dus het configureren van de DHCP-server zal bestaan uit het uitschakelen van de server voor LAN en W(L)AN. Dit doen we met de regel: ‘option ignore 1’.
Een fragment van de configuratie is dan:
config dhcp lan option interface lan option ignore 1 config dhcp wan option interface wan option ignore 1
Firewall
Tenslotte wordt de firewall geconfigureerd middels het bestand: /etc/config/firewall De wijzigingen hierin zijn minimaal omdat we zoveel mogelijk gebruik maken van de standaard settings. De WiFi-verbinding is immers gekoppeld aan de WAN-netwerkinterface en deze settings staan al in de firewall-configuratie. Willen we echter via WiFi en SSH in kunnen loggen op de Asus WL-HDD dan moet de volgende optie worden toegevoegd aan de WAN-zone: ‘option input ACCEPT’. Op die manier is het mogelijk om ‘van buiten af’ via WiFi verbindingen op te zetten.
Complete configuratie
Voor de compleetheid en als persoonlijke backup heb ik aan het einde van dit artikel de bestanden staan van mijn werkende netwerkconfiguratie. Daarnaast heb ik ook de uitvoer opgenomen van de meest belangrijke systeeminformatie commando’s die betrekking hebben op de netwerkconfiguratie.
Configuratie testen
Zorg dat het WiFi-access point zo is ingesteld dat nieuwe devices mogen verbinden. Later kan met ‘MAC Access Control’ de beveiliging weer strikter gemaakt worden.
Na een herstart van de Asus WL-HDD zou het mogelijk moeten zijn om in te loggen op:
- ssh root@192.168.1.1 (ethernetkabel)
- ssh root@192.168.178.35 (WiFi)
Merk op dat twee verschillende subnets worden gebruikt namelijk: 192.168.1.0/24 en 192.168.178.0/24.
Lees in het artikel Compileren software voor OpenWrt hoe je zelfgeschreven software kunt installeren.
Zie ook
- OpenWrt Documentatie
- Combined squashfs + jffs2 root filesystem
- Samsung SMT-G3210 @ wiki.gpl-devices.org
Inhoud configuratie bestanden
Uitvoer systeeminformatie
root@OpenWrt:~# lsmod Module Size Used by Tainted: P wlcompat 9504 0 (unused) ip_conntrack_tftp 1628 0 (unused) ip_nat_irc 2296 0 (unused) ip_conntrack_irc 3028 1 ip_nat_ftp 2920 0 (unused) ip_conntrack_ftp 4172 1 ipt_MASQUERADE 1316 2 iptable_nat 20856 3 [ip_nat_irc ip_nat_ftp ipt_MASQUERADE] ipt_state 408 6 ip_conntrack 22304 3 [ip_conntrack_tftp ip_nat_irc ip_conntrack_irc ip_nat_ftp ip_conntrack_ftp ipt_MASQUERADE iptable_nat ipt_state] ipt_REJECT 3932 2 ipt_TCPMSS 2316 2 ipt_LOG 3804 0 (unused) ipt_multiport 748 0 (unused) ipt_mac 556 0 (unused) ipt_limit 892 1 iptable_mangle 2156 0 (unused) iptable_filter 1676 1 ip_tables 16960 13 [ipt_MASQUERADE iptable_nat ipt_state ipt_REJECT ipt_TCPMSS ipt_LOG ipt_multiport ipt_mac ipt_limit iptable_mangle iptable_filter] ppp_async 8044 0 (unused) ppp_generic 22380 0 [ppp_async] slhc 6064 0 [ppp_generic] wl 666560 0 (unused) switch-core 5104 0 diag 50448 0 (unused)
root@OpenWrt:~# ps auxfww PID USER VSZ STAT COMMAND 1 root 1920 S init 2 root 0 SW [keventd] 3 root 0 SWN [ksoftirqd_CPU0] 4 root 0 SW [kswapd] 5 root 0 SW [bdflush] 6 root 0 SW [kupdated] 9 root 0 SW [mtdblockd] 58 root 0 SWN [jffs2_gcd_mtd4] 68 root 1920 S /bin/sh /etc/init.d/rcS S boot 70 root 1916 S logger -s -p 6 -t sysinit 87 root 1936 S syslogd -C16 89 root 1916 S klogd 347 root 1524 S /usr/sbin/nas -P /var/run/nas.wl0.pid -H 34954 -i wl0 541 root 1872 S /usr/sbin/dropbear -p 22 545 root 1920 S /usr/sbin/httpd -p 80 -h /www -r OpenWrt 559 nobody 1212 S /usr/sbin/dnsmasq -K -D -y -Z -b -E -s lan -S /lan/ - 567 root 1932 S /usr/sbin/dropbear -p 22 568 root 1932 S -ash 575 root 1928 S logread -f 576 root 1932 S /usr/sbin/dropbear -p 22 577 root 1936 S -ash 600 root 1932 R /usr/sbin/dropbear -p 22 601 root 1928 S -ash 609 root 1920 R ps auxfww
root@OpenWrt:~# iwconfig wl0 wl0 IEEE 802.11-DS ESSID:"WLAN2" Mode:Managed Frequency:2.437 GHz Access Point: xx:xx:xx:xx:xx:xx Bit Rate=54 Mb/s Tx-Power:32 dBm Retry min limit:7 RTS thr:off Fragment thr:off Power Management:off Link Quality=2/5 Signal level=-71 dBm Noise level=-95 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
root@OpenWrt:~# ifconfig br-lan Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) eth1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:4 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:116 errors:0 dropped:0 overruns:0 frame:0 TX packets:116 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:8118 (7.9 KiB) TX bytes:8118 (7.9 KiB) wl0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:192.168.178.35 Bcast:192.168.178.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5312 errors:0 dropped:0 overruns:0 frame:1703237 TX packets:4953 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1606596 (1.5 MiB) TX bytes:2084065 (1.9 MiB) Interrupt:6