iptables reenvía todo excepto el servidor local

iptables reenvía todo excepto el servidor local

Estas son las reglas que estoy usando:

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface wlan5 -j MASQUERADE
iptables --append FORWARD --in-interface wlan3 -j ACCEPT

Tengo wlan5 con 192.168.1.100 y wlan3 con 10.0.0.1. Hago de mi portátil un repetidor wifi con 2 tarjetas wifi.

Entonces la gente se conecta a wlan3, la puerta de enlace es 10.0.0.1 y todo se redirige a wlan5 [gw 192.168.1.1].

Ahora, esto está funcionando muy bien,exceptoNo puedo acceder a un servidor HTTP local alojado en mi computadora portátil. Está alojado en mi computadora portátil y funciona como localhost o 10.0.0.1:

$ curl -I 10.0.0.1
HTTP/1.1 301 Moved Permanently
Date: Tue, 26 Feb 2013 02:35:32 GMT
Server: Apache/2.2.22 (Ubuntu)
Location: http://10.0.0.1/index.php
Vary: Accept-Encoding
Content-Type: text/html; charset=iso-8859-1

Bien, aquí es donde surge el problema. Un cliente en mi red compartida [wlan3] con IP 10.0.0.20 intenta acceder a 10.0.0.1:80 y no puede conectarse:

$ wget http://10.0.0.1                                       
Connecting to 10.0.0.1 (10.0.0.1:80)
wget: can't connect to remote host (10.0.0.1): Connection refused

Puede hacer ping a 10.0.0.1 e incluso hacer ping a IP externa. entonces tiene conexión a Internet, que es el punto, pero no puede acceder a HTTP, creo que debido a las reglas de iptables. Justo después del error, aparece esto en el syslog de mi computadora portátil:

Feb 25 21:36:19 toshi kernel: [57806.285170] Inbound IN=wlan3 OUT= MAC=9c:b7:0d:a5:45:67:a8:26:d9:3e:04:21:08:00 SRC=10.0.0.20 DST=10.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=28282 DF PROTO=TCP SPT=58343 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0 

Entonces la pregunta es, ¿cómo puedo excluir el reenvío de solicitudes de IP a 10.0.0.1 y no a wlan5?

Gracias

Respuesta1

Editar: una vez más, después de que pensé que el problema estaba solucionado, simplemente dejó de funcionar nuevamente sin que yo emitiera NO más comandos de iptables. No puedo entender por qué sigue funcionando y luego no funciona. >.<


Encontré un comando de iptables diferente que funciona para compartir mi Internet desde 1 dispositivo wifi [de largo alcance] a otro [interno]:

iptables -t nat -A POSTROUTING -o wlan5 -j MASQUERADE

en lugar de los comandos de iptables en la pregunta. Y esto hace que todavía pueda acceder a Internet y seguir accediendo a http/ssh en 10.0.0.1 desde 10.0.0.20.

Respuesta2

Eliptables-save producciónque publicó muestra las siguientes cadenas personalizadas en la tabla de filtros: ENTRANTE, SALIENTE, LOG_FILTER, LSI y LSO. Firestarter crea 5 cadenas, todas con nombres exactamente así.

Estoy seguro de que tu problema es causado por Firestarter. Ábrelo y comprueba si realmente está deshabilitado.

Referencias:

información relacionada