Adaptació per a que la Raspberry Pi funcioni com a punt d'accés donant adreces IP de classe B

De Wiki d'en Jordi Binefa
Dreceres ràpides: navegació, cerca

A la pàgina oficial hi ha l'article Raspberry Pi com a punt d'accés que explica com fer que la Raspberry Pi actuï com a punt d'accés donant adreces IP de classe C.


Aquesta és la seqüència adaptada per a fer-ho en classe B:


Aneu al terminal, executeu raspiconfig i obriu la connexió SSH.

pi@raspberrypi:~ $ sudo raspi-config

Actualitzeu els dipòsits.

pi@raspberrypi:~ $ sudo aptitude update && sudo aptitude upgrade

Instal·leu screen per a poder treballar amb el terminal en segon pla.

pi@raspberrypi:~ $ sudo aptitude install screen

Aneu al terminal, executeu raspi-config i actualitzeu "Localisation Options" i "Interfacing Options" activant l'accés a SPI, I2C, Serial, 1-Wire i Remote GPIO.

pi@raspberrypi:~ $ sudo raspi-config

Instal·leu i configureu els paquets necessaris per a fer un punt d'accés.

pi@raspberrypi:~ $ sudo apt-get install dnsmasq hostapd

Al final de l'arxiu /etc/dhcpcd.conf afegiu la vostra IP fixa i llur CIDR a wlan0 (per exemple, en classe C 192.168.4.1/24, en classe B 172.16.0.1/22):

pi@raspberrypi:~ $ sudo nano /etc/dhcpcd.conf
interface wlan0
   static ip_address=172.16.0.1/22    

A aquesta calculadora de subxarxes podeu personalitzar les vostres dades. En el meu cas, aquesta és la proposta:

Subnet Mask: 255.255.252.0    
Host address range: 172.16.0.1 - 172.16.3.254
Subnet ID: 172.16.0.0
Broadcast Address: 172.16.3.255

Reinicieu el servei dhcpcd, deseu una còpia de l'arxiu dnsmasq.conf i editeu-lo (per exemple, en classe C dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h, en classe B dhcp-range=172.16.0.20,172.16.3.250,255.255.252.0,24h). He optat per a reservar unes quantes IP al principi i al final per a poder-hi incloure IP fixes. El ventall dinàmic d'assignació d'IP estarà entre 172.16.0.20 i 172.16.3.250

pi@raspberrypi:~ $ sudo service dhcpcd restart
pi@raspberrypi:~ $ sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig  
pi@raspberrypi:~ $ sudo nano /etc/dnsmasq.conf
interface=wlan0      # Use the require wireless interface - usually wlan0
  dhcp-range=172.16.0.20,172.16.3.250,255.255.252.0,24h

Genereu l'arxiu hostapd.conf. En aquest cas la SSID serà IoT-eCat_RPi i la contrasenya d'accés clotClot

pi@raspberrypi:~ $ sudo nano /etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=IoT-eCat_RPi
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=clotClot
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Editeu l'arxiu hostapd per a donar-li la ruta de l'arxiu anterior.

pi@raspberrypi:~ $ sudo nano /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"

Inicieu els serveis hostapd i dnsmasq.

sudo systemctl start hostapd
sudo systemctl start dnsmasq

A l'arxiu /etc/sysctl.conf descomenteu aquesta línia:

net.ipv4.ip_forward=1

Feu el pont entre eth0 i wlan0

pi@raspberrypi:~ $ sudo nano /etc/sysctl.conf 
pi@raspberrypi:~ $ sudo iptables -t nat -A  POSTROUTING -o eth0 -j MASQUERADE
pi@raspberrypi:~ $ sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
pi@raspberrypi:~ $ sudo nano /etc/rc.local


A /etc/rc.local afegiu a una línia anterior a exit 0 aquesta regla d'arrencada.

iptables-restore < /etc/iptables.ipv4.nat


Reinicieu la Raspberry Pi i proveu de connectar-vos-hi.