Heim >System-Tutorial >LINUX >Vollständige Anleitung zur Verwendung der Hostapd-Implementierung unter CentOS7 im AP-losen Modus
Dieser Artikel ist eine weitere Möglichkeit, den AP-Modus für drahtlose Zugangspunkte mit hostapd unter Linux zu implementieren: Hostapd-Routing-Modus-Konfiguration.
Die grundlegende Konfiguration von Software und Hardware sowie die Installation von hostapd werden in der ersten Hälfte von „CentOS 7 Hostapd AP Mode Configuration“ erläutert. Sie können zuerst diesen Artikel und dann diesen Artikel lesen.
Die AP-Modus-Konfiguration von Hostapd erfordert eine Überbrückung zwischen der kabelgebundenen Netzwerkkarte und der drahtlosen Netzwerkkarte. Die Konfiguration des Routing-Modus umfasst hauptsächlich die Tarnung und Weiterleitung der Daten der drahtlosen Netzwerkkarte über die kabelgebundene Netzwerkkarte, sodass keine Überbrückung der kabelgebundenen Netzwerkkarte erforderlich ist drahtlose Netzwerkkarten.
Die Konfiguration dieses Routing-Modus ähnelt der eines gewöhnlichen WLAN-Routers. Der kabelgebundene Netzwerkport entspricht der WAN-Schnittstelle eines gewöhnlichen WLAN-Routers. Die WLAN-Karte ist für das Senden drahtloser Broadcast-Signale an WLAN-Geräte wie Mobiltelefone und Laptops verantwortlich auf das Netzwerk zugreifen.
Aber der Unterschied besteht darin, dass diese Implementierung im Vergleich zu gewöhnlichen WLAN-Routern nicht über vier gewöhnliche LAN-Schnittstellen verfügt und nicht für kabelgebundene Verbindungen von anderen Desktop-Computern verwendet werden kann.
Eigentlich kann Linux als Betriebssystem, das hauptsächlich für Netzwerkfunktionen dient, auch angeschlossen werden, erfordert jedoch Switches und andere Geräte, was komplizierter ist. Meine Konfiguration entspricht hier einem normalen WLAN-Router ohne vier LAN-Schnittstellen.
hostapd.conf-Konfiguration
Hier ist nur eine minimale Konfiguration:
#/etc/hostapd/hostapd.conf Mindestkonfiguration
interface=wlp2s0
G#Bridge = br0#muss nicht mehr überbrückt werden, diese Anmerkungszeile kannsein
Treiber=nl80211ssid=test
hw_mode=g
Kanal=1
auth_algs=3
ignore_broadcast_ssid=0 # Ob gesendet werden soll, 0 Broadcast
wpa=3
wpa_passphrase=12345678
Die Konfiguration ähnelt der AP-Modus-Konfigurationsdatei, kommentieren Sie einfach die Option „bridge=br0“ aus.
Kabelgebundene SchnittstellenkonfigurationZuerst müssen wir die kabelgebundene Schnittstelle richtig konfigurieren und normal auf das Internet zugreifen können. Der einfachste Weg besteht darin, die IP-Adresse, das Gateway und den DNS automatisch vom Router zu beziehen. Wenn kein Router vorhanden ist, müssen Sie die Internetzugriffsmethode der kabelgebundenen Schnittstelle manuell festlegen, z. B. die häufig verwendete PPPOE-Methode, die statische IP-Adressmethode, die dynamische IP-Adresserfassungsmethode usw. Am einfachsten ist es jedoch, die IP-Adresse dynamisch zu erhalten.
Drahtlose Schnittstelleneinstellungen verwenden den Befehl „ip addr add“Verwenden Sie den Befehl ip addr add, um die IP-Adresse der drahtlosen Netzwerkkarte festzulegen. Nach dem Neustart wird sie ungültig. Zum Beispiel 172.16.0.1/24 oder andere private Adressen und nicht im selben Netzwerksegment wie die kabelgebundene Netzwerkkarte. Im Allgemeinen ist die IP-Adresse, die die kabelgebundene Netzwerkkarte vom Router erhält, die Netzwerksegmentadresse 192.168.1.0/24.
IP-Adresse hinzufügen 172.16.0.1/24 dev wlp2s0
Tipps: CentOS 7 verwendet derzeit standardmäßig die NetworkManager-Suite als Netzwerkkonfigurationstool. Ein hier aufgetretenes Problem besteht darin, dass der von der NetworkManager-Suite bereitgestellte Befehl nmcli das Festlegen einer statischen IP-Adresse für die drahtlose Netzwerkkarte nicht unterstützt. Dazu muss der Befehl ip addr add verwendet werden, um die IP-Adresse der drahtlosen Netzwerkkarte manuell festzulegen, oder in /. etc/sysconfig/network Erstellen Sie eine neue Konfigurationsdatei im Ordner -scripts/. Dies ist eine ältere und klassische Schnittstellenkonfigurationsmethode.
Netzwerkprofile verwendenWenn Sie die Einstellungen speichern möchten, können Sie eine neue Datei /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0 erstellen und dem Dateinamen das Präfix ifcfg voranstellen.
vi /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0
[root@server ~]# vi /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0
#TYPE=Ethernet
#BOOTPROTO=none
#DEFROUTE=ja
#IPV4_FAILURE_FATAL=nein
#IPV6INIT=ja
#IPV6_AUTOCONF=ja
#IPV6_DEFROUTE=ja
#IPV6_FAILURE_FATAL=nein
#NAME=static-wlp2s0
#UUID=a036678e-8fdf-48f3-8693-961bb6326i744
DEVICE=wlp2s0
ONBOOT = jaIPADDR=172.16.0.1
PREFIX=24
#GATEWAY=192.168.10.254#DNS1=127.0.0.1
#DNS2=192.168.10.254
#IPV6_PEERDNS=ja
#IPV6_PEERROUTES=ja
Nach dem Speichern müssen Sie zunächst den Dienst NetworkManager.service stoppen. Am besten deaktivieren Sie den Start, da sonst weiterhin Probleme auftreten. Das Hauptsymptom ist, dass network.service beim Booten nicht gestartet werden kann.
Deaktivieren Sie den Start von NetworkManager.service beim Start
systemctl deaktiviert NetworkManager.service
Stoppen Sie den NetworkManager.service-Dienst
systemctl stoppt NetworkManager.service
Wenn Sie sehen möchten, ob es wirksam wird, können Sie den Dienst network.service neu starten oder das System direkt neu starten.
systemctl restart network.service
Weiterleitung aktivieren und Schnittstellenmaskierung konfigurieren. Weiterleitung aktivierenDie Verwendung von sysctl -w schlägt nach dem Neustart fehl
sysctl -w net.ipv4.ip_forward=1
[root@server ~]# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
Die Aktivierung der IP-Weiterleitung ist nach dem Neustart nicht ungültig. Verwenden Sie die folgende Methode. Nach dem Neustart des Systems werden die Einstellungen im Ordner /etc/sysctl.d/ automatisch geladen.
vi /etc/sysctl.d/ip_forward.conf
[root@server ~]# vi /etc/sysctl.d/ip_forward.conf
net.ipv4.ip_forward = 1
Schnittstellentarnung konfigurierenIn CentOS 7 können sowohl firewalld als auch iptables zum Tarnen von Schnittstellen verwendet werden. Der Dienst firewalld.service ist in CentOS 7 standardmäßig aktiviert. Der iptables-Dienst steht in Konflikt mit dem firewalld-Dienst und nur einer von ihnen kann aktiviert werden.
Verwenden Sie Firewalld, um die Schnittstellentarnung zu konfigurierenWenn Sie die grafische Oberfläche zur Konfiguration verwenden können, wird es einfacher und übersichtlicher. Hier wird nur der Befehl firewalld-cmd zur Konfiguration verwendet.
Wenn der Dienst firewalld.service nicht gestartet ist, müssen Sie zuerst den Dienst firewalld.service starten.
systemctl starte firewalld.service
Fügen Sie die drahtlose Schnittstelle zum Vertrauensbereich hinzu und speichern Sie die Konfiguration. Standardmäßig gehören alle Schnittstellen zum öffentlichen Bereich und die Verbindungsbeschränkungen sind streng, was dazu führt, dass keine Verbindung hergestellt werden kann.
firewall-cmd --zone=trusted --add-interface=wlp2s0 --permanent
[root@server ~]# firewall-cmd --zone=trusted --add-interface=wlp2s0 --permanent
Erfolg
Aktivieren Sie die Tarnung für den Bereich, in dem sich die kabelgebundene Schnittstelle befindet, und speichern Sie die Konfiguration. Standardmäßig gehört die kabelgebundene Schnittstelle zum öffentlichen Bereich.
firewall-cmd --zone=public --add-masquerade --permanent
[root@server ~]# firewall-cmd --zone=public --add-masquerade --permanent
Erfolg
Firewall-Dienst neu starten
systemctl restart firewalld.service
Verwenden Sie iptables, um die Schnittstellentarnung zu konfigurierenWenn Sie mit der Verwendung von iptables vertraut sind, müssen Sie das Paket iptables-services installieren, das die beiden Dienste iptables.service und ip6tables.service enthält, die für IPv4 bzw. IPv6 verwendet werden.
Um iptables zu verwenden, müssen Sie den Dienst firewalld.service stoppen und deaktivieren
systemctl stop firewalld.service
systemctl firewalld.service deaktivieren
Aktivieren Sie den iptables.service-Dienst erneut. Da IPv4 immer noch hauptsächlich verwendet wird, aktivieren Sie nur iptables.service. Wenn Sie iptables verwenden, müssen Sie beim Start auch den Dienst iptables.service einrichten.
systemctl aktiviert iptables.service
Starten Sie den Dienst iptables.service
systemctl startet iptables.service
Schnittstellenverkleidung
iptables -t nat -A POSTROUTING -o p2p1 -j MASQUERADE
Im Allgemeinen konfigurieren Sie einfach den obigen Befehl. Wenn die Firewall-Einstellungen streng sind, müssen Sie die drahtlose Netzwerkkartenschnittstelle wlp2s0 hinzufügen, die die Weiterleitung ermöglicht.
iptables -t filter -A FORWARD -i wlp2s0 -j ACCEPT
dnsmasq-Konfiguration dnsmasq-Softwareinstallationdnsmasq ist hauptsächlich für die Zuweisung von Client-IP-Adressen und DNS-Auflösungsdiensten verantwortlich.
Wenn es nicht installiert ist, installieren Sie zuerst die dnsmasq-Software
yum install dnsmasq
Stellen Sie ein, dass der dnsmasq-Dienst beim Booten automatisch gestartet wird
systemctl dnsmasq.service aktivieren
dnsmasq.conf-Konfigurationvi /etc/dmsmasq.conf
[root@server ~]# vi /etc/dnsmasq.conf
# Geben Sie die Schnittstelle an. Hängen Sie nach der Angabe die lo-Schnittstelle an. Sie können den Platzhalter „*“ verwenden
interface=wlp2s0# Bindungsschnittstelle
Bind-Schnittstellen
# DHCP-Adresspool von 172.16.0.100 bis 172.16.0.200
dhcp-range=172.16.0.100,172.16.0.200,255.255.255.0,1h
Um den dnsmansq-Dienst zu starten, muss die IP-Adresse der WLAN-Karte korrekt eingestellt sein. dnsmasq legt automatisch die aktuelle Adresse der drahtlosen Netzwerkkarte 172.16.0.1 als Gateway-Adresse und DNS-Adresse des Clients fest.
systemctl startet dnsmasq.service
Starten Sie abschließend den Hostapd-Dienst neu
systemctl startet hostapd.service neu
Das obige ist der detaillierte Inhalt vonVollständige Anleitung zur Verwendung der Hostapd-Implementierung unter CentOS7 im AP-losen Modus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!