obligada > comp.os.* > comp.os.linux.redes

perepujal (04-04-2016, 23:23)
Hola,

A partir d'aquesta configuració, Com afegir un acces públic a internet que NO tingui accés a la xarxa local?

<es> A partir de esta configuración, ¿Cómo añadir un acceso público a internet que NO tenga acceso a la red local? </es>

localcable 191.168.1.x Ç(impressores, desktops...)
|
v
internet<->livebox<cable>routerwifi<->localwifi 192.168.1.x(tablets,portàtils)

livebox=servidor DHCP
routerwifi= antic router de jazztel

Gràcies
Pere
Carlos E.R. (05-04-2016, 03:13)
On 2016-04-04 23:23, perepujal wrote:
> Hola,


> <es> A partir de esta configuración, ¿Cómo añadir un acceso público a internet que NO tenga acceso a la red local? </es>


Se ponen esas máquinas en otra red distinta de la red local. Y pones un
router frente a Internet que separe ambas redes. Permite la conexión a
internet de ambas, pero no la interconexión de ambas.
Gonzalo Pérez de Olaguer Córdoba (05-04-2016, 13:00)
Hola, Pere.

Se podría decir que "estrenas" el grupo :-)

El Mon, 4 Apr 2016 14:23:06 -0700 (PDT)
perepujal escribió:

> <es> A partir de esta configuración, ¿Cómo añadir un acceso público a internet que NO tenga acceso a la red local? </es>
> localcable 191.168.1.x Ç(impressores, desktops...)
> |
> v
> internet<->livebox<cable>routerwifi<->localwifi 192.168.1.x(tablets,portàtils)
> livebox=servidor DHCP
> routerwifi= antic router de jazztel


Pues existen muchas posibilidades, aunque probablemente la más sencilla y
segura, si el livebox permite hacer esto, sería configurarlo para que dé conexión a
esos dispositivos con acceso público a través de algún interfaz de red que no
se esté usando para las conexiones a la red local, y que enrute el
tráfico de ese interfaz hacia Internet, pero lo bloquee si se intenta
acceder a cualquier otro sitio.

Saludos,
Gonzalo.
perepujal (06-04-2016, 01:25)
Hola Gonzalo,

El dimarts, 5 abril de 2016 13:00:35 UTC+2, Gonzalo Pérez de Olaguer Córdoba va escriure:
> Hola, Pere.
> Se podría decir que "estrenas" el grupo :-)


Re-estreno, hace años que no posteaba :)

> El Mon, 4 Apr 2016 14:23:06 -0700 (PDT)
> perexxx escribió:
> Pues existen muchas posibilidades, aunque probablemente la más sencillay
> segura, si el livebox permite hacer esto, sería configurarlo para que dé conexión a
> esos dispositivos con acceso público a través de algún interfaz de red que no
> se esté usando para las conexiones a la red local, y que enrute el
> tráfico de ese interfaz hacia Internet, pero lo bloquee si se intenta
> acceder a cualquier otro sitio.


Lo he estado mirando y parece que no lo permite(o al menos no he sido capazde encontrarlo), en la línea añadir un equipo que separe la red pública de la privada se me ocurre que tal vez una rapsberry pi conectada por cable al livebox y sirviendo por wifi al acceso público podría bloquear el acceso a la red privada y al mismo tiempo permitir el acceso a internet.

Funcionaría? Consejos, comentarios?

Gracias
Pere
Gonzalo Pérez de Olaguer Córdoba (06-04-2016, 09:54)
Hola, Pere.

El Tue, 5 Apr 2016 16:25:48 -0700 (PDT)
perepujal escribió:

> Lo he estado mirando y parece que no lo permite [...]
> [...] tal vez una rapsberry pi conectada por cable al livebox y sirviendopor wifi [...]


Sí. En realidad, cualquier dispositivo que tenga acceso a Internet en cualquier punto
de la red te permite dar acceso público controlado a otros. Basta con que haga enmascaramiento
para acceder a Internet *él mismo* en nombre de *sus clientes*:

- el equipo que hará de enlace es un equipo normal dentro de la red actual
- suministra acceso (vía wifi, por ejemplo) a los equipos públicos (sus clientes)
- se configura como router/firewall así:

