一、环境介绍
VPS服务器
操作系统:CenterOS 7.1
HTTP代理服务器:TinyProxy
二、整体架构
三、使用TonyProxy设置代理服务器
1)安装tinyproxy
yum install -y epel-release
yum update -y
yum install -y tinyproxy
2)配置文件
vi /etc/tinyproxy/tinyproxy.conf
1.更改端口,默认8888。可以更改为自己喜欢的端口,也可不修改,直接使用8888端口。
找到"Port"字样,修改紧跟其后的数字即可。
2.修改允许连接代理的ip。默认只允许本地。
找到"Allow"字样,修改其后的ip,如有多个,可写多个Allow。这里选择注释掉,允许所有ip连接。
3)开启服务
service tinyproxy start
或者
/bin/systemctl start tinyproxy.service
4) 开放端口
也可以使用其他验证方式,如浏览器使用此代理,访问获取本地ip的网站等。
若验证失败,可能是端口没开,使用iptables开放端口。
iptables -I INPUT -p tcp --dport 4396 -j ACCEPT
三、VPS客户端定时拨号以及发送本地IP给服务器
项目结构
1、 pppoe.sh 拨号脚本
#!/bin/bash
if [ "$#" != 1 ];then
echo "param error;请传入您配置文件的路径."
exit 0
fi
KEY=""
SERVER=""
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() {
pppoe-stop
pppoe-start
pppoe-status
}
send_request() {
echo $SERVER/$KEY;
curl $SERVER/$KEY;
}
main() {
load_config $1
change_proxy
send_request
}
main $1
2、 pppoe.conf 配置文件
KEY=服务器IP
SERVER=http://xx.xx.xx.xx/record
3、使用crontab定时任务
vim /etc/crontab
*/5 * * * * root cd /client && ./pppoe.sh pppoe.conf >> pppoe.log
四、代理服务器端接受IP并提供接口
五、设置定时任务
1) 判断定时任务是否已经开启
service crond status
service crond start 开启服务
service crond stop 关闭服务
service crond restart 重启服务
service crond reload 重新载入配置
2) 亲测使用crond -e添加任务的方式并不会让pppoe任务成功执行