搭建代理服务器-ADSL拨号(客户端)

部署-ADSL拨号服务器

Posted by TuoX on June 13, 2017

嗨,大家好。今天终于把所谓的动态获取ip的环境给搭建好了。这篇文章说的是怎么搭建一个动态vps服务器。

首先,我们得寻找一个拥有ADSL拨号的服务器。我呢,百度了一大堆,然后选了一家带宽10M,位于广州的服务器。大家可以自己去寻找,我不做广告,哈哈。

选用的服务器是centos,代理软件用的是tinyproxy,客户端代码为python2。

作为vps服务器做的事情有两个:

  • 定时拨号
  • 将新的ip发送给服务端

迫不及待啦,赶紧登录服务器配置起来。

登录之后,输入ls,会发现有ppp.sh这个文件。

对了,这个就是我们的拨号程序。输入:

sh ppp.sh

然后继续输入我们的账号密码,出现以下图片的内容就表示成功。

接着我们进行拨号看看

adsl-start

之后ping一个网站试试

ping www.baidu.com

再者,我们需要安装一下一个代理软件,tinyproxy

yum install -y tinyproxy

安装完之后我们需要配置一下tinyproxy。

vi /etc/tinyproxy/tinyproxy.conf

这个是代理端口,我设置成6666.就是需要点不一样。

这个是允许的ip,我直接去掉允许所有的访问,为了测试方便。当然你也设置成只有你的服务器可以访问。

其次将User nobody修改为User root。Group nogroup注释掉。

之后,我们重启一下服务,就可以让设置生效啦。

service tinyproxy start

这个命令是查看网络设备器的命令,ppp0就是我们的网卡,ip为61.144.82.138

ifconfig

到我们的另外一台服务器测试下,这个代理是不是已经成功。

curl -x 61.144.82.138:6666 www.baidu.com

成功获取到内容就说明可以了。

到此我们就搭建好了服务器的设置,但是这样子还不够的,如何定时进行拨号以及发送新的ip到服务端。我用python代码来实现它。

    def restart_adsl(self):
        '''
        进行重新拨号
        1.首先进行adsl的拨号
        2.进行拨号后ip的获取
        3.将新的ip发送到服务端
        4.等待一段时间,继续程序以及出现错误的一些处理方式
        '''
        while 1:
            print 'adsl will restart'
            status, output = commands.getstatusoutput(ADSL_BASH)
            if status == 0:
                print 'adsl start successfully'
                ip = self._get_ip()
                if ip:
                    print 'new ip: %s' % ip
                    self._send_ip(ip)
                    print 'wait %s seconds' % ADSL_CYCLE
                    time.sleep(ADSL_CYCLE)
                else:
                    print 'ip is null or empty'
            else:
                print 'adsl start is failed'
            time.sleep(1)

以上是部分代码,接着看下自动拨号的魔力

这里说下,与服务端的交互。我这里采用混淆md5加密的方式,相对而言,起到那么一点点的作用。至于完整的代码,我会在写服务端文章的时候一起公布并且传到github上面,大家耐心等待。