拨号服务器centos系统如何搭建代理服务
首先我们需要准备一台centos系统的拨号VPS,以拨号云www.bovps.com平台为例,购买成功后会得到服务器远程IP、用户名、密码、拨号账号、拨号密码,如图所示:
找到ssh远程连接服务器所需信息,比如我的IP和端口是:hbqj5.bovps.cn:20118,用户名:root
然后登录服务器,可以使用xshell或者putty等ssh远程登录工具。
登录成功后正式开始搭建!
1、测试拨号
VPS默认已经配置好了拨号,所以无需额外进行配置,只需要使用拨号命令即可实现拨号和 IP 地址的切换。
开始拨号 pppoe-start
拨号命令成功运行,没有报错信息,耗时约几秒,结束之后整个主机就获得了一个有效的 IP 地址。
停止拨号 pppoe-stop
运行完该命令后,网络就会断开,之前的 IP 地址也会被释放。
如果要想切换 IP,只需要将上面的两个命令组合起来,先执行pppoe-stop,再执行pppoe-start。每次拨号,ifconfig 命令观察主机的 IP,如图所示:
可以看到,这里我们执行了停止和开始拨号的命令之后,通过 ifconfig 命令获取的网卡信息的 IP 地址就变化了,所以我们成功实现了 IP 地址的切换。
2、如何搭建代理服务器
当前我们使用的云主机是 Linux 的 CentOS 系统,目前它是无法作为一个 HTTP 代理服务器来使用的,因为该云主机上面目前并没有运行相关的代理软件。要想让该云主机提供 HTTP 代理服务,我们需要在其上面安装并运行相关的代理服务。
目前业界比较流行的有 Squid 和 TinyProxy,配置完成之后它们会在特定端口上运行一个 HTTP 代理。知道了该云主机当前的 IP 之后,我们就能使用该云主机上 Squid 或 TinyProxy 提供的 HTTP 代理了。
以 Squid 为例来进行配置,首先安装 Squid,在 CentOS 的安装命令如下:
sudo yum -y update
yum -y install squid
运行完之后,就成功安装好 Squid 了。
启动 Squid
systemctl start squid
配置开机自动启动
systemctl enable squid
Squid 成功运行之后,我们可以查看Squid的运行状态:
systemctl status squid
如图所示,我们可以看到 Squid 就成功运行了:
默认情况下,Squid会运行在 3128 端口,也就是相当于在云主机的 127.0.0.1:3128 上启动了代理服务,测试下 Squid 的代理效果,在该云主机上运行 curl 命令请求 https://httpbin.org,并配置使用云主机的代理:
curl -x http://127.0.0.1:3128 https://httpbin.org/get这里 curl 的 -x 参数代表设置 HTTP 代理,由于这是在云主机上运行的,所以代理直接设置为了 http://127.0.0.1:3128。
运行完毕之后,我们再运行下 ifconfig 获取下当前云主机的 IP,运行结果如图所示:
可以看到返回结果的 origin字段的IP就和ifconfig 获取的 IP 地址是一致的。
接下来,我们在自己本机上(非云主机)运行如下命令测试下代理的连通情况,这里 IP 就需要更换为云主机本身的 IP 了,刚才可以看到云主机当前拨号的 IP 是116.209.101.220,所以需要运行如下命令:curl -x http://116.209.101.220:3128 https://httpbin.org/get 然而发现并没有对应的输出结果,代理连接失败。
其实原因在于默认情况下 Squid 并没有开启允许外网访问,我们可以进行 Squid 的相关配置,如更改当前代理运行端口、允许连接的 IP,配置高匿代理等等,这些都需要修改 /etc/squid/squid.conf 文件。
要允许公网访问,最简单的方案就是将 /etc/squid/squid.conf 中的该行:
http_access deny all
修改为:
http_access allow all
意思是允许来自所有 IP 的请求连接。
另外还需要在配置文件的开头 acl 配置的部分添加该行内容:
acl all src 0.0.0.0/0
另外我们还想将 Squid 配置成高度匿名代理,这样目标网站就无从通过一些参数如 X-Forwarded-For 来得知爬虫机本身的 IP 了,所以在配置文件中再添加如下配置:
request_header_access Via deny all
request_header_access X-Forwarded-For deny all
另外有的云主机厂商可能默认封禁了 Squid 的 3128 端口,建议更换一个端口,比如 3328,修改改行:
http_port 3128
修改为:
http_port 3328
修改完配置之后保存配置文件,然后重新启动 Squid 即可:
systemctl restart squid
这时候在本机上(非云主机)重新运行刚才的 curl 命令,同时更改下端口:
curl -x http://116.209.101.220:3328 https://httpbin.org/get
即可得到返回结果:
这时候我们就可以在本机上直接使用云主机的代理了!
3、本机浏览器里面如何配置代理IP
浏览器设置,代理服务器,代理服务器设置,填写对应的代理IP和端口,选择使用对应的代理,就成功切换浏览器IP了。如图所示: