Jak stworzyć sieć WiFi z Eduroam- Tutorial OpenWRT

Jak stworzyć sieć WiFi z Eduroam- Tutorial OpenWRT

Będąc w akademiku jesteśmy zazwyczaj skazani na jednego dostawcę internetu szerokopasmowego i w tym przypadku jest to Eduroam jako sieć WiFi lub tylko gniazdka Ethernet.

Podłączenie do sieci zwykłego urządzenia jest problematyczne dla większości użytkowników, więc stworzenie routera WiFi tak aby rozsyłał sygnał bez zbędnych certyfikatów i haseł jest jeszcze trudniejsze 🙂

Na szczęście po kilku godzinnych zmaganiach mogę podzielić się empirycznym poradnikiem jak zrobić to w znacznie krótszym czasie.

*poniższy tutorial jest dla osób, które chcą stworzyć WiFi podłączając router do gniazdka Ethernet Eduroam. Konfiguracja Access Pointa Eduroam WiFi --> WiFi wygląda trochę inaczej.

Wymagania:

  • Router z OpenWRT lub inny unixowy sytem jak np. dd-wrt.
  • klient SSH
  • certyfikat .pem jeżeli jest wymagany przez sieć
  • umiejętność zapisu i wyjścia z vim
    When you finally exit vim - meme

Kroki:

SSH

Pierwszym krokiem jest podłączenie się przez ssh do routera. Jeżeli tego wcześniej nie robiliśmy to musimy skonfigurować hasło root poprzez panel administracyjny (zazwyczaj znajduje się pod 192.168.1.1).

Jeżeli mamy już skonfigurowane hasło możemy podłączyć się do routera komendą:

ssh [email protected]
Usuwanie wpad-mini

Po podłączeniu do ssh będziemy musieli usunąć mini wersję wpad (wpad = wpa_supplicant + hostapd). Jest ona niewystarczająca do autoryzacji z protokołem 802.1X czyli takim jaki używa Eduroam.

Instalowanie wpad

Można to uznać za najtrudniejszą część, ponieważ musisz znaleźć odpowiednią wersję paczki wpad dla twojego routera. Zainstalowanie nieodpowiedniej wersji może zakończyć się problemem z uruchomieniem interfejsu WiFi = brak dostępu do ssh i interfejsu (chyba, że macie kabel ethernet). Jeżeli jednak tak się zdarzy to możesz zawsze przywrócić router do ustawień fabrycznych.

Zbiór wszystkich paczek można znaleźć tutaj:
https://archive.openwrt.org/

Przykład: dla routera TP-Link z OpenWRT w wersji 15 i opartego o SoC AR9130 będzie to:
https://archive.openwrt.org/chaos_calmer/15.05.1/ar71xx/generic/packages/base/wpad_2015-03-25-1_ar71xx.ipk

Po pobraniu paczki ipk na komputer przechodzimy do wysłania jej przez protokół scp do routera (można użyć WinSCP na Windowsie) lub użyć terminala:

scp wpad_2015-03-25-1_ar71xx.ipx [email protected]:/tmp/

Następnie zainstalować paczkę:

opkg install wpad_2015-03-25-1_ar71xx.ipk

Jeżeli macie dostęp do internetu na routerze (zakładam, że jednak nie :D) to cały ten krok możecie streścić do wykonania:

opkg update
opkg install wpad
Konfiguracja OpenWRT

Kolejnym krokiem jest dodanie interfejsu WAN w panelu administratora jeżeli go nie macie:

Zakładka Network -> Interfaces
i klikamy na „Add new interface”

Name of the new interface: WAN
Protocol of the new interface: DHCP

W podglądzie edycji wygląda to następująco:

Dodawanie nowego interfejsu WAN
Dodawanie nowego interfejsu WAN
(dla mojego routera, pierwszy port Ethernet-WAN jest pod eth1)

Przechodzimy teraz do konfiguracji interfejsu LAN:

Konfiguracja interfejsu LAN

Zapisujemy wszystkie zmiany i restartujemy router.

