LinuxForum.Fans
Тема

Тормозит редирект на прокси сервер

Автор: serega1576 11 сообщений 2729 просмотров
#373850

Добрый день уважаемые.
Раньше не работало перенаправление http/https трафика на прокси сервер.
Если в настройках браузера не стояла галочка исп-ть прокси сервер, то в инет вообще не зайти.
Прописав вручную проксик, инет начинает работать.
В скрипт задающий правила IPTABLES добавил следующее:

text
$IPTABLES -t nat -A PREROUTING -d ! 192.168.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3128

Правило срабатывает, но оооооочееень долго.
Страничку может открыть только раза с третьего-четвертого...
Тут же иду на клиенте в св-ва браузера, указываю вручную проксик, сохр. настройки.
Все, странички открываются с ПЕРВОГО раза и быстро.
Подскажите, может я выбрал не самое удачное правила редиректа? :)

#373866

Если прокси SQUID, то стоит ли прозрачный режим (прописано ли в конфиге?)

text
http_port 3128 transparent
#373874

Да, проксик СКВИД.

text
# Squid normally listens to port 3128
http_port 3128 transparent

Есть такое, в squid.conf

#374047

Есть еще варианты? Неужели ни кто не сталкивался?

#374056
serega1576 написал:
Да, проксик СКВИД.
text
# Squid normally listens to port 3128
http_port 3128 transparent

Есть такое, в squid.conf

Может попробовать за место transparent поставить intercept ?

http_port 3128 intercept
#374057

На рабочке шлюз прописан?
Без SQUID интернет работает?

#374068

Конечно прописан.
Его автоматом раздает DHCP в сети.
Сейчас попробовал вообще без СКВИДА.
Закоментировал код редиректа.
Один фиг, странички долго открываются.
Как будто IPTABLES режет скорость. Хотя ни каких ограничений нет в коде.

text
IPTABLES="/sbin/iptables"

$IPTABLES -P INPUT ACCEPT $IPTABLES -P FORWARD ACCEPT $IPTABLES -P OUTPUT ACCEPT $IPTABLES -t nat -P PREROUTING ACCEPT $IPTABLES -t nat -P POSTROUTING ACCEPT $IPTABLES -t nat -P OUTPUT ACCEPT $IPTABLES -t mangle -P PREROUTING ACCEPT $IPTABLES -t mangle -P OUTPUT ACCEPT $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -t mangle -F $IPTABLES -X $IPTABLES -t nat -X $IPTABLES -t mangle -X ####################################### echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/ipv4/tcp_syncookies echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses echo 0 > /proc/sys/net/ipv4/conf/eth1/rp_filter echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh3 echo 0 >/proc/sys/net/ipv4/tcp_ecn echo 0 > /proc/sys/net/ipv4/tcp_window_scaling ####################################### $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD DROP

$IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -I FORWARD 1 -t mangle -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu $IPTABLES -I OUTPUT 1 -t mangle -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu $IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset $IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -j DROP $IPTABLES -A INPUT -p icmp -j ACCEPT $IPTABLES -A INPUT -d 224.0.0.0/8 -j DROP $IPTABLES -A INPUT -i eth1 -j ACCEPT $IPTABLES -A INPUT -p udp -s 192.168.20.8 -j ACCEPT $IPTABLES -A INPUT -p udp -s 192.168.28.1 -j ACCEPT $IPTABLES -A INPUT -p udp -s 192.168.29.1 -j ACCEPT $IPTABLES -A INPUT -p tcp -s 192.168.20.1 --dport 3128 -j ACCEPT $IPTABLES -A INPUT -p tcp -s 192.168.28.1 --dport 3128 -j ACCEPT #Полный доступ к инету $IPTABLES -A FORWARD -s 192.168.27.38 -j ACCEPT $IPTABLES -A FORWARD -s 192.168.27.29 -j ACCEPT $IPTABLES -A FORWARD -s 192.168.27.21 -j ACCEPT $IPTABLES -A FORWARD -s 192.168.27.12 -j ACCEPT $IPTABLES -A FORWARD -s 192.168.27.15 -j ACCEPT $IPTABLES -A FORWARD -s 192.168.27.4 -j ACCEPT

