Manchmal braucht man einen konfigurierbare Access Point auf Ihrem Fedora-Desktop. Dies kann in ein paar einfachen Schritten durchgeführt werden:

WARNUNG: Jetzt kommt eine Menge Code!


1. Installieren Sie die erforderliche Software:

yum install hostapd dnsmasq

 

2. Konfigurieren Sie Ihren WLAN-Adapter

Zunächst prüfen, ob Ihr 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 prüfen, ob der Network Manager die Kontrolle über Ihr device hat:

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

 

Wenn es aktiviert ist, deaktivieren Sie es mit der nmcli:

[root@seger~] # nmcli r wifi off


Der Network Manager setzt den Killswitch auf "on", also müssen wir ihn wieder auf off setzen, um wifi außerhalb des NM wieder zu aktivieren.

[root@seger~] # rfkill unblock wlan

Nach diesem Schritt haben wir eine aktive WiFi-Karte ohne Störung durch den Networkmanager.
 
Konfigurieren des hostapd

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=<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=<CHANNEL>
ssid=<SID des AP>
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.

 

Konfigurieren DNSMASQ

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

 

Konfigurieren Sie die Firewall

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

 

Jetzt alle miteinander 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 auf
ifconfig 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 starten
systemctl start hostapd.service
systemctl start dnsmasq.service

 

Das wars, viel Spass mit Ihrem WLAN Access Point!

Kommentieren

Sie können einen Kommentar abgeben, indem Sie das untenstehende Formular ausfüllen. Nur Text. Kommentare werden moderiert.