拨号服务器centos系统如何搭建代理服务

2025/3/13 14:06:00

首先我们需要准备一台centos系统的拨号VPS,以拨号云www.bovps.com平台为例,购买成功后会得到服务器远程IP、用户名、密码、拨号账号、拨号密码,如图所示: 

图片1.png

找到ssh远程连接服务器所需信息,比如我的IP和端口是:hbqj5.bovps.cn:20118,用户名:root

然后登录服务器,可以使用xshell或者putty等ssh远程登录工具。

图片2.png

登录成功后正式开始搭建!

1、测试拨号

VPS默认已经配置好了拨号,所以无需额外进行配置,只需要使用拨号命令即可实现拨号和 IP 地址的切换。

开始拨号 pppoe-start

拨号命令成功运行,没有报错信息,耗时约几秒,结束之后整个主机就获得了一个有效的 IP 地址。

停止拨号 pppoe-stop

运行完该命令后,网络就会断开,之前的 IP 地址也会被释放。

如果要想切换 IP,只需要将上面的两个命令组合起来,先执行pppoe-stop,再执行pppoe-start。每次拨号,ifconfig 命令观察主机的 IP,如图所示:

图片3.png

可以看到,这里我们执行了停止和开始拨号的命令之后,通过 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 就成功运行了:

图片4.png

默认情况下,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,运行结果如图所示:

图片5.png

可以看到返回结果的 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

即可得到返回结果:

图片6.png

这时候我们就可以在本机上直接使用云主机的代理了!

3、本机浏览器里面如何配置代理IP

浏览器设置,代理服务器,代理服务器设置,填写对应的代理IP和端口,选择使用对应的代理,就成功切换浏览器IP了。如图所示:

图片7.png