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
mam problem takien natury!
nie iwem jak przekierowac pewien IP ze squida tzn chodzi mi o konkretny przyklad.
ktos nie zaplacil za internet i chce aby ta osoba o pewnym IP jak wlaczy przegladarke to zeby laczylo ja na adres ktory ja podam! a dokladnie info z pewnego htmla ze nie zaplacil i nalezy zglosic sie do admina
mam linuxa debiana
prosze o pomoc
pozdr
Arek
Offline
Hej.
nie wiem jak to zrobic na squidze ale mysle latwiej bedzie przekierowac konkretny ip. postaw sobie na serwerze www virtulany serwer np na porcie 1000 a potem tylko dodajesz do firewalla
iptables -t nat -A PREROUTING -s $IP_NIEPLACACEGO -p tcp --dport 80 -j DNAT --to-destination $SERWER_WWW_Z_KOMUNIKATEM:1000
to rozwiazanie jest o tyle wygodne ze blokuje www a nie blokuje innych uslug np gg do kontaktu z adminem i blaganie go o wlaczenie neta :).
niemniej jednak jak chcialbys klienta wylaczyc calkowice zostawiajac tylko komunikat musisz dopisac
iptables -A FORWARD -s $IP_NIEPLACACEGO -p udp --dport 53 -j ACCEPT
iptables -A FORWARD -s $IP_NIEPLACACEGO -p udp --dport 67 -j ACCEPT
iptables -A FORWARD -s $IP_NIEPLACACEGO -p udp --dport 68 -j ACCEPT
iptables -A FORWARD -s $IP_NIEPLACACEGO -p tcp --dport 1000 -j ACCEPT
iptables -A FORWARD -s $IP_NIEPLACACEGO -j DROP
Offline
czyli w katalogu IPTABLES =>set.nat w pisuje
$iptables -t nat -A PREROUTING -s 192.168.10.12 -p tcp --dport 80 -j DNAT --to-destination http://ds10.agh.edu.pl:1000
??
Offline
niestety nie wiem gdzie u ciebie to masz wpiasc, ogolnie jest tak, ze jest gdzies miejsce w ktorym umieszczone sa regolki iptables,
tam jest dobre miejsce zeby to dopisac ( choc uwazam ze lepiej jest zrobic sobie nowy plik, aby wszystko bylo przejrzyste, ale to juz zalezy od indywidualnych upodoban )
teraz jezeli na serwerze http://ds10.agh.edu.pl postawiles virtualny serwer ktory slucha na porcie 1000 to po dopisaniu tej regolki kazde rzadanie o www z ip 192.168.10.12 bedzie wlasnie tam kierowane, czyli wyswietli sie twoja strona z komunikatem...
pozdr
ps. uwazaj na to czy masz wpisac $iptables czy samo iptables ( to pierwsze jest zmienna i moze nie przechowywac odpowiedniej sciezki)
Offline
Wlasciwie to nie wiem dlaczego tak pokretna droga to robicie - squid to zalatwia i to znakomicie.
W konfigu squida dajesz sicezke do obslugi bledow i komunikatow po polsku:
-----
error_directory /usr/share/errors/Polish
-----
dalej dajesz acl'a (np. dla hosta o nazwie MAMBO):
-----
acl MAMBO src 192.168.1.200
-----
Potem (w czesci http_acces) jesli odcinamy net, to tu nalezy MAMBO zahaszowac!
-----
#http_access allow MAMBO
http_access allow K55
-----
Dalej piszac (idac) trtzeba wpisac regolke dla miska ktory nie placi i nie ma www (UWAGA NA MYK!):
-----
#Miski, ktore nie maja www
# MAMBO
http_access deny MAMBO
-----
I pod koniec skryptu wpisujemy Miski, ktore maja dostac info o koniecznosci placenia:
-----
# MAMBO
deny_info err_odlaczenie MAMBO
-----
U mnie ten blad (obslugiwany przez squida! :) ) nazywa sie:
err_odlaczenie
i jest w katalogu o wczesniej podanej sciezce dostepu:
/usr/share/errors/Polish
Do pliku err_odlaczenie wpisujesz tresc kodu html stronki ktora ma dostac klient.
I posprzatane, a co najwazniejsze nie trzeba kombinacji z maskarada.
Pozdrowienia dla grupowiczow.
Offline
Oczywiscie Nickleodeon ze konkretny cel mozna osiagnac na wiele sposobow.
Wszytko ma swoj + i -, ja to robi w ten sposob dla tego ze na stronie z komunikatem mam link, ktory wykonuje polecenie:
iptables -t nat -D PREROUTING -s $IP_NIEPLACACEGO -p tcp --dport 80 -j DNAT --to-destination $SERWER_WWW_Z_KOMUNIKATEM:1000
co wylacza blokade na jakis czas. czyli komunkiat dziala w formie przypomnienia, a nie kategorycznej blokady www.
Pozdr
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00126 | 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='13.59.58.14' WHERE u.id=1 |
0.00073 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '13.59.58.14', 1738335109) |
0.00062 | SELECT * FROM punbb_online WHERE logged<1738334809 |
0.00059 | SELECT topic_id FROM punbb_posts WHERE id=17723 |
0.00006 | SELECT id FROM punbb_posts WHERE topic_id=2194 ORDER BY posted |
0.00030 | 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=2194 AND t.moved_to IS NULL |
0.00032 | SELECT search_for, replace_with FROM punbb_censoring |
0.00140 | 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=2194 ORDER BY p.id LIMIT 0,25 |
0.00088 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=2194 |
Total query time: 0.0063 s |