#===========Полный полный инет. #Исключаем из редиректа на проксю опр. ip, соот-но идем в инет мимо прокси и без его ограничений $IPTABLES -t nat -A PREROUTING -p tcp -s 192.168.27.12 --dport 80 -j ACCEPT #=============================================================================================

$IPTABLES -t nat -A PREROUTING -d 91.185.35.42 -p tcp --dport 6070 -j DNAT --to-destination 192.168.27.3:6070 $IPTABLES -A FORWARD -d 192.168.27.3 -p tcp --dport 6070 -j ACCEPT $IPTABLES -A FORWARD -s 192.168.27.3 -p tcp --sport 6070 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 5001 -j ACCEPT #$IPTABLES -A INPUT -i tun+ -p tcp --dport 5001 -j ACCEPT

for ssh_client in 94.25.125.102 192.168.27.0/24 192.168.20.0/23 192.168.0.0/16 0.0.0.0/0 do $IPTABLES -A INPUT -p tcp -s ${ssh_client} --dport 22 -j ACCEPT done

$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -s 192.168.57.0/24 -d 192.168.27.0/24 -j ACCEPT $IPTABLES -A FORWARD -d 192.168.57.0/24 -s 192.168.27.0/24 -j ACCEPT $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

for dc in 192.168.20.6 192.168.29.3 192.168.28.4 192.168.2.3 192.168.3.4 192.168.0.99 192.168.7.6 192.168.27.4 do $IPTABLES -A FORWARD -s ${dc} -d 192.168.0.0/16 -j ACCEPT $IPTABLES -A FORWARD -d ${dc} -s 192.168.0.0/16 -j ACCEPT done

#Yandex================ $IPTABLES -A FORWARD -s 192.168.27.0/24 -d 213.180.193.0/24 -j ACCEPT #========================= #===========Заворачиваем все ip на проксю========================================================== #$IPTABLES -t nat -A PREROUTING -d ! 192.168.0.0/16 -p tcp --dport 80 -j REDIRECT --to-port 3128 #================================================================================================== $IPTABLES -A FORWARD -p tcp -s 192.168.27.0/24 -m multiport --dports 443,22 -j ACCEPT $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A FORWARD -s 192.168.27.0/24 -j REJECT $IPTABLES -t nat -A POSTROUTING -s 192.168.27.0/16 -d 192.168.0.0/16 -j ACCEPT $IPTABLES -t nat -A POSTROUTING -s 192.168.27.0/16 -d 10.0.6.0/24 -j ACCEPT $IPTABLES -t nat -A POSTROUTING -s 192.168.27.0/16 -j SNAT --to-source 91.185.35.77

#374080

DNS сервера прописаны в /etc/resolv.conf?

#374095

Попробуй эти строки закомментировать:

"serega1576" написал:
$IPTABLES -I FORWARD 1 -t mangle -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
$IPTABLES -I OUTPUT 1 -t mangle -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

И прописать такую:

text
$IPTABLES -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 800:1536 -j TCPMSS --clamp-mss-to-pmtu
#374153
Bif написал:
DNS сервера прописаны в /etc/resolv.conf?

Ага, прописаны восьмерки - 8.8.8.8

#374154
JonnyBekoff написал:
Попробуй эти строки закомментировать:
[quote="serega1576"]$IPTABLES -I FORWARD 1 -t mangle -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
$IPTABLES -I OUTPUT 1 -t mangle -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

И прописать такую:

text
$IPTABLES -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 800:1536 -j TCPMSS --clamp-mss-to-pmtu

[/quote]

Хорошо, попробую. А за что вообще отвечает данное правило?

Войдите или зарегистрируйтесь, чтобы ответить.