Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Squid transparentny - nowe NND http://forum.freesco.pl/viewtopic.php?f=24&t=7324 |
Strona 1 z 1 |
Autor: | Alfred [ czwartek, 7 kwietnia 2005, 07:47 ] |
Tytuł: | Squid transparentny - nowe NND |
Squid działa, jako transparentny, porty przekierowane bałwan jestem: Iptables –t nat –A PREROUTING –i eth1 –p tcp --dport 80 –j REDIRECT --to-port 3128 I teraz pytanie: Jak (czarno na białym) sprawdzić, czy komputer klienta 'idzie' przez Squida ? W IE (Win XP) jest internet, obojętnie, czy ustawię proxy na porcie 3128, czy też proxy jest wyłączone. Problem polega na tym, że bałwan jestem iptables w firewallu raz liczą przepływające dane, a raz nie (a otwieram strony na których squid napewno jeszcze nigdy 'nie był'). |
Autor: | Jacq [ czwartek, 7 kwietnia 2005, 08:57 ] |
Tytuł: | |
wpisz zamiast adresu jakis fikcyjny adres i jak squid ci dziala to ci sie wyswietli jego komunikta ze strona nie istnieje. To jest chyba najprosciej |
Autor: | IT [ czwartek, 7 kwietnia 2005, 10:31 ] |
Tytuł: | |
ja bym zobaczyl w logach squida pod katem adreeu ip danego komputera |
Autor: | Alfred [ czwartek, 7 kwietnia 2005, 10:59 ] |
Tytuł: | |
Cytuj: ja bym zobaczyl w logach squida pod katem adreeu ip danego komputera
W logach nic nie ma, a squid raczej chodzi, bo komunikat z niego (patrz post wyżej) już kiedyś widziałem. Dzięki za porady, sprawdzę jak będę przy kompie. |
Autor: | Alfred [ piątek, 8 kwietnia 2005, 08:26 ] |
Tytuł: | |
Jeszcze jedno pytanie. Dopisałem do standadowego firewalla (to - tłustym drukiem) bałwan jestem, które zliczają ruch: Cytuj: #!/bin/sh i dalej już bez zmian
# firewall 0.1-2004.12.27 Zciech (poprawka w lini 113 i 49 - macieks) # # W podstawowej wersji caly ruch z inerfejsow wewnetrznych jest dopuszczony i maskowany # ruch z internetu zabroniony poza pakietami "powracajacymi" juz nawiazanych polaczen # i polaczen na strone www (port 80 tcp) oraz pingi 1/s . /etc/rc.conf . /etc/rc.d/functions i=`which iptables` # Zmienne pobierane z rc.conf # EXTIF="ppp0" # Interfejs do inetu # CONNECTION="neorj" # Rodzaj polaczenia # NETWORK=1 # Wlaczenie maskarady case $1 in start) if [ -e /proc/sys/net/ipv4/tcp_ecn ];then echo 0 > /proc/sys/net/ipv4/tcp_ecn fi echo 1 > /proc/sys/net/ipv4/ip_forward if [ -e /proc/sys/net/ipv4/tcp_syncookies ] ; then echo 1 > /proc/sys/net/ipv4/tcp_syncookies fi for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > $f done $i -F $i -F -t nat $i -P INPUT DROP $i -P FORWARD DROP $i -P OUTPUT ACCEPT # ================ Tu moje dopiski ================= $i -N RECV $i -N SEND # bałwan jestem dla każdego kompa $i -A RECV -d 10.10.10.1 -j RETURN $i -A SEND -s 10.10.10.1 -j RETURN $i -A RECV -d 10.10.10.2 -j RETURN $i -A SEND -s 10.10.10.2 -j RETURN $i -A RECV -d 10.10.10.3 -j RETURN $i -A SEND -s 10.10.10.3 -j RETURN $i -A RECV -d 10.10.10.4 -j RETURN $i -A SEND -s 10.10.10.4 -j RETURN $i -A RECV -d 10.10.10.5 -j RETURN $i -A SEND -s 10.10.10.5 -j RETURN $i -A RECV -d 10.10.10.6 -j RETURN $i -A SEND -s 10.10.10.6 -j RETURN $i -A FORWARD -j RECV $i -A FORWARD -j SEND # ============================================= # interfejs lo $i -A INPUT -i lo -j ACCEPT $i -A FORWARD -o lo -j ACCEPT Działa pięknie, ale nie dla kompa o numerze IP 10.10.10.1, czyli rutera. Powoduje to, że całkowity ruch internetowy jest umniejszany o ruch wytwarzany przez ruter, czyli np przez squid. Podobnie, kompy w sieci nie mają zaliczanego ruchu, jeśli 'idą' przez squida, jeśli squida wyłączę, wszystko jest OK. Gdzie jest błąd ? |
Autor: | Alfred [ niedziela, 10 kwietnia 2005, 12:05 ] |
Tytuł: | |
Dobra, nikt nie wie, albo nie chce powiedzieć ? Przeczytałem tony dokumentacji iptables, zrobiłem miliony prób i ...wiem. Wiem jak zliczać ruch idący bezpośrednio i ruch idący przez squida. |
Autor: | MAC!EK [ niedziela, 10 kwietnia 2005, 17:55 ] |
Tytuł: | |
"wiem ale nie powiem" co to ma być ? ![]() albo piszesz jak to się robi albo nie pisz nic ;/ tu się pomaga, a nie przechwala, że się coś wie |
Autor: | Alfred [ niedziela, 10 kwietnia 2005, 18:07 ] |
Tytuł: | |
OK już piszę Na początek - mam dwie karty sieciowe eth0=internet, eth1=sieć wewnętrzna Dodałem do firewalla (tłusty druk): Cytuj: #!/bin/sh
# firewall 0.1-2004.12.27 Zciech (poprawka w lini 113 i 49 - macieks) # # W podstawowej wersji caly ruch z inerfejsow wewnetrznych jest dopuszczony i maskowany # ruch z internetu zabroniony poza pakietami "powracajacymi" juz nawiazanych polaczen # i polaczen na strone www (port 80 tcp) oraz pingi 1/s . /etc/rc.conf . /etc/rc.d/functions i=`which iptables` # Zmienne pobierane z rc.conf # EXTIF="ppp0" # Interfejs do inetu # CONNECTION="neorj" # Rodzaj polaczenia # NETWORK=1 # Wlaczenie maskarady # ============== Tu moje dopiski =============== IPGW="10.0.0.1" # zewnętrzny adres karty eth0 IF="eth1" # karta sieci wewnętrznej IPIF="10.10.10.1" # i jej adres IP # adresy IP kompów podłączonych do rutera NATED_HOSTS="10.10.10.1 10.10.10.2 10.10.10.3 10.10.10.4 10.10.10.5 10.10.10.6" # ============= KONIEC DOPISKÓW ============ case $1 in start) if [ -e /proc/sys/net/ipv4/tcp_ecn ];then echo 0 > /proc/sys/net/ipv4/tcp_ecn fi echo 1 > /proc/sys/net/ipv4/ip_forward if [ -e /proc/sys/net/ipv4/tcp_syncookies ] ; then echo 1 > /proc/sys/net/ipv4/tcp_syncookies fi for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 1 > $f done $i -F $i -F -t nat $i -P INPUT DROP $i -P FORWARD DROP $i -P OUTPUT ACCEPT # ============== Tu moje dopiski =============== # definiujemy łańcuchy do zliczania ruchu $i -N in_counter $i -N out_counter $i -N proxy_in_counter $i -N proxy_out_counter # kierujemy cały ruch przez nowe łańcuchy # ruch wejściowy i wyjściowy bez proxy $i -A FORWARD -i $EXTIF -d ! $IPGW -j in_counter $i -A FORWARD -o $EXTIF -d ! $IPGW -j out_counter # ruch wejściowy i wyjściowy z proxy (PORT PROXY=3128) $i -A INPUT -i $IF -p tcp -d $IPIF --dport 3128 -j proxy_out_counter $i -A OUTPUT -o $IF -p tcp -s $IPIF --sport 3128 -j proxy_in_counter # przypisujemy dane do konkretnych kompów for HOST in $NATED_HOSTS; do $i -A proxy_in_counter -d $HOST $i -A proxy_out_counter -s $HOST $i -A in_counter -d $HOST $i -A out_counter -s $HOST done # ============= KONIEC DOPISKÓW ============ ...dalej tak jak było... Teraz wystarczy co jakiś czas odczytać liczniki: (uwaga - parametr -Z zeruje zebrane dane po odczytaniu) iptables -L in_counter -v -x -n -Z iptables -L out_counter -v -x -n -Z iptables -L proxy_in_counter -v -x -n -Z iptables -L proxy_out_counter -v -x -n -Z zsumować in_counter + proxy_in_counter, oraz out_counter + proxy_out_counter, zapisać otrzymane dane (dodane do zliczonych w poprzednim odczycie) i wyświetlić odpowiednim skryptem na stronie (patrz www.ao.sytes.net/stat) To wszystko. |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |