Estoy tratando de configurar un firewall transparente usando ArchLinux.
Mi configuración se ve así:
(ISP, IP: 10.90.10.254) \ \ \ (eth0-> ip: 10.90.10.1 gateway: 10.90.10.254) +-----------+ | | | PC | |(as server)| +-----------+ \ (eth1-> ip: 10.90.10.100) \ \ (10.90.10.101)\ | (wireless-> ip-range: 10.90.10.102-) +-------+ |Router | +-------+
Mi enrutador no tiene capacidades de cortafuegos, por lo tanto, necesito colocar un cortafuegos entre el enrutador y mi ISP.
Comentarios
- ¿Máscaras de red? ¿Quieres eth0 y eth1 en " PC " puenteados?
- Es inusual tener el " servidor " en la conexión del ISP y el " enrutador " detrás del servidor …
- @HaukeLaging sí, es ' inusual, pero necesito aplicar algunas reglas de firewall y control de tráfico, y el enrutador no ' no tiene estas funcionalidades
- Cuando dices " router " , ¿realmente te refieres a " punto de acceso inalámbrico "? Seguro que lo parece …
- @derobert sí, me refiero a un realmente enrutador, un Dlink … Configuré la red con la respuesta de Cha0s y ahora está funcionando como se esperaba!
Respuesta
Para lograr eso, debe poner eth0 y eth1 en modo puente en la PC y darle 1 ip al puente interfaz (no en los eths individuales)
Estos son los conceptos básicos sobre la creación de puentes en Linux, para comenzar http://www.tldp.org/HOWTO/BRIDGE-STP-HOWTO/index.html
Dependiendo de su distribución, puede haber una forma más rápida / mejor de hacer puentes.
Ahora, el rango de IP inalámbrica que mencionó, no se puede especificar mediante alguna configuración . Depende de usted qué IP asignará dónde.
Tal vez pueda controlar eso a través de DHCP, pero depende de su configuración y necesidades generales.
Comentarios
- Ok, ' leeré … Yo uso ArchLinux, luego ' ll haz una búsqueda en ArchWiki. ¡Gracias por tu respuesta!
- Configuré el puente usando netctl (Archlinux default ' s), después de esto configuro el enrutador (D-Link DI-524) en modo puente también, entonces ahora mi red también está funcionando, ¡gracias de nuevo!
- Tenga en cuenta que con una configuración puenteada, sus reglas de firewall de iptables normales no se aplicarán. Es posible que tenga algo de suerte con
ebtables
si desea utilizar un firewall, pero ' recomendaría una configuración enrutada.
Respuesta
Primero debe habilitar la traducción de direcciones de red:
Inserte esta línea
net.ipv4.ip_forward = 1
a
/etc/sysctl.conf
(después de insertar la línea, el efecto toma inmediatamente) y agregar la regla de firewall:
iptables -t NAT -A POSTROUTING -! o lo -j MASQUERADE
Y ahora la red inalámbrica puede enviar paquetes a través de la PC del servidor al ISP
Una sugerencia más: deshabilite «todos» el acceso al servidor y habilite solo lo que realmente necesita:
iptables -P INPUT DROP
iptables -A INPUT -m state –state RELATED, ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -m estado –state NEW -j ACCPET
esta configuración deshabilita el flujo de paquetes predeterminado «todos permitidos», está deshabilitado para conectarse desde el ISP (y WAN) a los puertos del servidor, habilita las conexiones externas desde la red inalámbrica.
Si necesita abrir los puertos del servidor en el firewall:
iptables – A INPUT -p tcp -m tcp –dport 22 -j ACCEPT
reemplace tcp por udp si es necesario, y los rangos de puertos pueden agregue con from: to pattern.
si algo va mal y cierre usted mismo, puede restablecer las reglas del firewall:
iptables -F
La forma más fácil, si instala un webmin en su sistema de servidor, tiene una excelente GUI de configuración de firewall. Pero recuerde siempre el comando «iptables -F» si se cierra y no puede acceder a webmin
Comentarios
- I ' he intentado esto pero no ' t funciona, eth0: 10.90.10.1/24; eth1: 10.90.10.100/24; enrutador: 10.90.10.101/24;
% sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1
% sudo iptables -t nat -L -n [...] Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0
PD: Cambié la regla de iptables por# iptables -t nat -A POSTROUTING ! -o lo -j MASQUERADE
Respuesta
Eso debería ser posible (desde la perspectiva del servidor) si define eth0 (y quizás eth1 también) como una interfaz de punto a punto (consulte man ip-address
, peer
).
En mi opinión, la selección de dirección es una mala idea en todos los aspectos Las redes de eth1 y la WLAN no deben superponerse.Eso no es posible si eth1 no es una interfaz punto a punto y la WLAN comienza en 102.
Peor aún en el enrutador: su IP de LAN es parte de la red WLAN, por lo que tendría que ser p2p también (¿se puede configurar en el enrutador?).