iptables переадресация всех, кроме локального сервера

Вот правила, которые я использую:

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

У меня есть wlan5 с 192.168.1.100 и wlan3 с 10.0.0.1. Я делаю свой ноутбук ретранслятором Wi-Fi с 2 картами Wi-Fi.

Так что люди подключаются к wlan3, шлюз 10.0.0.1, и все перенаправляется на wlan5 [gw 192.168.1.1].

Теперь, это работает отлично, за исключением Я не могу получить доступ к локальному HTTP-серверу, расположенному на моем ноутбуке. Он размещен на моем ноутбуке и работает как localhost, или 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

Хорошо, вот здесь и возникает проблема. Клиент в моей сети общего доступа [wlan3] с IP 10.0.0.20 пытается получить доступ к 10.0.0.1:80 и не может подключиться:

$ 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

Он может пропинговать 10.0.0.1 и даже пропинговать внешний IP. поэтому у него есть подключение к Интернету, и это главное, но я не могу получить доступ к HTTP, я полагаю, из-за правил iptables. сразу после ошибки я получаю это в системном журнале своего ноутбука:

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 

Итак, вопрос в том, как я могу исключить пересылку IP-запросов на 10.0.0.1, а не на wlan5?

Спасибо

1
задан 26 February 2013 в 06:39

2 ответа

edit: еще раз, после того, как я подумал, что проблема была исправлена, он просто перестал работать снова без того, чтобы я больше не выдавал больше команд iptables. Я не могу понять, почему он продолжает работать, а потом не работает. >. <


Я нашел другую команду iptables, которая работает, чтобы разделить мой интернет с 1 [дальнего] Wi-Fi устройства на другое [внутреннее]:

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

вместо Команды iptables в вопросе. И это позволяет мне по-прежнему иметь доступ к Интернету и доступ к http / ssh на 10.0.0.1 с 10.0.0.20.

0
ответ дан 26 February 2013 в 06:39

Вывод iptables-save , который вы опубликовали, показывает следующие пользовательские цепочки в таблице фильтров: INBOUND, OUTBOUND, LOG_FILTER, LSI и LSO. Firestarter создает 5 цепочек, названных в точности так.

Я уверен, что ваша проблема вызвана Firestarter. Откройте его и проверьте, действительно ли он отключен.

Ссылки:

0
ответ дан 26 February 2013 в 06:39

Другие вопросы по тегам:

Похожие вопросы: