Биллинговая система Nodeny
14 Мая 2024, 00:17:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Переадресация неавторизованных  (Прочитано 7507 раз)
Александр (AleksHr)
NoDeny
Старожил
*

Карма: 2
Offline Offline

Сообщений: 323


Просмотр профиля
« : 19 Сентября 2009, 17:06:55 »

Пробую как писал sbv@ukr.net в группе:

Цитировать
тем не менее там несколько фаерволов приведено. Реализовать довольно
просто. Есть правило deny from any to any. Строго перед ним (это надо
добавить в nofire.pl либо firewall.conf в зависимости) правило:

ipfw add fwd 127.0.0.1,81 tcp from any to any 80

поднять http-сервер на 81м порту как виртуальный хост и вместо
странички 404 прикрутить html "заплати и будет интернет". Конечно,
придется приложить усилия от получаса да часа чтобы разобраться в
этом, погуглив в инете. Так что не спеши писать, что не получилось.

Апач настроен, по 80 порту стандартные страницы ошыбок + админка NoDeny, на 81 порту вхост с другой папкой и переопредельонными страницами ошыбок.
Заходжу на http://nodeny.com:80/sdfsdkjhk - стандартная ошибка 404
Заходжу на http://nodeny.com:81/sdfsdkjhk - моя переопределенная ошибка 404 (или текст подготовленый для неавторизированных)

Тепер как писалося выше добавляю правило для тесту для всех:
ipfw add fwd 127.0.0.1,81 tcp from any to any 80

При заходе на любую страницу - стандартная ошибка 404 (а не моя для 81 порта вхоста!!!). По логам апача все соединения идут к 80 порту, а не 81. В чем проблема? Пробывал в настройках вхостов по дефолту ставить 81 порт - то же самое. Такое чуство что правило выше не изменяет порт назначения почему то.

P.S. Правилы пробывал по разному минять - работает редирект только на 80 порт, тоесть на тот который обращается клиент.

Прошу помощи!!!
Записан
Александр (AleksHr)
NoDeny
Старожил
*

Карма: 2
Offline Offline

Сообщений: 323


Просмотр профиля
« Ответ #1 : 20 Сентября 2009, 10:19:48 »

Что, никто не сталкивался?
Записан
VitalVas
NoDeny
Спец
*

Карма: 60
Offline Offline

Сообщений: 991



Просмотр профиля WWW
« Ответ #2 : 20 Сентября 2009, 11:35:10 »

неа, но скоро попробую
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #3 : 20 Сентября 2009, 12:32:48 »

Да что там пробовать? ставишь на 404 страницу нужную и в качестве индексного файла прописываешь ее ВСЕ и не надо никаких извращений с виртуальными хостами. Если есть желание еще что-то расположить на серваке тогда поднимай виртуальный хост и пихай туда все что душа пожелает, но чтобы по ип было доступно только 404 и индекс.
Себе сделал на днях такую шнягу - пользователи в ауте просто. Мало того что при долге ругается что денег дать надо, так еще и если не авторизован - кричит "Включи тырнет - тупица!" )))
« Последнее редактирование: 20 Сентября 2009, 12:36:29 от cell » Записан
Александр (AleksHr)
NoDeny
Старожил
*

Карма: 2
Offline Offline

Сообщений: 323


Просмотр профиля
« Ответ #4 : 20 Сентября 2009, 14:20:00 »

Вместо страницы 404 и у меня работает. Имел ввиду чтоб для основного сервера со статистикой лишить нормальную страницу 404. А пользователей заворачывать на вхост с другой страницей ошыбки - вот тут не получается.

Cell, ты как именно сделал? И зачем индексную страницу писать, если любая страница 404 будет?
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1407



Просмотр профиля
« Ответ #5 : 20 Сентября 2009, 14:33:07 »

не будет, не веришь - попробуй
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4782



Просмотр профиля
« Ответ #6 : 20 Сентября 2009, 19:11:42 »

Покажи ipfw show
Записан
Александр (AleksHr)
NoDeny
Старожил
*

Карма: 2
Offline Offline

Сообщений: 323


Просмотр профиля
« Ответ #7 : 21 Сентября 2009, 09:33:55 »

${f} add 30 fwd 127.0.0.1,82 tcp from any to any 80

Для теста удаляю все правила кроме разрешающих ssh, после них сразу ета строчка.

Просто судя по логам апача переадресация всех запросов идет именно на порт 80, а не на 82 почему то. В мене фвд пишет что порт не меняется если адрес не сервер, но адрес то сам сервер!!! Пробывал вместо 127.0.0.1 писать айпи 10.46.46.1 (айпи сервера) тоже самое.

Оно переадисовывает все запросы по 80 порту но не на 82 порт сервера а на 80!!!
Записан
kill
Новичок
*

Карма: 0
Offline Offline

Сообщений: 1


Просмотр профиля Email
« Ответ #8 : 30 Января 2010, 20:42:28 »



Цитировать
тем не менее там несколько фаерволов приведено. Реализовать довольно
просто. Есть правило deny from any to any. Строго перед ним (это надо
добавить в nofire.pl либо firewall.conf в зависимости) правило:

ipfw add fwd 127.0.0.1,81 tcp from any to any 80

поднять http-сервер на 81м порту как виртуальный хост и вместо
странички 404 прикрутить html "заплати и будет интернет". Конечно,
придется приложить усилия от получаса да часа чтобы разобраться в
этом, погуглив в инете. Так что не спеши писать, что не получилось.

