注意: IP代理精灵仅提供国内ip网络节点,不提供境外网络节点,不能用于任何非法用途或访问境外封闭网站,不能跨境联网,只能用于合法的国内网络加速。

请登录 注册

首页 > 新闻资讯 > 解析使用动态ADSL拨号的VPS服务器搭建稳定IP代理

解析使用动态ADSL拨号的VPS服务器搭建稳定IP代理

来源:IP代理精灵 作者:admin 时间:2019-12-25 14:58:45

解析使用动态ADSL拨号的VPS服务器搭建稳定IP代理!介绍 什么是ADSL,我们为什么要使用ADSL拨号的VPS服务器来搭建IP代理池?

解析使用动态ADSL拨号的VPS服务器搭建稳定IP代理

ADSL属于DSL技术的一种,全称Asymmetric Digital Subscriber Line( 非对称数字用户线路),亦可称作非对称数字用户环路。 是一种新的数据传输方式。 ADSL技术提供的上行和下行带宽不对称,因此称为非对称数字用户线路。

平常我们看到的VPS或云服务器,它的IP地址通常是固定不变的,主要用于建站。而动态IP拨号服务器则主要用于更换IP,也可以在服务器上直接部署业务,比较方便,但不能用于建站,这也是二者最大的区别。

ADSL拨号服务器又叫动态拨号VPS、动态IP VPS或者拨号VPS,主要是相对于平常所见到的固定IP 的VPS服务器而言的。ADSL拨号服务器可以在VPS服务器上实现更换IP的作用,拨一次号换一次IP,从而实现不断更换IP的功能,像在爬虫采集、网络营销、大数据分析、软件挂机、抢票秒杀等多个领域都有广泛运用。

实现思路

一、设置代理服务器

这里我们使用TinyProxy来搭建我们的代理服务器

安装TinyProxy yum install -y epel-release yum update -y yum install -y tinyproxy

如过无法下载,请先进行拨号。不同的服务商的拨号命令可能不同,我这里使用的是pppoe-start

配置TinyProxy安装完成之后还需要配置一下TinyProxy才可以用作代理服务器,需要编辑配置文件,它一般的路径是/etc/tinyproxy/tinyproxy.conf 配置端口号,默认端口号8888 Port 8888 配置运行连接的主机如果想任何主机都可以连接,那就直接将它注释即可,所以在这里我们选择直接注释,也就是任何主机都可以使用这台主机作为代理服务器了。#Allow 127.0.0.1 重启服务service tinyproxy start 验证代理服务器这里我们检测一下我们的代理,我是用的是在线检测代理网站image.png

当然,你也可以使用requests库或者直接使用linux的curl的命令

二、整体实现

整体的流程大概如下:

image.png 客户端:项目结构

1、 pppoe.sh 拨号脚本,主要是实现重新拨号的几个命令。

2、 request.sh 请求服务器的脚本,主要是实现拨号后请求服务器的操作。

3、 request.conf 配置文件。

4、 request.Log 日志文件

需要注意的是,我们每台VPS服务器都需要搭建代理服务,如果VPS服务器过多的情况下我们可以写一个脚本来自动进行安装配置

request.conf在这里配置我们脚本的KEY以及服务器地址KEY=godlei SERVER=http://45.76.212.133/record

KEY相当于是访问服务器的凭证,如果KEY值不一致将不会不能访问服务器。SERVER是我们服务器的地址,请求该地址时服务器会把客户端的IP记录并保持到Redis数据库

pppoe.sh我们通过该脚本来进行拨号。不同的VPS拨号服务器的提供商的拨号命令不一样,我这里的是通过pppoe-start来进行拨号#配置该shell的目录的环境变量 PATH=$PATH:/client/ export PATH #拨号命令 pppoe-stop pppoe-start pppoe-status

记得在前两行配置一下环境变量,配置上拨号命令所在的目录,以防出现脚本无法运行的问题。

