Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam po dłuuuuuugim milczeniu.
Mam następujące pytanie. Potrzebuje wykonać blokadę dostępu do internetu z przekierowaniem na strone. Temat wielokrotnie był poruszany na forum ale nie ma tu odpowiedzi na założenie które przedstawie.
Posiadam juz blokade opartą o iptables z przekierowaniem na strone ale jest to blokada całkowita. Chciałbym zrobić blokadę która przekieruje cymbucha na strone ale po 15 minutach przykładowo znów cymbuch bedzie cieszył sie netem. I taki scenariusz raz na godzinę. Może być tez druga opcja że cymbuch dostanie komunikat w przeglądarke że nie zapłacił ale co kilka otwartych stron. Takie coś mega upierdliwe i nie odcinające netu całkowicie. Czy macie jakieś pomysły? Może macie jakiś gotowy skrupcik będę wdzięczny za szybką odpowiedź.
Offline
Myslałem o tym tyle że najfajniejsza koncepcja była by taka żeby co kilka stron wyskakiwał komunikat a tego w cron-ie nie zrobie
Offline
ale powinno dać się zrobić przez transparent proxy + cron
Offline
właśnie w tej sieci chce un iknąć proxy
Offline
no to pozostaje chyba tylko pierwszy pomysł z cronem - powiedzmy na tej zasadzie:
*/30 * * * * /usr/local/sbin/upierdliwiec
gdzie skrypt typu upierdliwiec wyglądałby mniej więcej tak:
#!/bin/bash banuj(){ #regułki iptables do blocka } odbanuj(){ #regułki do odbanowania } banuj sleep 2m odbanuj
Offline
czyli to bedzie odpalane co 30 minut i blokada bedzie trwać 2 minuty?
#!/bin/bash banuj(){ iptables -A PREROUTING -t nat -s 172.16.1.14 -p tcp --dport 1:65535 -j DNAT --t$ } odbanuj(){ iptables -D PREROUTING -t nat -s 172.16.1.14 -p tcp --dport 1:65535 -j DNAT --t$ } banuj sleep 2m odbanuj
Taki skrypcik powinien zadziałać?
Ostatnio edytowany przez pekape (2010-11-15 19:22:01)
Offline
Tak, ban będzie się włączał co 30 minut (interwał oczywiście dowolny) i ban będzie trwał 2 minuty (tu też możesz sleepa dostosować jak Ci się podoba). Jak chcesz bardzo utrudnić życie użyszkodnikowi puść skrypt co 10 minut z minutowym banem :)
Co do skryptu to jak regułki iptables są poprawne to zadziała :)
Offline
Spoko działa wszystko tylko jest jeszcze jeden mały problem. Mam zainstalowanego boa i w momencie kiedy jest ban to pokazuje błąd 404. W przypadku blokady całkowitej którą mam jest normalnie wyświetlany komunikat. Teraz zastanawiam sie jak to zrobić. Nie wiesz w którym miejscu znajdują sie strony błędów w boa? Poprostu podmiankę strony bym zrobił.
Offline
można wykorzystać [b]xt_condition[/b] do blokowania/odblokowania miśków
a ich aktywność badać za pomocą [b]ipt_ACCOUNT[/b]
co do boa zdefiniuj sobie wygląd strony na error 404 (ten sam co komunikat)
Co do idei blokowania to wydaje mi się promocyjna bo jak któryś misiek będzie w danej chwili robił przelew to będzie miał promocje :P
Offline
[quote=BiExi]Co do idei blokowania to wydaje mi się promocyjna bo jak któryś misiek będzie w danej chwili robił przelew to będzie miał promocje :P[/quote]
Markety też maja wielkie promocje. No własnie chciałem zamienić te stronę 404 tylko nie wiem gdzoe ona się znajduje... A blokada ma być tak upierdliwa żeby dostawali szału.
Offline
ja bym dodał przycisk na stronie z komunikatem. Naciskam przycisk i dopiero wtedy włączy się skrypt odblokowujący mi neta. Wtedy masz pewność, że nikt nie przeoczy 2-minutowego komunikatu :)
Offline
Miałem kiedys taki skrypt ale ja chce coś mega upierdliwe do walki z cymbuchami. To sieć na wsi więc trzeba mieć mocne narzędzia. Przeszukałem configa i nic nie znalazłem odnośnie stron błędów. Nie mam scpa wiec nie sciagne go z servera
Jeszcze chyba naklepie co s co by mi IPki cymbuchów zasysało z pliku bo skrobać to sie nikomu nie bedzie chciało a to serwer nie dla mnie.
Ostatnio edytowany przez pekape (2010-11-15 21:58:59)
Offline
[quote=johny]ja bym dodał przycisk na stronie z komunikatem. Naciskam przycisk i dopiero wtedy włączy się skrypt odblokowujący mi neta. Wtedy masz pewność, że nikt nie przeoczy 2-minutowego komunikatu :)[/quote]
Pomysł genialny. Trzeba by to jednak sprzęgnąć z jakimś skryptem który by ten net odblokowywał co już nie byłoby tak proste jak taki cron.
Offline
Przy proxy to nie byłoby takie trudne :) Ale ktoś tu się wystrzega proxy jak diabeł święconej wody :P A o transparent proxy zwykły luser nawet by nie wiedział ;]
Ostatnio edytowany przez winnetou (2010-11-16 00:08:17)
Offline
[quote=Punisher999]Pomysł genialny. Trzeba by to jednak sprzęgnąć z jakimś skryptem który by ten net odblokowywał co już nie byłoby tak proste jak taki cron.[/quote]
zwykły przycisk w html przekierowujący do pliku php, który odpala ten sam skrypt co jest w cronie (z parametrem ze stałej $_SERVER['REMOTE_ADDR']).
Offline
ja mam gdzies tego typu skrypt. Regułki ma pisane pod ipfw :) Skrypt nazywa się tablica ogłoszeń
Kurde nie wiem gdzie podmienić te strony błędów w boa bo cały czas mam 404 przy blokadzie zamiast komunikatu.
a skrypt w obecnej wersji wygląda tak
#!/bin/bash #### Zmienne ######## ip="172.16.1.10" infoport="80" brama="172.16.1.1" czas="1m" #################### banuj(){ #regułki iptables do blocka iptables -A PREROUTING -t nat -s $ip -p tcp --dport 1:65535 -j DNAT --to- 172.1$ } odbanuj(){ iptables -D PREROUTING -t nat -s $ip -p tcp --dport 1:65535 -j DNAT --to- $bram$ } banuj sleep $czas odbanuj
Ostatnio edytowany przez pekape (2010-11-16 15:24:49)
Offline
co do 404 ja mam w ustawieniu apache:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ /index.php [NC,L]
i nie muszę nic podmieniać :)
Offline
Ja próbowałem zrobić coś pod Boa i tthttpd i niestety nic nie dało sie. Nie ma możliwości jakiejś z iptables pokombinować? Musze zrobić to do jutra i juz mnie coś trafia bo nie moge jakioś poradzić sobie z tym
Offline
Time (s) | Query |
---|---|
0.00008 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00099 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.34.237' WHERE u.id=1 |
0.00067 | UPDATE punbb_online SET logged=1732651150 WHERE ident='3.145.34.237' |
0.00064 | SELECT * FROM punbb_online WHERE logged<1732650850 |
0.00046 | SELECT topic_id FROM punbb_posts WHERE id=158585 |
0.00006 | SELECT id FROM punbb_posts WHERE topic_id=17742 ORDER BY posted |
0.00072 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=17742 AND t.moved_to IS NULL |
0.00007 | SELECT search_for, replace_with FROM punbb_censoring |
0.00127 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=17742 ORDER BY p.id LIMIT 0,25 |
0.00077 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=17742 |
Total query time: 0.00577 s |