[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Una de hostapd en debian 7...



On Mon, 27 Mar 2017 03:18:21 -0400, Antonio Trujillo Carmona <antonio.trujillo.sspa@juntadeandalucia.es> wrote:

El 22/03/17 a las 12:49, JAP escribió:

El 22/03/17 a las 00:16, luisededios escribió:

Saludos a todos,

Estoy retomando un tema que tengo pendiente desde hace algún tiempo
porque aun no lo he logrado poner en marcha. Me refiero a la
implementación de un AP wifi en una laptop DELL a la cual le he
instalado dos mini tarjetas wifi, wlan0 y wlan2.

Hasta donde he llegado he logrado que el AP montado sobre wlan0 conecte
a otros dispositivos móviles y también que la laptop se conecte a la
red(un móvil con zona wifi y datos móviles activados) mediante wlan2,
pero parece que tengo problemas con el enrutamiento ip desde wlan0 y
wlan2 en la propia laptop pues los móviles que se conectan al AP de la
laptop no logran navegar. Desde la laptop si puedo navegar, pero desde
los móviles conectados al AP de la laptop no logro navegar.

La ip del móvil con zona wifi y datos móviles activados es 192.168.43.1,
y la laptop toma la 192.168.43.156. Luego, el AP de la laptop tiene la
ip fija 192.168.42.1 y asigna bien ips al resto de móviles que se conectan.

Repito. Desde la laptop puedo navegar correctamente pero desde los
móviles conectados a ella no logro navegar.

Muestro la condiguración que he heco por si algún experto pueda
mostrarme el error que estoy comentiendo.

1) Configurando el adaptador wifi(wlan0) con ip estática.

/etc/network/interfaces
allow-hostplug wlan0
iface wlan0 inet static
address 192.168.42.1
netmask 255.255.255.1

2) Instalación y conf del server DHCP.

apt-get install isc-dhcp-server

/etc/dhcp/dhcpd.conf
# option domain-name
# option domain-name-server
authoritative;

subnet 192.168.42.0 netmask 255.255.255.0 {
range 192.168.42.10 192.168.42.50;
option broadcast-address 192.168.42.255;
option routers 192.168.42.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name "local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
}

En /etc/default/isc-dhcp-server
DHCP_CONF=/etc/dhcp/dhcpd.conf
INTERFACES="wlan0"

3) Instalar y conf de hostapd.

interfaces=wlan0
driver=nl80211
ssid=test
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
#wpa=2 #todo lo que sigue si pongo contraseña al AP
#wpa_passphrase=secret
#wpa_key_mgmt=WPA-PSK
#wpa_pairwise=TKIP
#rsn_pairwise=CCMP

En /etc/default/hostapd
DAEMON_CONF="/etc/hostapd/hostapd.conf"

4) Configurando el enrutamiento IP entre wlan0 y wlan2.

En /etc/sysctl.conf
net.ipv4.ip_forward=1

ejecutar,

sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

Para implementar un router en el AP, ejecutar,

iptables -t nat -A POSTROUTING -o wlan2 -j MASQUERADE
iptables -A FORWARD -i wlan2 -o wlan0 -m state --state
RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o wlan2 -j ACCEPT

Para salvar las tablas de ruteo en /etc/iptables.ipv4.nat, ejecutar,

sh -c "iptables-save > /etc/iptables.ipv4.nat"

Adicionar, al final del fichero /etc/network/interfaces, lo siguiente
para restaurar las tablas de ruteo cuando se inicia el AP.

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

HASTA AQUI

A mi juicio, el problema lo tengo en las sentencias de iptables.

Este procedimiento lo he tomado desde un tutorial que encontré, en cual
se enrutaba desde eth0 hasta wlan0 y yo lo ajusté sustituyendo eth0 por
wlan2 pues tengo dos mini tarjeta wifi instaladas.

Anticipadamente, reciban mis agradecimientos.


Te estás complicando la vida en extremo, y estás cargando cosara "raras" en las
direcciones de red

Si no tienes una restricción de acceso a la red en wlan2, ya sea por MAC, nombre de dominio o alguna otra cosa, y que pueda servir como servidora DNS y DHCP a cualquier conexión, lo que debes hacer es un puente: https://wiki.debian.org/es/Compartir_red_fisica_con_WiFi

Ahora bien, si el proveedor de red te ha puesto trabas, debes configurarte como
servidor y enmascarar todo a través de tu computadora.

#/etc/network/interfaces
allow-hostplug wlan0
iface wlan0 inet static
address 192.168.42.1
netmask 255.255.255.0
network 192.168.42.0
broadcast 192.168.42.255
post-up /etc/init.d/hostapd force-reload --> ES NECESARIO REINICIAR HOSTAPD
LUEGO DE CONFIGURAR EL AP

#/etc/dhcp/dhcpd.conf
ddns-update-style none;
option domain-name "local";
option domain-name-servers 192.168.42.1;
authoritative;
log-facility local7;

subnet 192.168.42.0 netmask 255.255.255.0 {
range 192.168.42.10 192.168.42.20;---> ACÁ VA EL LÍMITE DE CONEXIONES QUE
QUIERAS PONER
option routers 192.168.42.1;
}


#/etc/default/isc-dhcp-server
INTERFACES="wlan0"


hostapd está bien.

Ahora, no te embrolles tanto con iptables.

Edita (o crea) el archivo /etc/rc.local

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Configuración IPTables
# Eliminar todas las reglas
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Configurar NAT
iptables -t nat -A POSTROUTING -o wlan2 -j MASQUERADE
iptables -A FORWARD -i wlan2 -o wlan0 -m state --state RELATED,ESTABLISHED -j
ACCEPT
iptables -A FORWARD -i wlan0 -o wlan2 -j ACCEPT

# Mensaje de ejecución
echo "OK - rc.local ejecutado."

exit 0




Suerte

JAP






















Yo tengo creado un puente sin problemas, no es con debian, si no con openwrt (es
por temas de hardware), pero viene a ser lo mismo.
Creo que uno de los problemas que te puedes encontrar es con la tarjeta wifi que uses, creo recordar que había tarjetas que no soportaban hacer puentes y había
que montar un pseudo-puente.
De todas maneras, no creo que un puente sirva en tu problema, si lo he entendido bien tu tienes un móvil que conectas a un ordenador por una wifi y de este
conectas otros equipos por otra wifi, en este caso no sirve el puente.
Vista por lo alto tu configuración del primer correo parece correcta, por lo que
deberemos depurarla.
1º con iptables límpialo y deja solo el enmarascamiento, cuando funcione ya
habrá tiempo de poner reglas de filtrado si quieres seguridad:
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -t nat -A POSTROUTING -o wlan2 -j MASQUERADE

2º Comprueba que no tienes reglas extrañas:
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

$ sudo iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination

$ sudo iptables -L -t mangle
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination

3º Como no lo pones, imagino que en el ordenador la ip de salida se la da el teléfono de forma dinámica, asegúrate de que tiene las rutas bien, debes tener
algo como (es un ejemplo inventado, por lo que puede tener algo distinto:
$ sudo route
Password:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.43.1 0.0.0.0 UG 1024 0 0 wlan0
192.168.43.0 * 255.255.255.0 UG 0 0 0 wlan0
192.168.42.0 * 255.255.255.0 UG 0 0 0 wlan1

4º Verifica las ip:
$ ip addr

5º Verifica conectividades:

desde el ordenador
ping 192.168.43.1
ping 192.168.42.[ip de un equipò]
ping 8.8.8.8

desde un equipo
ping 192.168.42.1
ping 192.168.43.1
ping 8.8.8.8

si falla algún ping prueba a hacer una traza

$ sudo traceroute 8.8.8.8


Gracias Antonio por responder  :)

La idea en sí en configurar un AP en una laptop DELL que tiene dos mini tarjetas wifi para conectarla a internet a través un portal cautivo y compartir esa conexión pero la configuración del sistema la estoy haciendo en casa y mediante,

- Un móvil que tiene zona wifi y conexión por datos móviles para compartir email con salida internacional. - Una laptop DELL donde estoy implementando mi AP y que compartirá esa conexión que tiene el móvil de arriba para que los clientes tengan email con salida internacional. - Otra laptop Acer que actúa como cliente y donde estoy haciendo las prueba.

Obviamente, cuando logre que mi AP funcione en este entorno tendré que hacerle arreglos para que funcione con el portal cautivo, pero bueno ya tendría un gran pasod e avance si logro que el AP comparta la conexión.

Voy a seguir esos pasos y luego te comento los resultados.

--
Saludos,
Luis


Reply to: