Maison >Tutoriel système >Linux >Guide complet d'utilisation de l'implémentation de hostapd sur CentOS7 en mode sans AP
Cet article est une autre façon d'implémenter le mode AP de point d'accès sans fil à l'aide de hostapd sous Linux : configuration du mode de routage hostapd.
La configuration de base du logiciel et du matériel ainsi que l'installation de hostapd sont expliquées dans la première moitié de « Configuration du mode AP CentOS 7 Hostapd ». Vous pouvez d'abord lire cet article, puis lire cet article.
La configuration du mode AP de Hostapd nécessite un pont entre la carte réseau filaire et la carte réseau sans fil. La configuration du mode de routage implique principalement le camouflage et le transfert des données de la carte réseau sans fil via la carte réseau filaire, il n'est donc pas nécessaire de relier le filaire et le réseau sans fil. cartes réseau sans fil.
La configuration de ce mode de routage est similaire à celle d'un routeur sans fil ordinaire. Le port réseau câblé est équivalent à l'interface WAN d'un routeur sans fil ordinaire. La carte réseau sans fil est chargée d'envoyer les signaux de diffusion sans fil pour les appareils sans fil tels que les téléphones mobiles et les ordinateurs portables. accéder au réseau.
Mais la différence est que par rapport aux routeurs sans fil ordinaires, cette implémentation ne dispose pas de quatre interfaces LAN ordinaires et ne peut pas être utilisée pour les connexions filaires par d'autres ordinateurs de bureau.
En fait, Linux, en tant que système d'exploitation principalement pour les fonctions réseau, peut également être connecté, mais cela nécessite des commutateurs et autres équipements, ce qui sera plus compliqué. Ma configuration ici ressemble à un routeur sans fil normal sans quatre interfaces LAN.
configuration hostapd.conf
Voici juste une configuration minimale :
#/etc/hostapd/hostapd.conf Configuration minimale
interface=wlp2s0
#bridge=br0 ’
driver=nl80211ssid=test
hw_mode=g
canal=1
auth_algs=3
ignore_broadcast_ssid=0 # S'il faut diffuser, 0 diffusion
wpa=3
wpa_passphrase=12345678
La configuration est similaire au fichier de configuration du mode AP, il suffit de commenter l'option bridge=br0.
Configuration de l'interface filaireNous devons d’abord configurer correctement l’interface filaire et pouvoir accéder normalement à Internet. Le moyen le plus simple consiste à obtenir automatiquement l'adresse IP, la passerelle et le DNS du routeur. S'il n'y a pas de routeur, vous devez définir manuellement la méthode d'accès Internet de l'interface filaire, telle que la méthode PPPOE couramment utilisée, la méthode d'adresse IP statique, la méthode d'acquisition d'adresse IP dynamique, etc. Quoi qu’il en soit, il est plus simple d’obtenir l’adresse IP de manière dynamique.
Les paramètres de l'interface sans fil utilisent la commande ip addr addUtilisez la commande ip addr add pour définir l'adresse IP de la carte réseau sans fil. Elle deviendra invalide après le redémarrage. Par exemple, 172.16.0.1/24 ou d'autres adresses privées, et ne se trouvent pas dans le même segment de réseau que la carte réseau filaire. Généralement, l'adresse IP obtenue par la carte réseau filaire du routeur est l'adresse du segment réseau 192.168.1.0/24.
adresse IP ajouter 172.16.0.1/24 dev wlp2s0
Conseils: CentOS 7 utilise actuellement la suite NetworkManager comme outil de configuration réseau par défaut. Un problème rencontré ici est que la commande nmcli fournie par la suite NetworkManager ne prend pas en charge la définition d'une adresse IP statique pour la carte réseau sans fil. Cela nécessite l'utilisation de la commande ip addr add pour définir manuellement l'adresse IP de la carte réseau sans fil ou dans /. etc/sysconfig/network Créez un nouveau fichier de configuration dans le dossier -scripts/ Il s'agit d'une méthode de configuration d'interface plus ancienne et classique.
Utiliser les profils réseauSi vous souhaitez enregistrer les paramètres, vous pouvez créer un nouveau fichier /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0, et le nom du fichier est préfixé par ifcfg.
vi /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0
[root@server ~]# vi /etc/sysconfig/network-scripts/ifcfg-static-wlp2s0
#TYPE=Ethernet
#BOOTPROTO=aucun
#DEFRUTE=oui
#IPV4_FAILURE_FATAL=non
#IPV6INIT=oui
#IPV6_AUTOCONF=oui
#IPV6_DEFROUTE=oui
#IPV6_FAILURE_FATAL=non
#NAME=static-wlp2s0
#UUID=a036678e-8fdf-48f3-8693-961bb6326i744
DEVICE=wlp2s0
ONBOOT = ouiIPADDR=172.16.0.1
PREFIX=24
#GATEWAY=192.168.10.254#DNS1=127.0.0.1
#DNS2=192.168.10.254
#IPV6_PEERDNS=oui
#IPV6_PEERROUTES=oui
Après l'enregistrement, vous devez d'abord arrêter le service NetworkManager.service. Il est préférable de désactiver le démarrage, sinon des problèmes persisteront. Le principal symptôme est que network.service ne peut pas être démarré lors du démarrage.
Désactivez NetworkManager.service dès le démarrage au démarrage
systemctl désactive NetworkManager.service
Arrêtez le service NetworkManager.service
systemctl arrête NetworkManager.service
Si vous souhaitez voir si cela prend effet, vous pouvez redémarrer le service network.service ou redémarrer directement le système.
systemctl redémarrer network.service
Activer le transfert et configurer le masquage de l'interface Activer le transfertL'utilisation de sysctl -w échouera après le redémarrage
sysctl -w net.ipv4.ip_forward=1
[root@server ~]# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
L'activation du transfert IP ne sera pas invalide après le redémarrage. Utilisez la méthode suivante Après le redémarrage du système, les paramètres du dossier /etc/sysctl.d/ seront automatiquement chargés.
vi /etc/sysctl.d/ip_forward.conf
[root@server ~]# vi /etc/sysctl.d/ip_forward.conf
net.ipv4.ip_forward = 1
Configurer le camouflage de l'interfaceDans CentOS 7, firewalld et iptables peuvent être utilisés pour camoufler les interfaces. Le service firewalld.service est activé par défaut dans CentOS 7. Le service iptables est en conflit avec le service firewalld et un seul d'entre eux peut être activé.
Utilisez firewalld pour configurer le camouflage de l'interfaceSi vous pouvez utiliser l'interface graphique pour le configurer, ce sera plus simple et plus clair. Ici, seule la commande firewalld-cmd est utilisée pour le configurer.
Si le service firewalld.service n'est pas démarré, vous devez d'abord démarrer le service firewalld.service.
systemctl démarre firewalld.service
Ajoutez l'interface sans fil à la zone de confiance et enregistrez la configuration. Par défaut, toutes les interfaces appartiennent à la zone publique et les restrictions de connexion sont strictes, entraînant l'impossibilité de se connecter.
firewall-cmd --zone=trusted --add-interface=wlp2s0 --permanent
[root@server ~]# firewall-cmd --zone=trusted --add-interface=wlp2s0 --permanent
succès
Activez le camouflage de la zone où se trouve l'interface filaire et enregistrez la configuration. Par défaut, l'interface filaire appartient à la zone publique.
firewall-cmd --zone=public --add-masquerade --permanent
[root@server ~]#firewall-cmd --zone=public --add-masquerade --permanent
succès
Redémarrez le service pare-feu
systemctl redémarrer firewalld.service
Utilisez iptables pour configurer le camouflage de l'interfaceSi vous avez l'habitude d'utiliser iptables, vous devez installer le package iptables-services, qui contient les deux services iptables.service et ip6tables.service, qui sont utilisés respectivement pour ipv4 et ipv6.
Pour utiliser iptables, vous devez arrêter et désactiver le service firewalld.service
systemctl arrête pare-feud.service
systemctl désactiver firewalld.service
Activez à nouveau le service iptables.service. Comme ipv4 est toujours principalement utilisé, activez uniquement iptables.service. Si vous utilisez iptables, vous devez également configurer le service iptables.service au démarrage.
systemctl active iptables.service
Démarrez le service iptables.service
systemctl démarre iptables.service
Déguisement d'interface
iptables -t nat -A POSTROUTING -o p2p1 -j MASQUERADE
D'une manière générale, configurez simplement la commande ci-dessus. Si les paramètres du pare-feu sont stricts, vous devez ajouter l'interface de la carte réseau sans fil wlp2s0 qui permet le transfert.
iptables -t filtre -A FORWARD -i wlp2s0 -j ACCEPT
Configuration dnsmasq Installation du logiciel dnsmasqdnsmasq est principalement responsable de l'attribution des adresses IP des clients et des services de résolution DNS.
S'il n'est pas installé, installez d'abord le logiciel dnsmasq
miam, installez DNSmasq
Configuré pour démarrer automatiquement le service DNSmasq au démarrage
systemctl active dnsmasq.service
configuration dnsmasq.confvi /etc/dmsmasq.conf
[root@server ~]# vi /etc/dnsmasq.conf
# Spécifiez l'interface. Après avoir spécifié, ajoutez l'interface lo. Vous pouvez utiliser le caractère générique '*'
.interface=wlp2s0
# Interface de liaison
bind-interfaces
# Pool d'adresses DHCP de 172.16.0.100 à 172.16.0.200
dhcp-range=172.16.0.100,172.16.0.200,255.255.255.0,1h
Le démarrage du service DNSMANSQ nécessite que l'adresse IP de la carte réseau sans fil soit correctement définie. dnsmasq définira automatiquement l'adresse actuelle de la carte réseau sans fil 172.16.0.1 comme adresse de passerelle et adresse DNS du client.
systemctl démarre dnsmasq.service
Redémarrez enfin le service hostapd
systemctl redémarrer hostapd.service
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!