URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 4003
[ Назад ]

Исходное сообщение
"Iptables Задачька для профи! Нужна помощь!!!"

Отправлено Stepanych , 03-Окт-08 21:39 
Всем привет и заранее спасибо!
Начну с краткого вступления........ Задача состояла в том, что у на есть 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 Задачька для профи! Нужна помощь!!!"
Отправлено maxdukov , 04-Окт-08 16:17 
>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 Задачька для профи! Нужна помощь!!!"
Отправлено reader , 04-Окт-08 21:10 
для профи потому что нужно остальные правила угадать? :)

может iptables-save покажите


"Iptables Задачька для профи! Нужна помощь!!!"
Отправлено Stepanych , 09-Окт-08 18:17 
Опция прозрачного прокси уключина!!!


>нат собран в ядре или подгружается модулем?
>советую добавить логирование - и посмотреть, идут ли пакеты.

Логирование включал до правила пакет приходит после него он нигде не появляется ни в 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


"Iptables Задачька для профи! Нужна помощь!!!"
Отправлено reader , 09-Окт-08 21:28 
>[оверквотинг удален]
>-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


"Iptables Задачька для профи! Нужна помощь!!!"
Отправлено Stepanych , 10-Окт-08 11:53 
>очень хорошо, тут все нормально, может очередную порцию правил покажите, а то
>как то ни таблицы 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


"Iptables Задачька для профи! Нужна помощь!!!"
Отправлено reader , 10-Окт-08 12:42 
>[оверквотинг удален]
>-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 соединение есть?


"Iptables Задачька для профи! Нужна помощь!!!"
Отправлено vit , 06-Окт-08 08:13 
>[оверквотинг удален]
>сервер, то есть когда пользователь обращался к серверу по 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
                               ^^^^^^^^^^^



"Iptables Задачька для профи! Нужна помощь!!!"
Отправлено ALex_hha , 23-Окт-08 09:27 
>[оверквотинг удален]
>>Только вот не задача не работает, пакеты теряются, куда оно его перенаправляет
>>ума не приложу. Все пересмотрел, где провтык не знаю. Помогите не
>>оставьте в биде!!!
>
>Опцию прозрачного прокси включил?
>squid.conf
>http_port XXX.XXX.XXX.XXX:8888 transparent
>            
>          
>        ^^^^^^^^^^^

Не факт, эта опция появилась только в версии 2.6. В 2.5 включается по другому

Может поможет - http://www.sys-adm.org.ua/www/squid-transparent.php