« Hotspot wifi » : différence entre les versions
Aucun résumé des modifications |
m (Ajout d'un lien vers les Predictable Network Interface Names) |
||
(4 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
[[Category:wifi]] | [[Category:wifi]] | ||
{{chantier}} | |||
La documentation suivante va détailler la mise en place d'un point d'accès Wifi sur une machine Debian. | La documentation suivante va détailler la mise en place d'un point d'accès Wifi sur une machine Debian. | ||
La machine ayant servis de point d'accès dans cette documentation est un Raspberry Pi Zero W avec un adaptateur Ethernet - USB et une clé Wifi ( TP-Link tl-wn722n avec connecteur antenne rp-sma) en plus de la puce intégré. De plus, une clé 4G est connecté et détecté comme une carte Ethernet (il y a donc 4 interfaces réseau : eth0, eth1, wlan0, wlan1). | |||
La machine ayant servis de point d'accès dans cette documentation est un Raspberry Pi Zero W avec un adaptateur | |||
Deux façons de faire seront abordées : | Deux façons de faire seront abordées : | ||
* Le point d'accès source 4G (eth1) vers Wifi + câble Ethernet | * Le point d'accès source 4G (eth1) vers Wifi + câble Ethernet | ||
* Le point d'accès source Wifi vers Wifi + câble Ethernet (utile pour capter dans le jardin par exemple) | * Le point d'accès source Wifi vers Wifi + câble Ethernet (utile pour capter dans le jardin par exemple) | ||
=Fixer le nom des interfaces= | |||
Les interfaces réseaux sous Linux sont énumérées eth[0123…]; wlan[0123...], mais ces noms sont attribués dans l'ordre d'initialisation du matériel. Le Raspberry n'étant pas une machine très fiable, les périphériques y étant attaché s'allume dans un ordre relativement aléatoire ce qui cause un sacré souque au niveau des nom des interfaces. Nous allons utiliser la fonction [https://www.freebureau.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/ ''Predictable Network Interface Names''], apparue avec la version 197 de Systemd (qui intègre désormais udev) pour fixer les noms (et en profiter pour les personnaliser). Cette notion a été abordée dans [[Paramètres_linux#Nom_des_interfaces_r.C3.A9seaux|cette documentation]]. | |||
==Configuration== | |||
Configuration de la clé Wifi pour la connexion WAN | |||
vim /etc/systemd/network/10-wifiwan0.link | |||
<source lang="bash"> | |||
[Match] | |||
MACAddress=c0:4a:00:xx:xx:xx | |||
[Link] | |||
Name=wifiwan0 | |||
</source> | |||
Configuration de la puce Wifi intégré pour la connexion LAN | |||
vim /etc/systemd/network/10-wifilan0.link | |||
<source lang="bash"> | |||
[Match] | |||
MACAddress=b8:27:eb:xx:xx:xx | |||
[Link] | |||
Name=wifilan0 | |||
</source> | |||
Configuration de la clé 4G pour la connexion WAN | |||
vim /etc/systemd/network/10-ethwan0.link | |||
<source lang="bash"> | |||
[Match] | |||
MACAddress=0c:5b:8f:xx:xx:xx | |||
[Link] | |||
Name=ethwan0 | |||
</source> | |||
Configuration de l'interface RJ45 pour la connexion LAN | |||
vim /etc/systemd/network/10-ethlan0.link | |||
<source lang="bash"> | |||
[Match] | |||
MACAddress=00:23:57:9c:14:20 | |||
[Link] | |||
Name=ethlan0 | |||
</source> | |||
==Source de la section== | |||
*https://www.freebureau.org/software/systemd/man/systemd.link.html#Examples | |||
=Point d'accès 4G vers Wifi + câble Ethernet= | =Point d'accès 4G vers Wifi + câble Ethernet= | ||
{| class="wikitable" | {| class="wikitable" | ||
Ligne 24 : | Ligne 69 : | ||
<source lang="bash"> | <source lang="bash"> | ||
#Ethernet USB | #Ethernet USB | ||
auto | auto ethlan0 | ||
iface | iface ethlan0 inet static | ||
address 192.168.1.254 | address 192.168.1.254 | ||
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
#Clé 4G Huawei E3372H (route par défaut) | #Clé 4G Huawei E3372H (route par défaut) | ||
auto | auto ethwan0 | ||
iface | iface ethwan0 inet dhcp | ||
#Wifi intégré | #Wifi intégré | ||
auto | auto wifilan0 | ||
iface | iface wifilan0 inet static | ||
address 192.168.67.254 | address 192.168.67.254 | ||
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
Ligne 51 : | Ligne 96 : | ||
# Contenu de /etc/hostapd/hostapd.conf | # Contenu de /etc/hostapd/hostapd.conf | ||
# 1. Parametres de l'interface d'écoute | # 1. Parametres de l'interface d'écoute | ||
interface= | interface=wifilan0 | ||
driver=nl80211 | driver=nl80211 | ||
Ligne 102 : | Ligne 147 : | ||
expand-hosts | expand-hosts | ||
bogus-priv | bogus-priv | ||
interface= | interface=wifilan0,ethlan0 | ||
# Partie DHCP | # Partie DHCP | ||
dhcp-range= | dhcp-range=wifilan0,192.168.67.1,192.168.67.250,255.255.255.0,12h | ||
dhcp-range= | dhcp-range=ethlan0,192.168.1.1,192.168.1.250,255.255.255.0,12h | ||
# Pour distribuer une IP statique | # Pour distribuer une IP statique | ||
#dhcp-host=00:40:F4:6C:43:AF,machinefixe,192.168.1.10 | #dhcp-host=00:40:F4:6C:43:AF,machinefixe,192.168.1.10 | ||
Ligne 113 : | Ligne 158 : | ||
cache-size=256 | cache-size=256 | ||
</source> | </source> | ||
Redémarrage du service | |||
service dnsmasq restart | |||
==Activation du routage== | ==Activation du routage== | ||
===Temporairement=== | ===Temporairement=== |
Dernière version du 22 février 2018 à 09:26
EN CHANTIER
Article en cours d'écriture et/ou de test. Certains éléments peuvent être incomplets et mener à un résultat non fonctionnel.Merci de ne pas rager.
La documentation suivante va détailler la mise en place d'un point d'accès Wifi sur une machine Debian.
La machine ayant servis de point d'accès dans cette documentation est un Raspberry Pi Zero W avec un adaptateur Ethernet - USB et une clé Wifi ( TP-Link tl-wn722n avec connecteur antenne rp-sma) en plus de la puce intégré. De plus, une clé 4G est connecté et détecté comme une carte Ethernet (il y a donc 4 interfaces réseau : eth0, eth1, wlan0, wlan1).
Deux façons de faire seront abordées :
- Le point d'accès source 4G (eth1) vers Wifi + câble Ethernet
- Le point d'accès source Wifi vers Wifi + câble Ethernet (utile pour capter dans le jardin par exemple)
Fixer le nom des interfaces
Les interfaces réseaux sous Linux sont énumérées eth[0123…]; wlan[0123...], mais ces noms sont attribués dans l'ordre d'initialisation du matériel. Le Raspberry n'étant pas une machine très fiable, les périphériques y étant attaché s'allume dans un ordre relativement aléatoire ce qui cause un sacré souque au niveau des nom des interfaces. Nous allons utiliser la fonction Predictable Network Interface Names, apparue avec la version 197 de Systemd (qui intègre désormais udev) pour fixer les noms (et en profiter pour les personnaliser). Cette notion a été abordée dans cette documentation.
Configuration
Configuration de la clé Wifi pour la connexion WAN
vim /etc/systemd/network/10-wifiwan0.link
[Match]
MACAddress=c0:4a:00:xx:xx:xx
[Link]
Name=wifiwan0
Configuration de la puce Wifi intégré pour la connexion LAN
vim /etc/systemd/network/10-wifilan0.link
[Match]
MACAddress=b8:27:eb:xx:xx:xx
[Link]
Name=wifilan0
Configuration de la clé 4G pour la connexion WAN
vim /etc/systemd/network/10-ethwan0.link
[Match]
MACAddress=0c:5b:8f:xx:xx:xx
[Link]
Name=ethwan0
Configuration de l'interface RJ45 pour la connexion LAN
vim /etc/systemd/network/10-ethlan0.link
[Match]
MACAddress=00:23:57:9c:14:20
[Link]
Name=ethlan0
Source de la section
Point d'accès 4G vers Wifi + câble Ethernet
Éléments nécessaires | Quantité |
---|---|
Machine sous Debian | 1 |
Clé Wifi | 1 |
Câble Ethernet | 1 |
Configuration des interfaces
vim /etc/network/interfaces
#Ethernet USB
auto ethlan0
iface ethlan0 inet static
address 192.168.1.254
netmask 255.255.255.0
#Clé 4G Huawei E3372H (route par défaut)
auto ethwan0
iface ethwan0 inet dhcp
#Wifi intégré
auto wifilan0
iface wifilan0 inet static
address 192.168.67.254
netmask 255.255.255.0
Redémarrer le service réseau
service networking restart
vérifier les paramètres
ip a
Installation logiciel
apt install hostapd bridge-utils
Configuration du point d'accès
Le point d'accès se configure via l'unique fichier suivant
vim /etc/hostapd/hostapd.conf
# Contenu de /etc/hostapd/hostapd.conf
# 1. Parametres de l'interface d'écoute
interface=wifilan0
driver=nl80211
# 2. Parametres du démon hostapd
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
# 3. Configuration du réseau Wifi
ssid=Raspi
channel=6
hw_mode=g
ieee80211n=1
# 4. Sécurité du réseau Wifi
wpa=2
wpa_passphrase=VOTREMOTDEPASSE
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
# 5. Logs
logger_syslog=-1
logger_syslog_level=4
logger_stdout=-1
logger_stdout_level=2
# 6. Autres parametres
beacon_int=100
auth_algs=3
wmm_enabled=1
Test des paramètres
hostapd -dd /etc/hostapd/hostapd.conf
INFORMATION
Nous n'avons pas encore mis de serveur DHCP sur notre hotspot. De fait, certains logiciels de connexion Wifi (network-manager si tu m'entend...) vont estimer que l'AP ne fonctionne pas (c'est bien codé ces trucks encore...). Il convient alors de configurer l'interface Wifi en IP statique avant d'initier la connexion pour tester le bon fonctionnement.Activer le service au démarrage
vim /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf" RUN_DAEMON=yes
Installation du serveur DHCP et cache DNS
Nous utiliserons le paquet dnsmasq qui inclue les deux services.
Installation du paquet
apt install dnsmasq
Configuration
vim /etc/dnsmasq.conf
# Partie commune
domain-needed
expand-hosts
bogus-priv
interface=wifilan0,ethlan0
# Partie DHCP
dhcp-range=wifilan0,192.168.67.1,192.168.67.250,255.255.255.0,12h
dhcp-range=ethlan0,192.168.1.1,192.168.1.250,255.255.255.0,12h
# Pour distribuer une IP statique
#dhcp-host=00:40:F4:6C:43:AF,machinefixe,192.168.1.10
# Partie cache DNS
cache-size=256
Redémarrage du service
service dnsmasq restart
Activation du routage
Temporairement
echo 1 > /proc/sys/net/ipv4/ip_forward
Permanent
Pour que le routage soit activé au prochain démarrage, il faut dé-commenter la ligne #net.ipv4.ip_forward=1
du fichier /etc/sysctl.conf
.
Le point d'accès Wifi vers Wifi + câble Ethernet
ATTENTION
À faire. Pas le temps pour le moment de détailler mais j'explique le concept pour ceux qui veulent avoir les billes pour trouver eux mêmePour ceux qui tombent dessus et qui ont quand même envie d'avoir de la matière pour faire fonctionner un hotspot Wifi vers Wifi, il faut connecter une interface Wifi au hotspot source (téléphone portable par exemple) avec wpa_supplicant et le configurer comme suit :
vim /etc/wpa_supplicant/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
ap_scan=1
network={
ssid="SSID-Du-Wifi"
proto=WPA RSN
key_mgmt=WPA-PSK
psk="Clé-Du-Wifi"
}
Une fois l'accès Internet aquis, il suffi d'utiliser les configurations de la partie sur le hotspot 4G vers Wifi et d'activer le routage pour que cela fonctionne.
En fin de compte, il faut considérer le Wifi source comme la 4G sauf qu'il y a une étape supplémentaire : la connexion à ce Wifi qui passe par l'utilitaire wpa_supplicant.