request.sh我们通过该shell来进行配置文件的读取,拨号脚本的调用、向服务器发送请求#!/bin/bash # 检查执行脚本时是否传入参数 if [ "$#" != 1 ];then echo "param error;请传入您配置文件的路径." exit 0 fi KEY="" SERVER="" DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # 读取配置文件信息 load_config() { cfg=$1; content=`cat ${cfg}`; KEY=`echo "${content}" |grep 'KEY'| sed 's/^KEY=[\"]\(.*\)[\"]/\1/'`; SERVER=`echo "${content}" |grep 'SERVER'| sed 's/^SERVER=[\"]\(.*\)[\"]/\1/'`; KEY=${KEY:4} SERVER=${SERVER:7} } # 重新拨号 change_proxy() { . $DIR/pppoe.sh } # 发送请求 send_request() { echo $SERVER/$KEY; curl $SERVER/$KEY; } main() { load_config $1 change_proxy send_request } main $1 定时调度以及日志记录这里我们通过crontab来实现定时任务的调度#设置定时任务 crontab -e # 输入crontab的实例命令,每两分钟执行一次.注意这种的写法最小间隔是分钟 */2 * * * * /client/request.sh /client/request.conf >> /client/request.log

最前面的*/2是2分钟执行一次,后面接着的是你需要执行的shell路径以及该shell执行所需的参数,最后则是输出成一个日志进行记录

如果你有按秒执行的需求,可以参考这里centos 定时任务按秒执行crontab服务端

代理IP存储在服务端的Redis数据库,所以我们需要在我们的服务器上面安装Redis数据库

#安装 yum install redis # 开启服务 systemctl start redis

项目结构

image.png

1、config.py 配置文件

2、db.py 数据库文件

3、main.py Flask主程序,提供两个接口,一个是接收客户端请求,然后将IP保存,另外一个是获取当前保存的IPconfig.py配置文件

(1)KEY 是客户端请求服务器时的凭证,在client的request.conf也有相同的配置,二者保持一致即可。

(2)NEED_AUTH 在获取当前保存的IP(即代理的IP)的时候,为防止自己的主机代理被滥用,在获取IP的时候,需要加权限验证。

(3)AUTH_USER和AUTH_PASSWORD分别是认证用户名密码。

(4)PORT默认端口,返回保存的结果中会自动添加这个端口,组成一个IP:PORT的代理形式。

注意默认是8888,你需要用Squid或者TinyProxy配置下代理,端口是8888,这里端口8888即默认的拨号VPS的代理端口,这里配置下保证输出结果自动拼接端口。

(5)Redis相关的配置

(6)TEST_URL:验证代理是否可用的网址;TEST_CYCLE:验证代理的时间间隔

db.py数据库文件

定义了一个Redis的类,实现了一些Redis操作的方法

main.py主程序

Flask的主程序,实现了接受客户端的请求以及API接口的提供五、代码


最新资讯

推荐阅读

  1. 26

    2019-10

    判断代理IP是否正常的方法

    判断代理IP是否正常的方法!使用代理IP时,总是会碰到一堆这样那样的问题,对于细心的朋友来说,静下心来慢慢找出问题,然后解决问题;对于一些比较急躁的朋友,往往不知道如何下手,不知

  2. 12

    2019-05

    一个搭建代理IP池的方法

    突破次数的限制就可以使爬虫更高效的工作,代理IP是突破次数限制,提高爬虫高效工作的最好的工具。所以,很多人都想通过建立IP池的方法,实现换IP突破限制,那么这IP池如何进行搭建呢?

  3. 03

    2021-07

    高匿代理越来越受欢迎,你知道高匿代理的实现原理是什么

    高匿代理越来越受欢迎,你知道高匿代理的实现原理是什么吗?高匿代理现如今备受欢迎,作为代理中往往被首选的一种代理方式,它能极大的隐藏用户的真实Ip地址,可以使用户在访问互联网服

  4. 12

    2019-04

    HTTPS代理有哪些优势?

    对于HTTP和HTTPS,只要上网的人基本都是认识的,看起来HTTPS只是比HTTP多了一个“S”,但实际上并不是那么简单的。HTTPS可以说是HTTP的安全版,从这一点上来看,大家应该都会选择使用HTTPS的,但

  5. 22

    2019-08

    什么是代理IP?有什么功能特点?

    作为一个互联网工作者,在工作中难免碰到一些这样的问题:如果你是一名淘宝店主,你可能会担心刷单太多被发现惨遭封店;如果你是一名网络推广员,你可能会担心发帖太多导致IP地址被屏

  6. 15

    2020-04

    IP代理是如何保护客户信息?

    IP代理是如何保护客户信息?现如今互联网技术哪些更为关键?是速率?或者技术应用?事实上更为关键的点,则是经常被许多人所忽视的,应该是每一个使用人的隐私保护安全可靠。不清楚许多人是