Należy pamiętać, że w takiej konfiguracji port Ethernet będzie zablokowany, więc jedynym połączeniem z komputerem będzie WiFi.

wpa_supplicant

Przechodzimy teraz do autoryzacji protokołem IEEE 802.1X. Użyjemy do tego modułu wpa_supplicant.
W terminalu otwieramy edytor vim:
vim /etc/config/wpa.conf

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=root
eapol_version=1
ap_scan=0
fast_reauth=1
network={
key_mgmt=IEEE8021X
eap=MSCHAPV2
identity="TWOJA NAZWA UZYTKOWNIKA"
password="HASLO"
eapol_flags=0
ca_cert="/etc/certs/certyfikat.pem"
phase1="peaplabel=1"
phase2="auth=MSCHAPV2"
}

Jeżeli nasza sieć nie potrzebuje dodatkowego certyfikatu to linijkę z ca_cert można usunąć. W innym przypadku musimy dodać nasz certyfikat przez scp do folderu /etc/certs/.

Połączenie z internetem – Autoryzacja

Zbliżamy się do końca! Odłączamy kabel Ethernet od routera i wykonujemy poniższe komendy:

killall wpa_supplicant 
wpa_supplicant -D wired -i eth1 -c /etc/config/wpa.conf &

Gdy otrzymamy komunikat EAP authentication started możemy podłączyć kabel Ethernet. Jeżeli zrobiliśmy wszystko poprawnie powinniśmy uzyskać taki rezultat:

Autoryzacja przebiegła prawidłowo i uzyskaliśmy dostęp do internetu.

W przypadku, gdy otrzymacie Authentication failed może się okazać, że:

  • podaliście nieprawidłowe dane użytkownika
  • wasz router używa jednak eth0 zamiast eth1
  • po stworzeniu bridge’a wasz interfejs nazywa się tak naprawdę br-wan 😀

Po około minucie powinniście uzyskać dostęp do internetu! 🙂

Yay!
Autostart

Niektórzy pomimo przypływu endorfin zadadzą pytanie:

„A czy czasem nie będę musiał powtórzyć tej całej procedury po restarcie routera?”

student kończący drugie piwo

Zgadza się! Jest to małe uniedogodnienie, ale możemy stworzyć na szybko skrypt, który będzie się uruchamiał po każdym restarcie.

vi /etc/init.d/wpa

Dodajemy skrypt:

#!/bin/sh /etc/rc.common
#
# Based on Example script
# Copyright (C) 2007 OpenWrt.org
#
 
START=99
STOP=15
 
EXTRA_COMMANDS="status"
EXTRA_HELP="Output should contain one line with: [...] wpa_supplicant [...]"
 
start() {
   echo "start"
   sleep 10
   echo "Starting authentication using wpa_supplicant"
   wpa_supplicant -i br-wan -D wired -c /etc/config/wpa.conf &
   sleep 15
}
 
stop() {
   # commands to kill application
   echo "stopping wpa_supplicant"
   killall wpa_supplicant && echo "wpa_supplicant was terminated"
   sleep 2
}
 
status()  {
   echo Status of wpa_supplicant            
   ps |grep wpa_supplicant
}

Zapisujemy wszystko i wykonujemy ostatnie komendy:

chmod +x /etc/init.d/wpa
chmod 755 /etc/init.d/wpa
/etc/init.d/wpa enable 

Po restarcie routera, skrypt powinien uruchomić się automatycznie i połączyć się z internetem.

Poradnik przetestowany na routerach TP-Link: TL-WR842ND i TL-WR-703N.

  1. You are so awesome! I do not think I have read something like this before.

    So good to find someone with a few genuine thoughts on this topic.
    Really.. thanks for starting this up. This website is something
    that is required on the web, someone with a little originality!

  2. Pouczająca lektura! Doceniam szczegółowość i dokładność. Szkoda tylko, że niektóre fragmenty są zbyt techniczne dla laików. Mimo to, świetne źródło wiedzy!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *