云VPS如何设置拨号切换IP
准备工作
-
工具准备:
- 动态VPS:推荐使用云立方的动态VPS,配置为0.5G内存、11G硬盘和20G宽带,年费约1800元。主要用于运行代理服务,通过拨号更换IP实现动态代理效果。
- 固定IP服务器:推荐使用阿里云服务器,配置为1核1G内存和40G云盘,年费约836元。该服务器用于实时获取动态VPS的IP并对外提供接口。
-
系统选择:
- 建议在CentOS7.1系统上进行操作,可以通过管理后台进行预装系统的安装。
环境搭建
-
动态VPS:
- 功能:搭建代理服务,并通过在VPS上拨号切换IP,将切换后的IP传到固定IP的服务器上。
- 工具:代理服务tinyproxy,发送IP使用Python的requests库。
- 连接服务器:通过SSH连接服务器,命令为
ssh user@ip -p port
。 - 拨号操作:断开网络使用
adsl-stop
,拨号使用adsl-start
。 - 查看公网IP:使用
curl http://icanhazip.com
。
-
代理服务搭建(tinyproxy):
- 安装命令:
sudo yum install epel-release -y sudo yum update sudo yum install -y tinyproxy
- 修改配置文件:
vim /etc/tinyproxy/tinyproxy.conf
修改端口为8888,注释掉
Allow 127.0.0.1
表示允许所有人访问代理。 - 启动服务:
service tinyproxy start
- 日志查看:
/var/log/tinyproxy/tinyproxy.log
- 本地测试:
curl -x 'ip:port' -v http://icanhazip.com
- 安装命令:
-
搭建Python环境:
- 安装Python:
sudo yum install yum-utils sudo yum-builddep python curl -O https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz tar xf Python-3.5.0.tgz cd Python-3.5.0 ./configure make sudo make install
- 安装虚拟环境:
cd ~ mkdir venv cd venv python3 -m venv python3-forcrawl source ~/venv/python3-forcrawl/bin/activate
- 安装相应的Python库:
pip install requests pip install -r requirements.txt
- 安装Python:
-
阿里云服务器:
- 功能:接受动态VPS发送的IP,并提供接口,返回动态VPS实时的IP&端口。
- 工具:web服务使用tornado。
- 连接服务器:通过SSH连接服务器,命令为
ssh root@ip -p 22
。 - 搭建Python环境:同上。
- 安装tornado:
pip install tornado
- 启动服务:
redis-server >> /dev/null 2>&1 &
- 连接redis:
redis-cli
代码实现逻辑
-
客户端(动态VPS):
- 通过Python执行断开连接和拨号的操作,成功后匹配获取公网IP,通过requests库将IP发送至服务端。
-
服务端(阿里云服务器):
- 接收动态VPS发送的IP,并提供接口