由于 SQUID 服务器设置,互联网速度变慢

由于 SQUID 服务器设置,互联网速度变慢

最近我为我们的办公室设置了一个 squid 服务器。

我的电脑(A)上装有

  • 两张以太网卡,一张用于互联网,另一张用于本地网络
  • 它有 Ubuntu 服务器操作系统,其中安装了 squid-server 和 dhcp3-server
  • 我添加了一些 iptable 规则,使其像路由器一样工作,并将所有 http 流量重定向到 3128 端口
关联是我的参考。

两天来一切都很顺利。突然间,网速急剧下降。当我将网线连接到笔记本电脑测试网速时,网速很好。当我再次将其重新连接到计算机 A 时,一切正常。这种情况在一周内发生了 4 次。这里有人能帮我解释一下为什么网速会下降,而当我重新连接网线时,网速又恢复正常了吗?

编辑:
重启系统(计算机 A)没有效果。我更改了 iptables,这样 http 流量就不会再重定向到 3128 端口,但互联网速度仍然没有变化。我认为问题不在于 squid,而在于其他东西。以下是我的 iptable 规则

SQUID_SERVER="10.1.1.1"

INTERNET="eth1"

LAN_IN="eth0"

SQUID_PORT="3128"

PROXYSERVERS=(Atlanta Baltimore Boston Chicago Dallas Denver Houston KansasCity LosAngeles Miami NewYork Philadelphia Phoenix SanAntonio SanDiego SanJose Seattle Washington)
SERVERLEN=${#PROXYSERVERS[*]}
I=0

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

modprobe ip_conntrack
modprobe ip_conntrack_ftp

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

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT

iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT

while [ $I -lt $SERVERLEN ]; do
    iptables -t nat -A PREROUTING -i $LAN_IN -p tcp -d ${PROXYSERVERS[$I]}.wonderproxy.com --dport 80 -j ACCEPT 
    let I++
done
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT

iptables -A INPUT --protocol tcp --dport 80 -j ACCEPT
iptables -A INPUT --protocol tcp --dport 443 -j ACCEPT
iptables -A INPUT --protocol tcp --dport 22 -j ACCEPT

iptables -A INPUT -j LOG
iptables -A INPUT -j DROP

答案1

我还会寻找 DNS 问题,以防万一……

答案2

当速度下降时,您可以尝试刷新 Squid 缓存,以检查问题是否与缓存对于您的机器来说太大有关:

squid -k shutdown
mv /var/squid/cache /var/squid/cache.old
squid -z
squid
rm /var/squid/cache.old

(将 /var/squid/cache 替换为您的 Squid 缓存目录)

这应该会清理您的缓存,并且如果这不能解决问题,您可以确保您的性能问题与该框无关。否则,这意味着您可能需要在您的框上增加更多内存(Squid 的性能直接取决于可用内存)。

相关内容