iptables encaminhando todos os servidores locais excluídos

1

Estas são as regras que estou 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

Eu tenho wlan5 com 192.168.1.100 e wlan3 com 10.0.0.1. Eu faço meu laptop um repetidor de wifi com 2 cartões de wifi.

Para que as pessoas se conectem ao wlan3, o gateway é o 10.0.0.1 e tudo redireciona para o wlan5 [gw 192.168.1.1].

Agora, isso está funcionando muito bem, exceto não consigo acessar um servidor HTTP local hospedado no meu laptop. Ele está hospedado no meu laptop e funciona como host local ou 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

Ok, então aqui é onde o problema surge. Um cliente na minha rede de compartilhamento [wlan3] com IP 10.0.0.20 tenta acessar 10.0.0.1:80 e não pode se conectar:

$ 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

Ele pode pingar 10.0.0.1 e até pingar IP externo. então tem conexão com a internet, que é o ponto, mas não consegue acessar o HTTP, acredito por causa das regras do iptables. logo após o erro, eu recebo isso no meu syslog laptop:

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 

Então a questão é, como posso excluir solicitações de IP de encaminhamento para 10.0.0.1 não encaminhar para o wlan5?

Obrigado

    
por Matt 26.02.2013 / 03:39

2 respostas

1

edit: mais uma vez, depois que achei que o problema foi resolvido, ele simplesmente parou de funcionar novamente sem que eu emitisse NO MORE comandos do iptables. Não consigo entender por que continua funcionando e depois não estou trabalhando. >. <

Eu encontrei um comando iptables diferente que funciona para compartilhar minha internet de um dispositivo Wi-Fi [de longo alcance] para outro [interno]:

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

em vez dos comandos iptables na questão. E isso faz com que eu ainda possa acessar a Internet e ainda acessar http / ssh no 10.0.0.1 de 10.0.0.20.

    
por Matt 27.02.2013 / 19:52
0

A saída iptables-save que você publicou mostra as seguintes cadeias personalizadas na tabela de filtros: INBOUND, OUTBOUND, LOG_FILTER, LSI e LSO. Firestarter cria 5 cadeias, todas nomeadas exatamente assim.

Tenho certeza de que seu problema é causado pelo Firestarter. Abra e verifique se está realmente desativado.

Referências:

por Eric Carvalho 02.03.2013 / 21:09