Всем привет и заранее спасибо!
Начну с краткого вступления........ Задача состояла в том, что у на есть Jboss на котором поднят наш application по порту 8080 на реальной IP гдето в Европе :-))). Нужно его закрыть от любопытных глаз базовой аутентификацией, но сделать это средствами сервера нельзя поскольку ломается аутентификация самого приложения, а сделать её индексной нехорошо поскольку для демонстрации нужен режим гостя. Вот такие пироги.Было принято решение что поднимается Squid на том же IP на порту 8888 с минимальными настройками и будет использоваться его аутентификация (он настроен и успешно работает). Но теперь нужно сделать REDIRECT на прокси с 8080 порта на прокси, а прокси уже обращалось на сервер, то есть когда пользователь обращался к серверу по URL ( допустим ) http://www.possible.com:8080 то пере направлялся на прокси. Было создано правило:
iptables -t nat -A PREROUTING -s ! xxx.xxx.xx.xxx -d xxx.xxx.xx.xxx -p tcp --dport 8080 -j REDIRECT --to-ports 8888
Только вот не задача не работает, пакеты теряются, куда оно его перенаправляет ума не приложу. Все пересмотрел, где провтык не знаю. Помогите не оставьте в биде!!!
>iptables -t nat -A PREROUTING -s ! xxx.xxx.xx.xxx -d xxx.xxx.xx.xxx
>-p tcp --dport 8080 -j REDIRECT --to-ports 8888
>
>Только вот не задача не работает, пакеты теряются, куда оно его перенаправляет
>ума не приложу. Все пересмотрел, где провтык не знаю. Помогите не
>оставьте в биде!!!нат собран в ядре или подгружается модулем?
советую добавить логирование - и посмотреть, идут ли пакеты.
для профи потому что нужно остальные правила угадать? :)может iptables-save покажите
Опция прозрачного прокси уключина!!!
>нат собран в ядре или подгружается модулем?
>советую добавить логирование - и посмотреть, идут ли пакеты.Логирование включал до правила пакет приходит после него он нигде не появляется ни в INPUT не в FORWARD !!!
>для профи потому что нужно остальные правила угадать? :)
>
>может iptables-save покажитеПокажу вот:
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 444 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 389 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7025 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9999 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9998 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
>[оверквотинг удален]
>-j ACCEPT
>-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8888
>-j ACCEPT
>-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521
>-j ACCEPT
>-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9999
>-j ACCEPT
>-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9998
>-j ACCEPT
>-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibitedочень хорошо, тут все нормально, может очередную порцию правил покажите, а то как то ни таблицы NAT, ни MANGLE, ни правил по умолчанию тут нет, а у меня как на зло кофе только растворимый остался.
может все таки вывод iptables-save, а не файл /etc/sysconfig/iptables
>очень хорошо, тут все нормально, может очередную порцию правил покажите, а то
>как то ни таблицы NAT, ни MANGLE, ни правил по умолчанию
>тут нет, а у меня как на зло кофе только растворимый
>остался.
>может все таки вывод iptables-save, а не файл /etc/sysconfig/iptables:-) будите смеяться но остальных правил просто нет !!! Совсем нет!!!
# Generated by iptables-save v1.2.11 on Fri Oct 10 09:53:36 2008
*nat
:PREROUTING ACCEPT [1418460:94735059]
:POSTROUTING ACCEPT [1796992:115957419]
:OUTPUT ACCEPT [1796990:115957299]
COMMIT
# Completed on Fri Oct 10 09:53:36 2008
# Generated by iptables-save v1.2.11 on Fri Oct 10 09:53:36 2008
*mangle
:PREROUTING ACCEPT [120266808:37407615958]
:INPUT ACCEPT [120266808:37407615958]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [122872811:45709355779]
:POSTROUTING ACCEPT [122929375:45710487813]
COMMIT
# Completed on Fri Oct 10 09:53:36 2008
# Generated by iptables-save v1.2.11 on Fri Oct 10 09:53:36 2008
*filter
:INPUT ACCEPT [3918:696674]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [122876778:45709980444]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 444 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 389 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 993 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 995 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 7025 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8888 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9999 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9998 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Fri Oct 10 09:53:36 2008
>[оверквотинг удален]
>-j ACCEPT
>-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521
>-j ACCEPT
>-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9999
>-j ACCEPT
>-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9998
>-j ACCEPT
>-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
>COMMIT
># Completed on Fri Oct 10 09:53:36 2008а так http://www.possible.com:8888 соединение есть?
>[оверквотинг удален]
>сервер, то есть когда пользователь обращался к серверу по URL (
>допустим ) http://www.possible.com:8080 то пере направлялся на прокси. Было создано
>правило:
>
>iptables -t nat -A PREROUTING -s ! xxx.xxx.xx.xxx -d xxx.xxx.xx.xxx
>-p tcp --dport 8080 -j REDIRECT --to-ports 8888
>
>Только вот не задача не работает, пакеты теряются, куда оно его перенаправляет
>ума не приложу. Все пересмотрел, где провтык не знаю. Помогите не
>оставьте в биде!!!Опцию прозрачного прокси включил?
squid.conf
http_port XXX.XXX.XXX.XXX:8888 transparent
^^^^^^^^^^^
>[оверквотинг удален]
>>Только вот не задача не работает, пакеты теряются, куда оно его перенаправляет
>>ума не приложу. Все пересмотрел, где провтык не знаю. Помогите не
>>оставьте в биде!!!
>
>Опцию прозрачного прокси включил?
>squid.conf
>http_port XXX.XXX.XXX.XXX:8888 transparent
>
>
> ^^^^^^^^^^^Не факт, эта опция появилась только в версии 2.6. В 2.5 включается по другому
Может поможет - http://www.sys-adm.org.ua/www/squid-transparent.php