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 wszystkich
jestem nowy tutaj:)
mam problem taki
posiadam w domu server na debianie. mam do niego podpiete 2 dsle i oczywiscie siec lokalna ktora ma dostep do netu:)
chodzi mi o to ze potrzebuje zablokowac dostep jednemu komputerowi tylko do jednej stronki i do gg
jak to zrobic bo za bardzo sie nie znam na tym a administrator ktory to robil jest w tej chwili niedostepny:( samemu sobie raczej nie poradze
moj plik *masq.sh wyglada tak
#!/bin/bash -x
porty="22 23 25 53 80 110 7171 28960 21 20 8074 443 5001 5002 5003 5004 5005 5030 14011 14016 17001 5579 44405 27015"
arp -f
iptables="/sbin/iptables"
$iptables -P INPUT ACCEPT
$iptables -F
$iptables -X
$iptables -F -t nat
$iptables -F -t mangle
$iptables -t nat -P PREROUTING DROP
$iptables -t nat -A PREROUTING -i lo -j ACCEPT
$iptables -t nat -A PREROUTING -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -t nat -A PREROUTING --source 192.168.0.254/32 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING --source 195.177.64.192/28 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING --source 212.244.219.32/27 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING --source 80.55.186.40/29 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING --source 80.53.247.120/29 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING -d 80.55.186.40/29 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING -d 80.53.247.120/29 -m state --state NEW -j ACCEPT
$iptables -t nat -A PREROUTING -d 10.0.0.1 -m state --state NEW -j ACCEPT
for klienci in `cat /etc/ethers | grep -v "^#" | sed -e "s/ /G/"`; do
`echo $klienci | awk -F G '{ print "iptables -t nat -A PREROUTING -m mac --mac-source " $1 " -s " $2 " -j ACCEPT"; }'`
done
#$iptables -t nat -A PREROUTING -i eth0 -j mark --set-mark 3
$iptables -P INPUT DROP
$iptables -A INPUT -i lo -j ACCEPT
$iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -A INPUT --source 10.0.0.0/24 -m state --state NEW -j ACCEPT
$iptables -A INPUT --source 212.244.219.32/27 -m state --state NEW -j ACCEPT
$iptables -A INPUT --source 195.136.113.40/28 -m state --state NEW -j ACCEPT
$iptables -A INPUT --source 80.55.186.40/29 -m state --state NEW -j ACCEPT
$iptables -A INPUT --source 80.53.247.120/29 -m state --state NEW -j ACCEPT
$iptables -A INPUT -p tcp --dport 25 -j ACCEPT
$iptables -A INPUT -p tcp --dport 113 -j ACCEPT
$iptables -A INPUT -p tcp --dport 110 -j ACCEPT
$iptables -A INPUT -p udp --dport 25 -j ACCEPT
$iptables -A INPUT -p udp --dport 113 -j ACCEPT
$iptables -A INPUT -p udp --dport 110 -j ACCEPT
$iptables -A INPUT -p tcp -j REJECT --reject-with tcp-reset
$iptables -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
$iptables -t nat -A POSTROUTING -o eth1 -s 10.0.0.0/24 -j SNAT --to 80.55.186.42
$iptables -t nat -A POSTROUTING -o eth2 -s 10.0.0.0/24 -j SNAT --to 80.53.247.122
$iptables -t mangle -A POSTROUTING -o eth0 -s 10.0.0.1/32 -d 10.0.0.0/24 -j MARK --set-mark 0x60
$iptables -t mangle -A POSTROUTING -m mark --mark 0x60 -j ACCEPT
$iptables -t mangle -A POSTROUTING -d 212.244.219.32/27 -o eth1 -p tcp --sport 22 -j MARK --set-mark 0x50
$iptables -t mangle -A POSTROUTING -d 212.244.219.32/27 -o eth2 -p tcp --sport 22 -j MARK --set-mark 0x50
for x in $porty; do
$iptables -t mangle -A PREROUTING -i eth1 -p tcp --sport $x -j MARK --set-mark 0x1
$iptables -t mangle -A PREROUTING -i eth1 -p udp --sport $x -j MARK --set-mark 0x1
$iptables -t mangle -A PREROUTING -i eth2 -p tcp --sport $x -j MARK --set-mark 0x2
$iptables -t mangle -A PREROUTING -i eth2 -p udp --sport $x -j MARK --set-mark 0x2
$iptables -t mangle -A PREROUTING -i eth0 -p tcp --dport $x -j MARK --set-mark 0x50
$iptables -t mangle -A PREROUTING -i eth0 -p udp --dport $x -j MARK --set-mark 0x50
done
$iptables -t mangle -A PREROUTING -m mark --mark 0x1 -j ACCEPT
$iptables -t mangle -A PREROUTING -m mark --mark 0x2 -j ACCEPT
$iptables -t mangle -A PREROUTING -m mark --mark 0x50 -j ACCEPT
$iptables -t mangle -A PREROUTING -i eth1 -j MARK --set-mark 0x10
$iptables -t mangle -A PREROUTING -m mark --mark 0x10 -j ACCEPT
$iptables -t mangle -A PREROUTING -i eth2 -j MARK --set-mark 0x20
$iptables -t mangle -A PREROUTING -m mark --mark 0x20 -j ACCEPT
jak by mi ktos mogl pomoc to by bylo super. jezeli cos jeszcze jest potrzebne to napisze jak bede wiedzial o co chodzi:)
pozdrawiam
Offline
Hej
Jesli chodzi o zablokowanie dostepu do gg ot mysle ze takie cos pomoze
iptables -I FORWARD -p TCP -s [tutaj adres kompa w podsieci] -d [adresy serwerow gg - niestety jest ich pare] -j DROP
a jesli chodzi o stronke to
zakladajac ze nie masz proxy i twoj koles nie bedzie potrafil sobie skonfigurowac przegladarki na jakies inne odstepne proxy
iptables -I FORWARD -p TCP -s [adres kompa] -d [IP serwera ze strona] -j DROP
Rozwiazanie to ma pewna wade - blokujesz od razu caly serwer a nie tylko strone, moznaby zrobic tylko storne, ale musialbys miec modul ktory byb ci analizowal pakiety po wywolaniach http i np. markowal te ktore odpowiadaja niechcianej stronie. Potem te zamarkowane moznaby usuwac. W sumie to spatchowanie patch-o-matic'iem powinno wystarczyc do rozwiazania tego problemu, ale musialbys troszke poczytac na ten temat :)
Jezeli masz w swojej sieci proxy (np. squida) skonfigurowanego na Twoim serwerze to moznaby na nim tylko blokowac ta strone.
Pozdrawiam
Offline
troszke zle to sformuowalem w tym pierwszym poscie ale mysle ze mi podpowiesz:) ma miec dostep tylko d o1 strony i do gg
Offline
:)
W takim razie stosujesz konstrukcje zaprzeczenia powyzszego
iptables -I FORWARD -p ALL -s [adres kompa w podsieci] -d 0/0 -j DROP
i potem wpisujesz wyjatki:
iptables -I FORWARD -p TCP -s [tutaj adres kompa w podsieci] -d [adresy serwerow gg - niestety jest ich pare] -j ACCEPT
(wazna jest kolejnosc najpierw przeczenie , potem wyjatek, poniewaz polecenie "iptables -I" dodaje linijke NA POCZATKU listy. Jesli chesz uzyc "iptables -A" to musisz zrobic na odwrot - dodaje ono linijke na koncu)
oraz w drugim przypadku:
iptables -I FORWARD -p TCP -s [adres kompa] -d [IP serwera ze strona] -j ACCEPT
zauwaz ze nie dalem tu linijki (reguly) wylkuczajacej , obowiazuje ta z powyzej :)
Pozdrawiam
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00132 | 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.169.122' WHERE u.id=1 |
0.00067 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.169.122', 1732386745) |
0.00025 | SELECT * FROM punbb_online WHERE logged<1732386445 |
0.00075 | SELECT topic_id FROM punbb_posts WHERE id=15599 |
0.00004 | SELECT id FROM punbb_posts WHERE topic_id=1852 ORDER BY posted |
0.00073 | 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=1852 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00108 | 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=1852 ORDER BY p.id LIMIT 0,25 |
0.00074 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=1852 |
Total query time: 0.00576 s |