IPTABLES и PREROUTING

Автор: Wapo Дата: 11.03.2005 11:02 Приветствую.
Стоит ASPLinux 9.0. eth1 - внешний, eth0 - внутренний. Внутренняя подсеть - 192.168.0....

Итак. Разрешено входящие запросы из и-нета на eth1 порт 110 перебрасывать на 192.168.0.11 порт 110 - т.е. почтовик стоит внутри локальной сети:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 110 --syn -j DNAT --to-destination 192.168.0.11:110
Все работает: из-вне pop3.mydomain.ru нормально отвечает.

Но не работает подключение из внутренней сети т.е. на локальной машинке приходится писать адрес pop3-сервера как 192.168.0.11, а не pop3.mydomain.ru.

Понимаю что в должно быть для локальных перебросок порта какое-то другое правило, но какое?
Re: IPTABLES и PREROUTING 11.03.2005 15:59Jazzman Может стоит поставить внутренний днс?
Re: IPTABLES и PREROUTING 13.03.2005 19:05Andrey Juroff Zentavr Wapo писал(а):

> Приветствую.
> Стоит ASPLinux 9.0. eth1 - внешний, eth0 - внутренний.
> Внутренняя подсеть - 192.168.0....
>
> Итак. Разрешено входящие запросы из и-нета на eth1 порт 110
> перебрасывать на 192.168.0.11 порт 110 - т.е. почтовик стоит
> внутри локальной сети:
> iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 110 --syn
> -j DNAT --to-destination 192.168.0.11:110
> Все работает: из-вне pop3.mydomain.ru нормально отвечает.
>
> Но не работает подключение из внутренней сети т.е. на локальной
> машинке приходится писать адрес pop3-сервера как 192.168.0.11,
> а не pop3.mydomain.ru.
>
> Понимаю что в должно быть для локальных перебросок порта
> какое-то другое правило, но какое?
Улыбка
Ты из Локальной сети что, сразу ходишь на eth1 перепрыгивая eth0?? нет... Зашел в eth0, таблсы принимают пакет как свой и кидают его с PREROUTING'а на INPUT. Посему пиши второе правило:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 110 --syn
-j DNAT --to-destination 192.168.0.11:110

По идее должно заработать... или вообще убери -i eth0 Улыбка

Ну, и сам спрошу...
Есть роутер, на нем 3 сетевых. eth0(10.0.0.1), eth1(10.0.1.1) - нутря и eth2(пускай 12.34.56.78) - мир
Squid слушает ТОЛЬКО на 10.0.0.1:8080 и на 10.0.1.1:8080 порту. Апача слушает ТОЛЬКО на 12.34.56.78:80

Существуют след. цепочки (пример для первой подлокалки):
# прозрачный Сквид
-A PREROUTING -s 10.0.0.0/24 -d ! 10.0.0.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
-A PREROUTING -s 10.0.0.0/24 -d ! 10.0.1.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
-A PREROUTING -s 10.0.0.0/24 -d ! 12.34.56.78 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

# разрешаем ходить на 80й порт
-A INPUT -s 10.0.0.0/24 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 10.0.1.0/24 -p tcp -m tcp --dport 80 -j ACCEPT
-A OUTPUT -d 10.0.0.0/24 -p tcp -m tcp --sport 80 -j ACCEPT
-A OUTPUT -d 10.0.1.0/24 -p tcp -m tcp --sport 80 -j ACCEPT

-A POSTROUTING -o eth2 -j MASQUERADE

Маскарад на eth2, Форвард разрешён, Линукса Асп9,2 (кернел: 2.4.22-1.2154.nptl.asp), Сквида Version 2.5.STABLE4, Индеец - Apache/2.0.52 built: Nov 13 2004 16:02:34

Проблема в след. При таких правилах, в мир юзверя ходят, а вот на свой собственный сайт - нет Грустный( Вроде ж и прописал -d ! 12.34.56.78, а всё равно...
В Сквидах:
.......
httpd_accel_host virtual
#httpd_accel_port 80 - сказали, можно и так... работает ;-)
httpd_accel_with_proxy on
httpd_accel_uses_host_header on


Что делать? Ткните в грабли Улыбка
Re: IPTABLES и PREROUTING 13.03.2005 20:17Shurik_by 1. Какой Chain PREROUTING Default?
может DROP

2. Попробуй добавь:

-I PREROUTING -s 10.0.0.0/24 -d 12.34.56.78 -p tcp \
--dport 80 -j ACCEPT
Re: IPTABLES и PREROUTING 15.03.2005 16:34Geo Посмотри на opennet.ru есть статья по настройке маршрутизации на iptables а использовать нужно '-j SNAT'
RSS-материал