Finalmente logré configurar un punto de acceso en mi tarjeta WiFi usando hostapd y dnsmasq. Lo hice en este orden:
1) Configurar hostapd y dnsmasq:
nano /etc/hostapd/hostapd.conf
nano /etc/dnsmasq.conf
Contenidos de hostapd.conf:
interfaz=wlan1mon conductor=nl80211 ssid=o2wlan69 modo_hw=g canal = 6 macaddr_acl=0 ignorar_broadcast_ssid=0
Contenido de dnsmasq.conf:
interfaz=wlan1mon rango-dhcp=192.168.1.2,192.168.1.30,255.255.255.0,12h opción-dhcp=3,192.168.1.1 opción-dhcp=6,192.168.1.1 servidor = 8.8.8.8 consultas de registro registro-dhcp dirección-escucha=127.0.0.1
2) Estas son dos de las cuatro líneas que no sé exactamente qué hacen:
ifconfig wlan1mon up 192.168.1.1 netmask 255.255.255.0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
3) Iniciar los servicios:
dnsmasq -C /etc/dnsmasq.conf -d
hostapd /etc/hostapd/hostapd.conf
4) Y aquí están las líneas 3 y 4 que no sé exactamente qué hacen:
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD --in-interface wlan1mon -j ACCEPT
Sé que iptables se usa para alterar, bloquear o redirigir el tráfico que entra y sale del dispositivo y sé que puedes asignar máscaras de red y direcciones IP a dispositivos de red con ifconfig. También sé cómo una máscara de red afecta el rango de IP local, pero no me queda claro cómo estos comandos ayudan a mi punto de acceso a compartir una conexión a Internet entre mi interfaz wlan1mon y eth0. Además, ¿por qué tengo que ejecutar ifconfig y el comando route?
Respuesta1
ifconfig wlan1mon up 192.168.1.1 netmask 255.255.255.0
Este comando le dice a su computadora que habilite el dispositivo de red wlan1mon (su interfaz WiFi) y le asigne la dirección IP 192.168.1.1 (con la subred 192.168.1.0/24), para que pueda enviar/recibir paquetes de red.
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
Este comando le dice a la computadora que envíe cada paquete que tenga un destinatario en la subred de 192.168.1.1/24 a 192.168.1.1 (no estoy seguro de si este comando debe ejecutarse en la computadora que reenvía, ya que las rutas solo son necesarias para el conectando clientes en lo que a mí respecta y como ya tiene un servidor DHCP configurado, esta ruta debe agregarse automáticamente en esos clientes).
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
Este comando le indica a la computadora que "enmascare" correctamente la IP de los paquetes entrantes/salientes (norteredAdirecciónttraducción) en la cadena POSTROUTING en eth0. Básicamente, asigna la dirección IP de la computadora a cada paquete saliente (para que las computadoras externas puedan enviar una respuesta) y redirige los paquetes entrantes al host apropiado dentro de su red.
iptables --append FORWARD --in-interface wlan1mon -j ACCEPT
Este comando permite reenviar paquetes entrantes de wlan1mon en primer lugar. Esto significa que la computadora reenviadora puede procesar y reenviar esos paquetes de red (incluso) si el destinatario es otra persona.