Помогите, немогу разобраться после кокого правила вставлять ipfw add fwd 127.0.0.1,81 tcp from any to any 80.
Nodeny 49.32.

Код:
#!/bin/sh -
f='/sbin/ipfw'

ifOut='vr0'
ifOut1='fxp0'


${f} -f flush

${f} add 50 allow tcp from any to me 22
${f} add 51 allow tcp from me 22 to any

${f} add 50 allow tcp from any to me 8000
${f} add 51 allow tcp from me 8000 to any


${f} add 110 allow ip from any to any via lo0
${f} add 120 skipto 1000 ip from me to any
${f} add 130 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${f} add 160 skipto 2000 ip from any to me

${f} add 200 skipto 500 ip from any to any via ${ifOut}
${f} add 200 skipto 500 ip from any to any via ${ifOut1}


${f} add 300 skipto 4500 ip from any to any in

${f} add 400 skipto 450 ip from any to any recv ${ifOut}
${f} add 400 skipto 450 ip from any to any recv ${ifOut1}

${f} add 420 divert 1 ip from any to any
${f} add 450 divert 2 ip from any to any
${f} add 490 allow ip from any to any

${f} add 500 skipto 32500 ip from any to any in
${f} add 510 divert 1 ip from any to any
${f} add 540 allow ip from any to any


${f} add 1000 allow udp from any 53,7723 to any
${f} add 1010 allow tcp from any to any setup keep-state
${f} add 1020 allow udp from any to any keep-state
${f} add 1100 allow ip from any to any

${f} add 2000 check-state
${f} add 2010 allow icmp from any to any
${f} add 2020 allow tcp from any to any 80,443
${f} add 2050 deny ip from any to any via ${ifOut}
${f} add 2050 deny ip from any to any via ${ifOut1}

${f} add 2060 allow udp from any to any 53,7723
${f} add 2100 deny ip from any to any
${f} add 32490 deny ip from any to any

Записан
VitalVas
NoDeny
Спец
*

Карма: 60
Offline Offline

Сообщений: 991



Просмотр профиля WWW
« Ответ #9 : 31 Января 2010, 11:37:38 »

Код:
ipfw add 100 fwd 127.0.0.1,81 tcp from not table(10) to any 80
учи ipfw  Смеющийся
Записан
Rico-X
NoDeny
Старожил
*

Карма: 7
Offline Offline

Сообщений: 350


Просмотр профиля
« Ответ #10 : 12 Марта 2011, 17:38:57 »

Код:
ipfw add 100 fwd 127.0.0.1,81 tcp from not table(10) to any 80
учи ipfw  Смеющийся
Похожая задача, только несколько ньюансов. Все пользователи подключаются по pppoe, и надо переадресовывать всех пользователей которым запрещен доступ в интернет на сервак, расположенный в интернете, а не локалке, но ничего не выходит, переадресация не идет. В начало правил добавляю
Код:
ipfw add 10 fwd 194.28.36.20,80 tcp from not table(0) to any 80
Где 194.28.36.20 - сервак с нужной страничкой
Правила разрешающие всем доступ на 194.28.36.20 тоже есть.
На веб-сервере создан .htaccess
Код:
ErrorDocument 404 http://194.28.36.20/index.html
Если у пользователя указать напрямую http://194.28.36.20 то страничка подгружается, но с других не редиректит ни в какую, может кто знает куда глядеть?
Записан
Rico-X
NoDeny
Старожил
*

Карма: 7
Offline Offline

Сообщений: 350


Просмотр профиля
« Ответ #11 : 12 Марта 2011, 18:58:58 »

Вопрос снят, из мана вычитал что fwd нормально работает только с локалхостом, прикрутил еще redir и все завелось. Может можно както сделать через ipfw или pf чтоб не запускать лишний сервис?
Записан
evp
NoDeny
Постоялец
*

Карма: -6
Offline Offline

Сообщений: 113


Просмотр профиля
« Ответ #12 : 14 Марта 2011, 00:42:58 »

fwd нормально работает только с локалхостом, прикрутил еще redir и все завелось. Может можно както сделать через ipfw или pf чтоб не запускать лишний сервис?

Перенаправлять запросы можно по-разному, например так, как у тебя:
Код:
ipfw add 10 fwd 194.28.36.20,80 tcp from not table(0) to any 80
а можно еще и так:
Код:
# setfib 1 route add default 194.28.36.20
# ipfw add 10 setfib 1 ip from not table(0) to any
В последнем случае ядро должно быть скомпилировано с поддержкой множественных страниц маршрутизации (options ROUTETABLES=N, где N - число от 1 до 16)

И попробовать использовать fwd непосредственно на сервере, куда поступают запросы. Например, на 194.28.36.20:
Код:
# ipfw add 10 fwd 127.0.0.1 tcp from any to not me 80
Теоретически должно работать.

UPD: И, разумеется, в любом случае, серевер 194.28.36.20 должен находиться в одной подсети с шлюзом, заворачивающим на него пакеты.
« Последнее редактирование: 14 Марта 2011, 00:51:53 от evp » Записан
Rico-X
NoDeny
Старожил
*

Карма: 7
Offline Offline

Сообщений: 350


Просмотр профиля
« Ответ #13 : 14 Марта 2011, 11:55:34 »

Спасибо, взял себе на заметку, все завелось.
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!