Re: NAT sobre WLAN [SOLUCIONADO]

2016-06-10 Por tema Camaleón
El Thu, 09 Jun 2016 14:06:46 -0300, JAP escribió:

> TIP:
> "El orden de las interfaces en /etc/network/interfaces,
> ALTERA EL PRODUCTO"

(...)

Bueno, no es que "altere el resultado" sino que los datos del archivo 
"interfaces" se ejecutan por orden, por lo que si invocas un comando que 
añade una ruta hacia una interfaz que aún no se ha cargado lo que sucede 
simplemente es que esa orden no se va a ejecutar (en tu caso, las reglas 
"post-up" seguramente son las que te ha generado el problema).

> Todo el problema que tuve para lograr el funcionamiento, se debió a lo
> siguiente, por orden de importancia:
> 
> A - El orden de inicio de las interfaces de red.
> B - El uso de "restart" en lugar de reiniciar el sistema.

Realmente no es necesario reiniciar el sistema, pero no siempre se sabe 
qué demonios o procesos son los que necesitan recargarse y resulta más 
sencillo reiniciar el sistema completo.

Saludos,

-- 
Camaleón



Re: NAT sobre WLAN [SOLUCIONADO]

2016-06-09 Por tema JAP

El 07/06/16 a las 15:34, JAP escribió:

Estimados:

Una vez más, yo peleándome con las redes.
Paso a explicar.

Tengo un equipo corriendo Debian "jessie":
# uname -a
Linux javier 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-1 (2016-03-06)
x86_64 GNU/Linux

¿Qué quiero hacer?
Que los equipos conectados por WiFi a la placa wlan0 accedan a internet
a través de la placa eth1.


Tengo una red cableada a Internet:
# ifconfig eth1
eth1  Link encap:Ethernet  HWaddr a0:f3:c1:01:da:92
   inet addr:192.168.2.52  Bcast:192.168.2.255  Mask:255.255.255.0
   inet6 addr: fe80::a2f3:c1ff:fe01:da92/64 Scope:Link
   UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
   RX packets:1523 errors:0 dropped:0 overruns:0 frame:0
   TX packets:1596 errors:0 dropped:0 overruns:0 carrier:0
   collisions:0 txqueuelen:1000
   RX bytes:705060 (688.5 KiB)  TX bytes:299878 (292.8 KiB)

Me conecto a dicha red mediante un portal cautivo provisto por un
servido ZeroShell, sobre el cual me identifico con un "script" en python.

Tengo una placa de red inalámbrica que provee servicio dhcp para mis
otros aparatos:

En otro entorno más "natural", lo que he hecho toda mi vida, fue montar
un puente br0 desde eth1 a wlan0.
El problema que tengo es que en este lugar, debo pasar por el portal
cautivo, y el maldito no me permite más de una conexión con una mac
definida. Los puentes (bridges), generan una nueva MAC, y asignan
direcciones IP del servidor. Y como dije, con una clave, no puedo tener
más de una conexión. Y el BAFH no me da otra clave de acceso.

Por lo que presto y diligente, decidí hacer una conexión NAT.
Para ello, monté un servidor dhcp con isc-dhcp-server, el cual da su
servicio a través de la placa inalámbrica:
# ifconfig wlan0
wlan0 Link encap:Ethernet  HWaddr 00:87:30:23:0e:a8
   inet addr:192.168.5.1  Bcast:192.168.5.255  Mask:255.255.255.0
   inet6 addr: fe80::287:30ff:fe23:ea8/64 Scope:Link
   UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
   RX packets:265 errors:0 dropped:0 overruns:0 frame:0
   TX packets:861 errors:0 dropped:0 overruns:0 carrier:0
   collisions:0 txqueuelen:1000
   RX bytes:12142 (11.8 KiB)  TX bytes:60578 (59.1 KiB)

Mi celular se conecta al enrutador configurado sin inconvenientes:
# ping 192.168.5.10 -c 3
PING 192.168.5.10 (192.168.5.10) 56(84) bytes of data.
64 bytes from 192.168.5.10: icmp_seq=1 ttl=64 time=150 ms
64 bytes from 192.168.5.10: icmp_seq=2 ttl=64 time=195 ms
64 bytes from 192.168.5.10: icmp_seq=3 ttl=64 time=203 ms
--- 192.168.5.10 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 150.223/183.033/203.074/23.394 ms


He intentado montar una NAT de no menos de 30 formas distintas, y no
logro hacer que el navegador del celular vea internet.
Las órdenes que he estado utilizando básicamente son

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i wlan0 -j ACCEPT

Que, si la teoría no me falla, enmascara eth1, y reenvía los paquetes
que vienen de wlan0.

# iptables -t nat -L -v
Chain PREROUTING (policy ACCEPT 3 packets, 545 bytes)
  pkts bytes target prot opt in out source destination

Chain INPUT (policy ACCEPT 2 packets, 307 bytes)
  pkts bytes target prot opt in out source destination

Chain OUTPUT (policy ACCEPT 58 packets, 5878 bytes)
  pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 36 packets, 2841 bytes)
  pkts bytes target prot opt in out source destination
22  3037 MASQUERADE  all  --  anyeth1anywhere anywhere

Las reglas de iptables, las he variado en muchas formas, y realmente, ya
no sé qué hacer.
Otros ejemplo que he usado:

iptables -t nat -A POSTROUTING ! -d 192.168.5.0/24 -o eth1 -j SNAT
--to-source 192.168.2.52

También:
iptables -t nat -A POSTROUTING ! -d 192.168.5.0/24 -o eth1 -j MASQUERADE

Bueno. No funciona.
El teléfono no tiene accesos a internet.
Google no me da la solución.

Escucho ofertas

Muchas gracias en adelanto.

JAP





TIP:
"El orden de las interfaces en /etc/network/interfaces,
ALTERA EL PRODUCTO"

He solucionado el problema.

Mi red tiene ADEMÁS de las dos que mencioné, una interfaz en el segmento 
10.0.0.0.
Yo estaba haciendo todo bien, salvo que el ORDEN de inicio de las 
interfaces estaba generando el problema.

Como "receta" para el futuro, transcribo todo lo que hice.


CÓMO COMPARTIR POR WiFi UNA CONEXIÓN DE RED EN UN AMBIENTE MUY 
CONTROLADO POR UN BAFH.


Entorno:
Una red corporativa conectada a eth0 en el segmento 10.0.0.0
Una red internet, conectada a un enrutador de portal cautivo ZeroShell a 
eth1 en el segmento 192.168.2.0/24
Una red WiFi, como enrutador privado, conectado a wlan0, en el segmento 
192.128.0.0/24


¿Qué queremos hacer?
Habilitar la conexión de aparatos con WiFi, como una NAT hacia internet.
Es de destacar que el portal cautivo SÓLO PERMITE

Re: NAT sobre WLAN

2016-06-08 Por tema Camaleón
El Wed, 08 Jun 2016 12:50:23 -0300, JAP escribió:

> El 08/06/16 a las 12:43, Camaleón escribió:

(...)

>>> He intentado tu consejo.
>>> El clonado hace que aparezca otra interfaz con la misma MAC, pero como
>>> es un Portal Cautivo ZeroShell, me pide la contraseña nuevamente, y
>>> por ende, no me deja tener más de una sesión abierta.
>>
>> Pues echa un ojo a ver cómo funciona ese portal, si conoces a tu
>> enemigo podrás derrotarlo :-)
>>
>> The enemies of the Captive Portal
>> http://www.zeroshell.org/hotspot-router/#issues
>>
> Eso lo he estudiado a fondo, y por ello mi sistema tiene un script
> python en vez de andar trasteando con una pantalla del navegador siempre
> abierto.

¿Y ya sabes qué tipo de filtro aplica ese portal? Por número de sesiones 
no es, desde luego y según dices, por MAC tampoco.

>>> Lo que me "vuela" la cabeza, es que con VirtualBox, armé una NAT
>>> interna, y es transparente para las máquinas virtuales.
>>
>> ¿Quieres decir que desde una máquina virtual de VB te permitía acceder
>> al portal?
>>
> Sí. Accede en forma transparente.
> Por eso no entiendo qué estoy haciendo mal.

¿Qué tipo de sistema red tienes configurada en el adaptador de la máquina 
virtual?

Saludos,

-- 
Camaleón



Re: NAT sobre WLAN

2016-06-08 Por tema JAP

El 08/06/16 a las 12:43, Camaleón escribió:

El Wed, 08 Jun 2016 12:08:28 -0300, JAP escribió:


El 08/06/16 a las 10:52, Camaleón escribió:

(...)

Un truco muy habitual que solían hacer los clientes de Ono (antigua
operadora de cable en España) era clonar la MAC de todos los equipos de
la red interna (de su casa) para poder acceder a Internet a través del
cable-módem que la operadora les instalaba.

Cuento esto porque quizá te sirva hacer lo mismo en tu caso, teniendo
en cuenta que el portal cautivo es el que te impide la conexión,
seguramente mediante técnicas similares de identificación de los
clientes.



He intentado tu consejo.
El clonado hace que aparezca otra interfaz con la misma MAC, pero como
es un Portal Cautivo ZeroShell, me pide la contraseña nuevamente, y por
ende, no me deja tener más de una sesión abierta.


Pues echa un ojo a ver cómo funciona ese portal, si conoces a tu enemigo
podrás derrotarlo :-)

The enemies of the Captive Portal
http://www.zeroshell.org/hotspot-router/#issues

Eso lo he estudiado a fondo, y por ello mi sistema tiene un script 
python en vez de andar trasteando con una pantalla del navegador siempre 
abierto.




Lo que me "vuela" la cabeza, es que con VirtualBox, armé una NAT
interna, y es transparente para las máquinas virtuales.


¿Quieres decir que desde una máquina virtual de VB te permitía acceder al
portal?


Sí. Accede en forma transparente.
Por eso no entiendo qué estoy haciendo mal.



Saludos,





Re: NAT sobre WLAN

2016-06-08 Por tema Camaleón
El Wed, 08 Jun 2016 12:08:28 -0300, JAP escribió:

> El 08/06/16 a las 10:52, Camaleón escribió:
>> (...)
>>
>> Un truco muy habitual que solían hacer los clientes de Ono (antigua
>> operadora de cable en España) era clonar la MAC de todos los equipos de
>> la red interna (de su casa) para poder acceder a Internet a través del
>> cable-módem que la operadora les instalaba.
>>
>> Cuento esto porque quizá te sirva hacer lo mismo en tu caso, teniendo
>> en cuenta que el portal cautivo es el que te impide la conexión,
>> seguramente mediante técnicas similares de identificación de los
>> clientes.
>>
> 
> He intentado tu consejo.
> El clonado hace que aparezca otra interfaz con la misma MAC, pero como
> es un Portal Cautivo ZeroShell, me pide la contraseña nuevamente, y por
> ende, no me deja tener más de una sesión abierta.

Pues echa un ojo a ver cómo funciona ese portal, si conoces a tu enemigo 
podrás derrotarlo :-)

The enemies of the Captive Portal
http://www.zeroshell.org/hotspot-router/#issues

> Lo que me "vuela" la cabeza, es que con VirtualBox, armé una NAT
> interna, y es transparente para las máquinas virtuales.

¿Quieres decir que desde una máquina virtual de VB te permitía acceder al 
portal?

Saludos,

-- 
Camaleón



Re: NAT sobre WLAN

2016-06-08 Por tema JAP

El 08/06/16 a las 10:52, Camaleón escribió:

(...)

Un truco muy habitual que solían hacer los clientes de Ono (antigua
operadora de cable en España) era clonar la MAC de todos los equipos de
la red interna (de su casa) para poder acceder a Internet a través del
cable-módem que la operadora les instalaba.

Cuento esto porque quizá te sirva hacer lo mismo en tu caso, teniendo en
cuenta que el portal cautivo es el que te impide la conexión, seguramente
mediante técnicas similares de identificación de los clientes.

Saludos,

-- Camaleón


He intentado tu consejo.
El clonado hace que aparezca otra interfaz con la misma MAC, pero como 
es un Portal Cautivo ZeroShell, me pide la contraseña nuevamente, y por 
ende, no me deja tener más de una sesión abierta.


