免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: mengcun123
打印 上一主题 下一主题

[proxy] squid代理服务器的一些疑问 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2014-12-03 10:20 |只看该作者
回复 12# 苏州微信


    做透明代理推荐一下使用软件/?

论坛徽章:
0
12 [报告]
发表于 2014-12-03 10:44 |只看该作者
回复 14# woxizishen

我之前的一位同事配过一个squid透明代理用来限制某些网段上网,后来我问他他说很简单就yum安装一下,然后写一个脚本运行一下iptables就结束了,可是我按照他的方法配置了,脚本还是沿用他的,只是稍微做了一些改动,就是不成功,始终也找不出原因。这令我很困惑,后来他离职了,在qq上也问他,他说根本不用改内核什么的,这令我很困惑。

论坛徽章:
24
天蝎座
日期:2014-05-13 18:05:59IT运维版块每日发帖之星
日期:2015-11-26 06:20:00操作系统版块每月发帖之星
日期:2015-12-02 14:57:54IT运维版块每月发帖之星
日期:2016-01-07 23:01:56IT运维版块每周发帖之星
日期:2016-01-07 23:04:2615-16赛季CBA联赛之青岛
日期:2016-01-23 07:58:272016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之北控
日期:2016-03-23 14:20:06IT运维版块每日发帖之星
日期:2016-04-01 06:20:0015-16赛季CBA联赛之吉林
日期:2016-06-28 13:51:54IT运维版块每日发帖之星
日期:2016-07-01 06:20:00IT运维版块每日发帖之星
日期:2015-11-23 06:20:00
13 [报告]
发表于 2014-12-03 11:53 |只看该作者
回复 16# mengcun123

1.把你的squid配置参数(只要透明代理那段)和你修改过的以及没修改过的防火墙配置贴出来。我来帮你看看

   

论坛徽章:
0
14 [报告]
发表于 2014-12-03 12:09 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
15 [报告]
发表于 2014-12-03 12:18 |只看该作者
回复 17# woxizishen


    #
# Recommended minimum configuration:
#
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7       # RFC 4193 local private network range
acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT

#
# Recommended minimum Access Permission configuration:
#
# Only allow cachemgr access from localhost
http_access allow manager localhost
http_access deny manager

# Deny requests to certain unsafe ports
http_access deny !Safe_ports

# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports

# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
#http_access deny to_localhost

#
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
http_access allow localnet
http_access allow localhost

# And finally deny all other access to this proxy
http_access deny all

# Squid normally listens to port 3128
http_port 3128 transparent

# We recommend you to use at least the following line.
hierarchy_stoplist cgi-bin ?

# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid

# Add any of your own refresh_pattern entries above these.
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

visible_hostname 2014

上面是squid.conf 的配置基本没有什么改动,只加了transparent 和visible_hostname 2014  其他的没有改变

上网环境是一台服务器指挥网段指向proxy ,环境不会有什么问题,因为有很多nat服务器也是正常运作的。

服务器配置情况:RAM 4G ,CPU I3, 硬盘500G,centos6.3 i386,bestserver安装,squid采用yum安装
                       内网卡10.67.1.30
下面是给iptables写的一个脚本


ME_DIR=/etc/squid/

##########################################################
## Clear all policy rule
##########################################################
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F
/sbin/ip route flush cache

##########################################################
## Initization all parameter
##########################################################
/sbin/modprobe ip_tables
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc

/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
##########################################################

HOME_DIR=/etc/squid/

##########################################################
## Clear all policy rule
##########################################################
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F
/sbin/ip route flush cache

##########################################################
## Initization all parameter
##########################################################
/sbin/modprobe ip_tables
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc

/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT

##########################################################
## IP_V4 forward
##########################################################
echo "1"> /proc/sys/net/ipv4/ip_forward
#echo "1048576" >/proc/sys/net/ipv4/ip_conntrack_max
#/sbin/sysctl -w net.ipv4.tcp_max_syn_backlog="2048"

/sbin/route add -net 10.87.200.0/24 gw 10.67.1.30

/sbin/ifconfig eth0 -promisc
/sbin/ifconfig eth1 -promisc

/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

/sbin/iptables -A FORWARD -s 10.87.0.0/16 -d 0.0.0.0/0 -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 3128



exit 0

谢谢

论坛徽章:
24
天蝎座
日期:2014-05-13 18:05:59IT运维版块每日发帖之星
日期:2015-11-26 06:20:00操作系统版块每月发帖之星
日期:2015-12-02 14:57:54IT运维版块每月发帖之星
日期:2016-01-07 23:01:56IT运维版块每周发帖之星
日期:2016-01-07 23:04:2615-16赛季CBA联赛之青岛
日期:2016-01-23 07:58:272016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之北控
日期:2016-03-23 14:20:06IT运维版块每日发帖之星
日期:2016-04-01 06:20:0015-16赛季CBA联赛之吉林
日期:2016-06-28 13:51:54IT运维版块每日发帖之星
日期:2016-07-01 06:20:00IT运维版块每日发帖之星
日期:2015-11-23 06:20:00
16 [报告]
发表于 2014-12-03 16:37 |只看该作者
1.代理服务器squid.conf主配置文件设定
http_port 3128 transparent    你既然没有使用80端口  请改成 http_port 本代理服务器ip地址 3128  transparent


2.echo "1048576" >/proc/sys/net/ipv4/ip_conntrack_max   你的内存才4gb,你为何给iptables的表,增加这么大 2的16次方。你确定你的脚本已经把这一行mac掉了。如果没有mac,请你把数值改成上一贴给你的100000或者还是改回65536。你的系统是32bit还是64bit


3.我建议你现在先查下 ip_conntrack 记录前十名用的最多的几个ip用户
cat /proc/net/ip_conntrack | cut -d ' ' -f 10 | cut -d '=' -f 2 | sort | uniq -c | sort -nr | head -n 10
数量      用户ip地址
xx           192.xxx.xxx.xxx

grep conn /proc/slabinfo  查看当前ip_conntrack buffer 使用状况


如果是个别用户连接上千,那很肯能该用户在使用类似p2p软件,多线程下载东西,如果排除不是这个问题,你要去电脑看看,这个用户电脑是不是中毒啦。如果是前者,你就把预设连接
established connection 延迟时间设断一点
echo "3600" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established (也就是一个小时,预设延迟是5天,432,000 秒)










论坛徽章:
0
17 [报告]
发表于 2014-12-04 08:53 |只看该作者
回复 20# woxizishen
1、已经改成  

    http_port 10.67.1.30:3128 transparent
2、echo "1048576" >/proc/sys/net/ipv4/ip_conntrack_max这一条确实么有用
   
#echo "1048576" >/proc/sys/net/ipv4/ip_conntrack_max
#/sbin/sysctl -w net.ipv4.tcp_max_syn_backlog="2048"
一开始用的是64位系统,现在是32位,想问一下64位系统这两条参数怎么改

3、cat /proc/net/ip_conntrack | cut -d ' ' -f 10 | cut -d '=' -f 2 | sort | uniq -c | sort -nr | head -n 10
运行下提示  “没有那个文件或目录”

echo "3600" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
这条运行下提示 “没有那个文件或者目录”
想说一下是centos6.3的

谢谢帮忙!

论坛徽章:
24
天蝎座
日期:2014-05-13 18:05:59IT运维版块每日发帖之星
日期:2015-11-26 06:20:00操作系统版块每月发帖之星
日期:2015-12-02 14:57:54IT运维版块每月发帖之星
日期:2016-01-07 23:01:56IT运维版块每周发帖之星
日期:2016-01-07 23:04:2615-16赛季CBA联赛之青岛
日期:2016-01-23 07:58:272016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之北控
日期:2016-03-23 14:20:06IT运维版块每日发帖之星
日期:2016-04-01 06:20:0015-16赛季CBA联赛之吉林
日期:2016-06-28 13:51:54IT运维版块每日发帖之星
日期:2016-07-01 06:20:00IT运维版块每日发帖之星
日期:2015-11-23 06:20:00
18 [报告]
发表于 2014-12-04 13:46 |只看该作者
回复 21# mengcun123


1、echo "1048576" >/proc/sys/net/ipv4/ip_conntrack_max这一条确实么有用
你的centos版本这么新,早都变了,你执行这个没用的。
echo "1048576" > /proc/sys/net/nf_conntrack_max。你的竟然是32bit系统,建议你改成100000就好了。




2.cat /proc/net/ip_conntrack | cut -d ' ' -f 10 | cut -d '=' -f 2 | sort | uniq -c | sort -nr | head -n 10
运行下提示  “没有那个文件或目录”

你的版本太高,名称已经改成nf_conntrack
cat /proc/net/nf_conntrack


如果执行撒都没有,记得cut -d ‘’ 这个2点里面没有空格。




3.echo "3600" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established
这条运行下提示 “没有那个文件或者目录”
想说一下是centos6.3的

高版本路径是这个:
echo "3600" >  /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established

改这些参数都是有一定的危险性的,建议你测试几次,以最稳定的时候较佳。我给你的建议只是个参考,其实系统预设5天是有他自己的考量的,你首先是要执行上面那个命令查询是谁占用最多了iptables的表,找到他才是解决问题关键。



论坛徽章:
0
19 [报告]
发表于 2014-12-04 16:54 |只看该作者
回复 22# woxizishen


    cat /proc/net/ip_conntrack | cut -d ' ' -f 10 | cut -d '=' -f 2 | sort | uniq -c | sort -nr | head -n 10

这个命令下只能看到一个数字,看不到ip地址

论坛徽章:
0
20 [报告]
发表于 2014-12-04 16:58 |只看该作者
回复 22# woxizishen

我把那个空格拿掉了,可以看到另个ip地址
一个是公网的ip,一个是我正在测试上网ip地址,前面的值只有1和2,比较小
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP