Wie man einen WLAN Access Point auf Fedora installiert

Manchmal braucht man einen konfigurierbaren Access Point auf einem Fedora-Desktop. In diesem Blogartikel beschreiben wir, wie man dies in ein paar einfachen Schritten durchführen kann. ACHTUNG: Jetzt kommt eine Menge Code!

Erste Schritte

Zuerst muss man die erforderliche Software installieren:

yum install hostapd dnsmasq

Danach wird der WLAN-Adapter konfiguriert. Zunächst muss man prüfen, ob der Adapter online ist:

[root@seger~]# iwconfig
wlan0 IEEE 802.11bgn ESSID: off/any
Mode: Managed Access Point: Not-Associated Tx-Power=0 dBm
Retry short limit: 7 RTS thr:off Fragment thr:off
Encryption key: off
Power Management: off

lo no wireless extensions.
eth0 no wireless extensions.

Jetzt muss man prüfen, ob der Network Manager (NM) die Kontrolle über das Device hat:

[root@seger~] # nmcli -p r
======================================
Radio switches
======================================
WIFI-HW WIFI WWAN-HW WWAN
--------------------------------------
enabled enabled enabled disabled

Wenn es aktiviert ist, muss man es mit der nmcli deaktivieren:

[root@seger~] # nmcli r wifi off

Der NM setzt den Killswitch auf “on”, also müssen wir ihn wieder auf off setzen, um das WLAN außerhalb des NM wieder zu aktivieren.

[root@seger~] # rfkill unblock wlan

Nach diesem Schritt haben wir eine aktive WLAN-Karte ohne Störung durch den NM.

hostapd konfigurieren

Die Konfigurationsdatei befindet sich in /etc/hostapd/hostapd.conf. Hier sind nützliche Einstellungen, um WPA2 mit TKIP-CCMP zu aktivieren:

# Einige verwendbare Standardeinstellungen ...
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
# Kommentieren Sie diese für Basis WPA & WPA2-Unterstützung mit einem Pre-Shared Key
wpa=3
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
# NICHT VERGESSEN EIN WPA-PASSPHRASE EINZURICHTEN!!
wpa_passphrase=
# Die meisten modernen WLAN-Treiber im Kernel benötigen driver=nl80211
driver=nl80211
# Passen Sie diese Einstellungen für Ihre lokale Konfiguration an...
interface=wlan0
hw_mode=g
channel=
ssid=
ieee80211n=1

Danach kann das Ganze gestartet werden:

[root@seger ~] # systemctl start hostapd.service
[root@seger~] # systemctl status hostapd.service
hostapd.service - Hostapd IEEE 802.11 AP, IEEE 802.1X / WPA / WPA2 / EAP / RADIUS Authenticator
Loaded: geladene (/usr/lib/systemd/system/hostapd.service; disabled)
Aktiv: aktiv (läuft), da Fr 2014.08.01 13.24.08 CEST; Vor 4s
Prozess: 12208 ExecStart=/usr/sbin/hostapd/etc/hostapd/hostapd.conf -P /run/hostapd.pid -B (code=exited, status=0/SUCCESS)
Haupt PID: 12209 (hostapd)
CGroup: /system.slice/hostapd.service
└─12209 /usr/sbin/hostapd/etc/hostapd/hostapd.conf -P /run/hostapd.pid -B
1. August 13.24.08 seger systemd[1]: Gestartet Hostapd IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator.

DNSMASQ konfigurieren

Dnsmasq ist eine Kombination aus DHCP/DNS Server mit einem geringen Speicherbedarf. Die Konfiguration ist in /etc/dnsmasq/dnsmasq.conf.

Die wichtigsten Konfigurationsoptionen:

server=10.159.14.14 # Upstream DNS

interface=wlan0
dhcp-range=192.168.23.50,192.168.23.150,12h
no-resolv
no-Umfrage

Firewall konfigurieren

Fedora 20 kommt mit firewalld, die dynamisch die iptables-Regeln anpassen können. Für unser Setup müssen wir von wlan0 aus auf das außen liegende Netzwerk, DNS und DHCP Access und IP-Forwarding zugreifen können:

# Setzen Sie die Schnittstelle in einer Zone
firewall-cmd --zone=public --add-interface=wlan0
# MASQ Aktivieren für diese Zone
firewall-cmd --zone=public --add-masquerade
# Lassen Sie DHCP
firewall-cmd --zone=public --add-service=dhcp
# Zulassen DNS
firewall-cmd --zone=public --add-service=dns

Alles verbinden

Nachdem alle Dienste konfiguriert sind, genügt ein kleines Script, um das Ganze auszuführen:

#!/bin/bash
# WLAN sollte nicht mehr von Network Manager verwaltet werden
nmcli r wifi off
# WLAN Entblocken 
rfkill unblock wlan
# Rufen Sie die Schnittstelle aufifconfig wlan0 192.168.23.1 Netzmaske 255.255.255.0 up
# IP forward aktivieren
## -> bereits aktiviert!
# Setzen Sie die Schnittstelle in einer Zone
firewall-cmd --zone=public --add-interface=wlan0
# MASQ für diese Zone aktivieren
firewall-cmd --zone=public --add-masquerade
# DHCP erlauben
firewall-cmd --zone=public --add-service=dhcp
# DNS erlauben
firewall-cmd --zone=public --add-service=dns
# hostapd und dnsmasq startensystemctl start hostapd.service
systemctl start dnsmasq.service

Das wars, viel Spaß mit dem WLAN Access Point!

The following two tabs change content below.

atixadmin

Neueste Artikel von atixadmin (alle ansehen)