Article applies to WPA-PSK/WPA2-PSK secured wireless networks. Note that WPA is deprecated, you should use WPA2 if possible.
Installation
Yoy will need a client support for WPA and WPA2 (IEEE 802.11i) plus a wireless-tools package for manipulating Linux Wireless Extensions:
# which iwlist iwconfig | xargs dpkg -S wireless-tools: /sbin/iwlist wireless-tools: /sbin/iwconfig
Install packages:
# apt-get update && apt-get install wireless-tools wpasupplicant
Configuration
First thing to do is to make sure the wireless card is detected:
# lspci | egrep -i 'wireless|network' 04:02.0 Network controller: Ralink corp. RT2500 Wireless 802.11bg (rev 01)
Activate the wlan0 interface:
# ifconfig wlan0 up
Assuming we know our SSID:
# iwlist wlan0 scan | grep -i random ESSID:"RandomName"
We can generate a WPA PSK from an ASCII passphrase for our SSID RandomName:
# wpa_passphrase RandomName passphrase network={ ssid="RandomName" #psk="passphrase" psk=9c695492ff1876aeb1455f1bb3b71681bd1fb2e3b5c9334c5cac0a3b4fde5a18 }
If paranoid, create a file called e.g. temp.txt
with the passphrase and then generate a WPA PSK by reading a passphrase from standard input:
# wpa_passphrase RandomName < temp.txt # reading passphrase from stdin network={ ssid="RandomName" #psk="passphrase" psk=9c695492ff1876aeb1455f1bb3b71681bd1fb2e3b5c9334c5cac0a3b4fde5a18 }
Add the following lines to /etc/network/interfaces
file:
iface wlan0 inet dhcp wpa-ssid RandomName #list of accepted authenticated key management protocols wpa-key-mgmt WPA-PSK #list of accepted group ciphers for WPA wpa-group CCMP TKIP #list of accepted pairwise ciphers for WPA wpa-pairwise CCMP TKIP #hexadecimal psk is encoded from a plaintext passphrase wpa-psk 9c695492ff1876aeb1455f1bb3b71681bd1fb2e3b5c9334c5cac0a3b4fde5a18
Note that the “wpa-psk” value is only valid if:
- It is a plaintext (ASCII) string between 8 and 63 characters in length, or
- It is a hexadecimal string of 64 characters
Restrict the permissions of /etc/network/interfaces
, to prevent pre-shared key (PSK) disclosure:
# chmod 0600 /etc/network/interfaces
Bring the wlan0 network interfcace up:
# ifup wlan0
It should obtain settings via DHCP. Display wireless connection details:
# iwconfig wlan0 wlan0 IEEE 802.11bg ESSID:"RandomName" Mode:Managed Frequency:2.422 GHz Access Point: 00s:11:22:33:44:55 Bit Rate=54 Mb/s Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:on Link Quality=70/70 Signal level=-40 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:83 Invalid misc:358 Missed beacon:0
Ping the default gateway (router) to verify network connectivity:
$ ping -c3 `netstat -r | grep def | awk '{print $2}'`
I have a rb751g-2hnd and I can’t seem to get my psk key to work, I see “unicast key exchange timeout” error in the log file. Have you experience any of this? If yes, how have you resolved it?
Hi, sorry, I no longer have access to rb751, upgraded my router to 2011UiAS-2HnD some time ago.
Anything in Mikrotik logs? Which version of RouterOS?