- tráfico público -> Internet: permitido, con enmascaramiento
- respuestas a ese tráfico: permitidas
- tráfico público -> cualquier cosa local: prohibido
- tráfico público -> público: prohibido

Si no sabes qué es el enmascaramiento googlea *Linux masquerading*.

Saludos,
Gonzalo.
Carlos E.R. (06-04-2016, 12:32)
On 2016-04-06 09:54, Gonzalo Pérez de Olaguer Córdoba wrote:
> Hola, Pere.


[..]
> - tráfico público -> cualquier cosa local: prohibido
> - tráfico público -> público: prohibido
> Si no sabes qué es el enmascaramiento googlea *Linux masquerading*.


El problema es que cualquier equipo que esté en el mismo rango de IPs
locales que esa subred en principio tendría acceso. Tendrías que
diferenciar el tráfico por interfase, no sólo por IP.

Y eso es lo que entiendo que no quiere:

|> <es> A partir de esta configuración, ¿Cómo añadir un acceso público a
internet que NO tenga acceso a la red local? </es>

A no ser que lo que esté diciendo es que desde la red pública no haya
acceso a la red local, y viceversa si. Para eso no hay que hacer nada,
cualquier router de acceso a internet lo hace por defecto: primero
porque usa NAT, y segundo por el cortafuegos.

En cuanto venga el IPv6 la cosa cambia.
perepujal (10-05-2016, 01:28)
El dimecres, 6 abril de 2016 12:35:09 UTC+2, Carlos E.R. va escriure:
> On 2016-04-06 09:54, Gonzalo Pérez de Olaguer Córdoba wrote:
> El problema es que cualquier equipo que esté en el mismo rango de IPs
> locales que esa subred en principio tendría acceso. Tendrías que
> diferenciar el tráfico por interfase, no sólo por IP.


Esta semana me ha llegado la rpi, la he configurado según esta página, daba acceso wifi público pero aún podía acceder desde los equipos conectados por wifi público a mi red local.
Después de leer un rato sobre iptables, le añadí un par de reglas a la rpi y "parece" que ya no hay conexión entre las redes

página, sólo he tenido que modificar el servidor dns para que apuntara al livebox, todo lo demás lo he seguido al pie de la letra.


reglas añadidas por mi
-A FORWARD -s 172.24.1.0/24 -d 192.168.1.0/24 -j DROP
-A FORWARD -s 192.168.1.0/24 -d 172.24.1.0/24 -j DROP

Le veis algún fallo?
Comentarios, consejos?

Gracias
Pere
Gonzalo Pérez de Olaguer Córdoba (11-05-2016, 07:23)
Hola, Pere.

El Mon, 9 May 2016 16:28:44 -0700 (PDT)
perepujal escribió:

> El dimecres, 6 abril de 2016 12:35:09 UTC+2, Carlos E.R. va escriure:
> Esta semana me ha llegado la rpi, la he configurado según esta página, daba acceso wifi público pero aún podía acceder desde los equipos conectados por wifi público a mi red local.
> Después de leer un rato sobre iptables, le añadí un par dereglas a la rpi y "parece" que ya no hay conexión entre las redes
> página, sólo he tenido que modificar el servidor dns para que apuntara al livebox, todo lo demás lo he seguido al pie de la letra.
>
> reglas añadidas por mi
> -A FORWARD -s 172.24.1.0/24 -d 192.168.1.0/24 -j DROP
> -A FORWARD -s 192.168.1.0/24 -d 172.24.1.0/24 -j DROP
> Le veis algún fallo?
> Comentarios, consejos?


Si quieres seguridad tendrás que ser bastante más restrictivo,
porque cualquiera puede inyectar paquetes con IP spoofing
(direcciones de origen o destino falsas) desde cualquier sitio.

Por ejemplo, ¿qué pasa si te llega por wifi un paquete con IP
de origen 192.168.1.7 y destino 192.168.1.9? Las reglas añadidas
por tí no hacen nada, y el forward wlan0 -> eth0 dejará pasar
el paquete.

Que yo sepa, el único enrutamiento que quieres hacer es:

wifi -> internet (con enmascaramiento)
internet -> wifi (en repuesta a dicho enmascaramiento)

por tanto yo metería algo así:

# inicializa forwarding para impedirlo todo
echo 0 > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD DROP
iptables -F FORWARD

# para bloquear la comunicación entre los dispositivos
# que se conecten a la wifi y la propia RPi
iptables -A INPUT -i wlan0 -j LOG
iptables -A INPUT -i wlan0 -j DROP
iptables -A OUTPUT -o wlan0 -j LOG
iptables -A OUTPUT -o wlan0 -j DROP

# para bloquear todo lo que venga de la wifi y tenga una
# IP de destino privada (incluida la propia wifi)
iptables -A FORWARD -i wlan0 -d 10.0.0.0/8 -j LOG
iptables -A FORWARD -i wlan0 -d 10.0.0.0/8 -j DROP
iptables -A FORWARD -i wlan0 -d 172.16.0.0/12 -j LOG
iptables -A FORWARD -i wlan0 -d 172.16.0.0/12 -j DROP
iptables -A FORWARD -i wlan0 -d 192.168.0.0/16 -j LOG
iptables -A FORWARD -i wlan0 -d 192.168.0.0/16 -j DROP

# para bloquear todo lo que venga de la wifi y tenga una
# IP de origen falsa
iptables -A FORWARD -i wlan0 ! -s 172.24.1.0/24 -j LOG
iptables -A FORWARD -i wlan0 ! -s 172.24.1.0/24 -j DROP

# ahora ya puedes enmascarar wifi -> internet
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -i wlan0 -o eth0 -j MASQUERADE

# permitir los paquetes de sesiones ya establecidas
iptables -A FORWARD -j ACCEPT -m state --state RELATED,ESTABLISHED

# cualquier otro enrutamiento debe rechazarse
iptables -A FORWARD -j LOG
iptables -A FORWARD -j DROP

# finalmente activa forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

Las líneas -j LOG antes de -j DROP son para que se registre
el rechazo. Te serán útiles para saber qué se está haciendo,
y para detectar intentos de uso fraudulento.

DISCLAIMER: podría haberme equivocado. No lo he verificado.

Saludos,
Gonzalo.
perepujal (16-05-2016, 11:21)
Hola Gonzalo, le he tenido que hacer un par de modificaciones, a ver que tal ahora.

Gracias

El dimecres, 11 maig de 2016 7:23:27 UTC+2, Gonzalo Pérez de Olaguer Córdoba va escriure:

> Que yo sepa, el único enrutamiento que quieres hacer es:
> wifi -> internet (con enmascaramiento)
> internet -> wifi (en repuesta a dicho enmascaramiento)
> por tanto yo metería algo así:
> # inicializa forwarding para impedirlo todo
> echo 0 > /proc/sys/net/ipv4/ip_forward
> iptables -P FORWARD DROP
> iptables -F FORWARD


Aquí le he tenido que abrir los puertos de dhcp porque los equipos en la wifi no cogían IP
# aceptar demandas de dhcp
iptables -A INPUT -i wlan0 -p tcp -m tcp --sport 68 --dport 67 -j ACCEPT
iptables -A INPUT -i wlan0 -p udp -m udp --sport 68 --dport 67 -j ACCEPT
iptables -A OUTPUT -s 172.24.1.1 -p tcp -m tcp --sport 67 --dport 68 -j ACCEPT
iptables -A OUTPUT -s 172.24.1.1 -p udp -m udp --sport 67 --dport 68 -j ACCEPT

[..]
> iptables -A FORWARD -i wlan0 ! -s 172.24.1.0/24 -j DROP
> # ahora ya puedes enmascarar wifi -> internet
> iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT


Esta regla daba error, parece que -i con POSTROUTING no van juntos
#iptables -t nat -A POSTROUTING -i wlan0 -o eth0 -j MASQUERADE
La he cambiado por esta otra, por supuesto después de cambiar el rangode IPs asignadas por dhcp a 172.24.1.129 <-> 172.24.1.254
iptables -t nat -A POSTROUTING -s 172.24.1.128/25 -o eth0 -j MASQUERADE

[..]
> DISCLAIMER: podría haberme equivocado. No lo he verificado.
> Saludos,
> Gonzalo.

Gracias
Pere
Temas Similares