Portál AbcLinuxu, 10. května 2025 02:48

Dotaz: Přesměrování 80 na 3128 na routeru

5.11.2006 12:26 Filip Hesse | skóre: 20
Přesměrování 80 na 3128 na routeru
Přečteno: 358×
Odpovědět | Admin

Situace: domácí servřík s debian sarge je přes ppp0 (eurotel data nonstop) napojen na internet. Síťovka eth0 (192.168.1.5) je píchlá do HUBu, kde jsou dva další PC (192.168.1.7, 192.168.1.30), co servřík používají jako bránu. Vše funguje dobře, ale ještě bych chtěl požadavky na webové stránky kešovat. Nelíbí se mi v aplikacích na klientech zadávat proxy (192.168.1.5:3128), rád bych, aby dále koukaly skrz bránu ven.

Neodkazujte mně na hlední, našel jsem si toho dost, ale nic mi nefungovalo. Napište mi, prosím, konkrétní ip pravidlo.

1) Firewall jsem si vymýšlel sám, nemám tam chyby?
2) Jak nastavit, že cokoliv chce ven, nepůjde přímo, ale přes squid?

Předem díky za rady.

Můj iptables skript:

echo "1" > /proc/sys/net/ipv4/ip_forward

/sbin/iptables -X 
/sbin/iptables -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT DROP
/sbin/iptables -P FORWARD DROP 

# routrovani
/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE

# local
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
/sbin/iptables -A INPUT -i lo -j ACCEPT

# jiz navazane 
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# ssh
/sbin/iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -i eth0 -o ppp0 --dport 22 -j ACCEPT

# posta
/sbin/iptables -A FORWARD -p tcp -i eth0 -o ppp0 --dport 995 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -i eth0 -o ppp0 --dport 25 -j ACCEPT

# dns
/sbin/iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
/sbin/iptables -A FORWARD -p udp -i eth0 -o ppp0 --dport 53 -j ACCEPT

# jabber
/sbin/iptables -A FORWARD -p tcp -i eth0 -o ppp0 --dport 5222 -j ACCEPT

# ping a podobne
/sbin/iptables -A OUTPUT -p icmp -j ACCEPT
/sbin/iptables -A FORWARD -p icmp -j ACCEPT
# max5 pingu za s
/sbin/iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 5 -j ACCEPT

# WWW
/sbin/iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -o ppp0 -p tcp --dport 80 -j ACCEPT

# odmitne port 113 auth
/sbin/iptables -A INPUT -i eth0 -p TCP --dport 113 -j REJECT

# nastaveni casu
/sbin/iptables -A OUTPUT -p tcp --dport 37 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --dport 37 -j ACCEPT

# LOGUJ OSTATNI
/sbin/iptables -A OUTPUT -j LOG --log-level 6
/sbin/iptables -A INPUT  -j LOG --log-level 6
/sbin/iptables -A FORWARD -j LOG --log-level 6

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.11.2006 12:42 _radek | skóre: 19
Rozbalit Rozbalit vše Re: Přesměrování 80 na 3128 na routeru
Odpovědět | | Sbalit | Link | Blokovat | Admin
ad 2 Vyhledávání opravdu funguje, ale chápu, že ne vždy člověk ví, co hledá.
5.11.2006 12:50 M
Rozbalit Rozbalit vše Re: Přesměrování 80 na 3128 na routeru
Odpovědět | | Sbalit | Link | Blokovat | Admin
#transparentni proxy na port 3128
$IPTABLES -t nat -A PREROUTING -i ! $SERVER_NET_IF -p tcp -d ! $SERVER_LAN_IP --dport 80 -j REDIRECT --to-port 3128

#maskarada
$IPTABLES -t nat -A POSTROUTING -o $SERVER_NET_IF -j MASQUERADE

a jeste nastavit squid.conf na transparentni proxy

httpd_accel_host proxy
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
5.11.2006 14:43 Filip Hesse | skóre: 20
Rozbalit Rozbalit vše Re: Přesměrování 80 na 3128 na routeru

Nevěděl jsem, kde v debianu jsou ip pravidla, tak výše uvedený skript pouštím na konci /etc/init.d/rcS. Proto mi také nemohou fungovat vaše proměnné. $SERVER_LAN_IP jsem si vygooglil jako IP na lokální síti, ale co znamená $SERVER_NET_IF?

Dále přikládám squid.conf. Za můj funkční provizorní, pro rozchození, jsem dopsal ještě vaše čtyři rádky. Teď tedy vypadá:

http_port 3128
icp_port 3130

dns_nameservers 160.218.10.200
visible_hostname servrik.doma

acl all src 0.0.0.0/0.0.0.0
http_access allow all

httpd_accel_host proxy
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.