太阳√成集团tyc234cc[主页]

服务项目:网站建设、仿站、程序开发、APP开发设计、移动网站开发设计、企业网站设计、电子商务网站开发、网站维护、网站推广、UX/UI 、HTML5、CSS3、JS / Jquery ...
四川浚浚科技有限公司
四川浚浚科技有限公司 (开发设计官网)TEL : 15308000360 / QQ : 38585404

您的位置:首页 > 技术经验 > 服务器 > 正文

squid tcp_outgoing_address 出口IP随机调用
技术支持服务电话:15308000360 【7x24提供运维服务,解决各类系统/软硬件疑难技术问题】

squid 代理服务器,使用用户名和密码访问代理,对于出口ip的不同方式的调用或者以随机的方式调用,因为服务器使用的是squid 2.7版本的,根据官方手册 3.2版本的有 acl xxx random 1/24 可以随机(未测试)

若此篇文章还不能解决您的问题,请联系QQ:38585404  获取有偿技术服务...

配置如下

http_port 142.4.106.1:3128
http_port 142.4.106.xx:3128
http_port 142.4.106.xx:3128
auth_param basic program /user/lib/squid/libexec/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 12 hours
auth_param basic casesensitive off
#使用用户或者用户组来确定出口的IP
#acl wltony proxy_auth wltony
#acl wltony1 proxy_auth wltony1
#tcp_outgoing_address 142.4.106.xxx wltony
#根据被访问服务器 IP 来确定出口IP
#acl no1 myip 142.4.106.xxx
#tcp_outgoing_address 142.4.106.xxx no1
acl src_73 src 142.4.106.xxx
acl src_74 src 142.4.106.xxx
tcp_outgoing_address 142.4.106.xxx src_73
tcp_outgoing_address 142.4.106.xxx src_74
#first_req 为主访问IP
acl first_req src 142.4.106.1
acl second_req src 142.4.106.xxx
acl second_req src 142.4.106.xxx
cache_peer 142.4.106.xxx parent 3128 0 round-robin no-query login=wltony:xxx
cache_peer 142.4.106.xxx parent 3128 0 round-robin no-query login=wltony:xxx
cache_peer_access 142.4.106.xxx allow first_req
cache_peer_access 142.4.106.xxx allow first_req
cache_peer_access 142.4.106.xxx deny second_req
cache_peer_access 142.4.106.xxx deny second_req
never_direct allow first_req
never_direct deny second_req
#close cache www.haipai.wang
acl NCACHE method GET
no_cache deny NCACHE
acl ncsa_users proxy_auth REQUIRED
acl all src all
header_access Via deny all
header_access X-Forwarded-For deny all
http_access allow ncsa_users
#http_access allow wltony
#http_access allow wltony1
http_access deny all


正向代理: 机器通过该机器访问外部网络.
本例: 使用爬虫去抓取网络数据.但抓取过多时会被封IP.于是, 在一个机器上绑定若干个 IP. 抓取时使用代理.
当然, 可以使用其它代理机器.但这里我们是使用的代理到本机.
 
在本机上绑定了 4 个 IP. 同时运行四个抓取实例. 每一个都使用代理, 代理到本机不同的端口.

本机上的 IP 分别是:
22.55.153.1
22.55.153.2
22.55.153.3
22.55.153.4
 
分别使用端口:
22881
22882
22883
22884
 
squid 配置: /etc/squid/squid.conf:
 
# 在代理的时候去掉请求头部.再另行添加代理后的头部
forwarded_for delete
via Deny all
 
# 允许本机访问.如果不加,可能不成功
http_access allow localhost
 
 
# 定义本机上的各个端口
acl p1 myport 22881
acl p2 myport 22882
acl p3 myport 22883
acl p4 myport 22884
 
# 让 squid 监听本机的各个端口
http_port 22881
http_port 22882
http_port 22883
http_port 22884
 
# 定义从 squid 代理往外的数据, 每个 ip 分别使用哪个端口
tcp_outgoing_address 22.55.153.1   p1
tcp_outgoing_address 22.55.153.2   p2
tcp_outgoing_address 22.55.153.3   p3
tcp_outgoing_address 22.55.153.4   p4
 
 
把上面的配置加到当前的配置文件上部即可.
 
配置完后重启 squid 服务.
 
然后再配置爬虫软件使用代理,使用相应的 IP 和端口.
当使用 22881 端口时, 出口使用的 IP 是 ip1.
按上面的 tcp_outgoing_address  配置的规则.
依此类推, 这样, 同时运行四个任务,实际上出去的 IP 就是四个. 就不会被封了. 



上一篇:nginx+php-fpm性能参数优化(配置文件)
下一篇:CentOS下一张网卡设置多个IP

相关热词搜索:squid 随机IP