Lo que me "vuela" la cabeza, es que con VirtualBox, armé una NAT 
interna, y es transparente para las máquinas virtuales.


JAP



Re: NAT sobre WLAN

2016-06-08 Por tema Camaleón
El Tue, 07 Jun 2016 15:34:45 -0300, JAP escribió:

> Tengo un equipo corriendo Debian "jessie":
> # uname -a Linux javier 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-1
> (2016-03-06) x86_64 GNU/Linux
> 
> ¿Qué quiero hacer?
> Que los equipos conectados por WiFi a la placa wlan0 accedan a internet
> a través de la placa eth1.
> 
> 
> Tengo una red cableada a Internet:
> # ifconfig eth1 eth1  Link encap:Ethernet  HWaddr a0:f3:c1:01:da:92
>inet addr:192.168.2.52  Bcast:192.168.2.255 
>Mask:255.255.255.0 inet6 addr: fe80::a2f3:c1ff:fe01:da92/64
>Scope:Link UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>RX packets:1523 errors:0 dropped:0 overruns:0 frame:0 TX
>packets:1596 errors:0 dropped:0 overruns:0 carrier:0
>collisions:0 txqueuelen:1000 RX bytes:705060 (688.5 KiB)  TX
>bytes:299878 (292.8 KiB)
> 
> Me conecto a dicha red mediante un portal cautivo provisto por un
> servido ZeroShell, sobre el cual me identifico con un "script" en
> python.
> 
> Tengo una placa de red inalámbrica que provee servicio dhcp para mis
> otros aparatos:
> 
> En otro entorno más "natural", lo que he hecho toda mi vida, fue montar
> un puente br0 desde eth1 a wlan0.
> El problema que tengo es que en este lugar, debo pasar por el portal
> cautivo, y el maldito no me permite más de una conexión con una mac
> definida. Los puentes (bridges), generan una nueva MAC, y asignan
> direcciones IP del servidor. Y como dije, con una clave, no puedo tener
> más de una conexión. Y el BAFH no me da otra clave de acceso.

(...)

Un truco muy habitual que solían hacer los clientes de Ono (antigua  
operadora de cable en España) era clonar la MAC de todos los equipos de 
la red interna (de su casa) para poder acceder a Internet a través del 
cable-módem que la operadora les instalaba.

Cuento esto porque quizá te sirva hacer lo mismo en tu caso, teniendo en 
cuenta que el portal cautivo es el que te impide la conexión, seguramente 
mediante técnicas similares de identificación de los clientes.

Saludos,

-- 
Camaleón



Re: NAT sobre WLAN

2016-06-07 Por tema JavierDebian

El 07/06/16 a las 18:59, fernando sainz escribió:

¿has habilidato el ip_forwarding?

# Habilitamos el ip forwarding.
echo 1 > /proc/sys/net/ipv4/ip_forward


S2.


Básico.
Es lo primero que se hace.
Es más, está habilitado desde el /etc/sysctl.conf.

JAP



Re: NAT sobre WLAN

2016-06-07 Por tema fernando sainz
El día 7 de junio de 2016, 20:34, JAP  escribió:
> Estimados:
>
> Una vez más, yo peleándome con las redes.
> Paso a explicar.
>
> Tengo un equipo corriendo Debian "jessie":
> # uname -a
> Linux javier 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-1 (2016-03-06) x86_64
> GNU/Linux
>
> ¿Qué quiero hacer?
> Que los equipos conectados por WiFi a la placa wlan0 accedan a internet a
> través de la placa eth1.
>
>
> Tengo una red cableada a Internet:
> # ifconfig eth1
> eth1  Link encap:Ethernet  HWaddr a0:f3:c1:01:da:92
>   inet addr:192.168.2.52  Bcast:192.168.2.255  Mask:255.255.255.0
>   inet6 addr: fe80::a2f3:c1ff:fe01:da92/64 Scope:Link
>   UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>   RX packets:1523 errors:0 dropped:0 overruns:0 frame:0
>   TX packets:1596 errors:0 dropped:0 overruns:0 carrier:0
>   collisions:0 txqueuelen:1000
>   RX bytes:705060 (688.5 KiB)  TX bytes:299878 (292.8 KiB)
>
> Me conecto a dicha red mediante un portal cautivo provisto por un servido
> ZeroShell, sobre el cual me identifico con un "script" en python.
>
> Tengo una placa de red inalámbrica que provee servicio dhcp para mis otros
> aparatos:
>
> En otro entorno más "natural", lo que he hecho toda mi vida, fue montar un
> puente br0 desde eth1 a wlan0.
> El problema que tengo es que en este lugar, debo pasar por el portal
> cautivo, y el maldito no me permite más de una conexión con una mac
> definida. Los puentes (bridges), generan una nueva MAC, y asignan
> direcciones IP del servidor. Y como dije, con una clave, no puedo tener más
> de una conexión. Y el BAFH no me da otra clave de acceso.
>
> Por lo que presto y diligente, decidí hacer una conexión NAT.
> Para ello, monté un servidor dhcp con isc-dhcp-server, el cual da su
> servicio a través de la placa inalámbrica:
> # ifconfig wlan0
> wlan0 Link encap:Ethernet  HWaddr 00:87:30:23:0e:a8
>   inet addr:192.168.5.1  Bcast:192.168.5.255  Mask:255.255.255.0
>   inet6 addr: fe80::287:30ff:fe23:ea8/64 Scope:Link
>   UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
>   RX packets:265 errors:0 dropped:0 overruns:0 frame:0
>   TX packets:861 errors:0 dropped:0 overruns:0 carrier:0
>   collisions:0 txqueuelen:1000
>   RX bytes:12142 (11.8 KiB)  TX bytes:60578 (59.1 KiB)
>
> Mi celular se conecta al enrutador configurado sin inconvenientes:
> # ping 192.168.5.10 -c 3
> PING 192.168.5.10 (192.168.5.10) 56(84) bytes of data.
> 64 bytes from 192.168.5.10: icmp_seq=1 ttl=64 time=150 ms
> 64 bytes from 192.168.5.10: icmp_seq=2 ttl=64 time=195 ms
> 64 bytes from 192.168.5.10: icmp_seq=3 ttl=64 time=203 ms
> --- 192.168.5.10 ping statistics ---
> 3 packets transmitted, 3 received, 0% packet loss, time 1999ms
> rtt min/avg/max/mdev = 150.223/183.033/203.074/23.394 ms
>
>
> He intentado montar una NAT de no menos de 30 formas distintas, y no logro
> hacer que el navegador del celular vea internet.
> Las órdenes que he estado utilizando básicamente son
>
> iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
> iptables -A FORWARD -i wlan0 -j ACCEPT
>
> Que, si la teoría no me falla, enmascara eth1, y reenvía los paquetes que
> vienen de wlan0.
>
> # iptables -t nat -L -v
> Chain PREROUTING (policy ACCEPT 3 packets, 545 bytes)
>  pkts bytes target prot opt in out source destination
>
> Chain INPUT (policy ACCEPT 2 packets, 307 bytes)
>  pkts bytes target prot opt in out source destination
>
> Chain OUTPUT (policy ACCEPT 58 packets, 5878 bytes)
>  pkts bytes target prot opt in out source destination
>
> Chain POSTROUTING (policy ACCEPT 36 packets, 2841 bytes)
>  pkts bytes target prot opt in out source destination
>22  3037 MASQUERADE  all  --  anyeth1anywhere anywhere
>
> Las reglas de iptables, las he variado en muchas formas, y realmente, ya no
> sé qué hacer.
> Otros ejemplo que he usado:
>
> iptables -t nat -A POSTROUTING ! -d 192.168.5.0/24 -o eth1 -j SNAT
> --to-source 192.168.2.52
>
> También:
> iptables -t nat -A POSTROUTING ! -d 192.168.5.0/24 -o eth1 -j MASQUERADE
>
> Bueno. No funciona.
> El teléfono no tiene accesos a internet.
> Google no me da la solución.
>
> Escucho ofertas
>
> Muchas gracias en adelanto.
>
> JAP
>


¿has habilidato el ip_forwarding?

# Habilitamos el ip forwarding.
echo 1 > /proc/sys/net/ipv4/ip_forward


S2.