使用squid让能上外网的linux(centos)代理内网liunx电脑上网

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u013195275/article/details/102736398

       在局域外环境中,一台可以访问外网的电脑为linux系统,本例为centos7系统,局域网IP为192.168.1.15,通过在此台电脑上安装squid开放3128端口(此端口可在后面修改),使另一台内网192.168.1.16的linux系统不能访问外网电脑通过192.168.1.15:3128端口实现可以访问外网。

第一步,在能上外网的centos系统上安装squid

1.使用yum命令, 可以直接在线安装

yum install squid

2.安装完成后, cd  /etc/squid/ 目录下, 修改squid.conf 文件中的内容,修改之前, 可以先备份该文件:

cp squid.conf squid.conf_bak

2.1 找到文件中的 http_access deny all   将其修改为 http_access allow all  表示所有用户都可以访问这个代理。

2.2 找到  http_port 3128  修改为  http_port 192.168.1.15:3128  这里的IP及端口是 squid的代理IP及端口。

  注:该IP是能访问外网机器的IP地址,如果是本机,则可以不用修改该地址(本例是本机,所以不修改)。

3. 下面启动squid 代理

3.1  执行squid -k parse命令

[root@localhost squid]# squid -k parse

3.2 执行squid -z命令

    [root@localhost squid]# squid -z
    2019/08/22 15:46:01| Creating Swap Directories启动

3.3 执行 systemctl start  squid 启动
    [root@localhost squid]# systemctl start  squid
    Starting squid:                                            [  OK  ]
3.4  查看启动监听3128端口是否启动
    [root@localhost squid]# netstat -tunlp | grep 3128

第二步,在需要上网的linux机器上操作

4. 以上代理服务安装完毕并启动后,下面去需要通过代理上网的电脑上(在本例中是192.168.1.16机器)设置环境变量,以使16机器可以通过15机器实现访问外网。

4.1 在192.168.1.16的机器上执行以下命令,使得生效:

export http_proxy=http://192.168.1.15:3128
export https_proxy=http://192.168.1.15:3128

4.2 以上环境变量只是在此次终端中生效,若要重启或重新打开终端生效,在/etc/bashrc或者/etc/profile等文件中中添加以上环境变量。

4.3 因为一般以上场景都是临时使内网中的一台机器能上网(软件升级,或在线安装一些资源),故一般执行4.1即可。

4.4,测试16机器可以上网 wget https://www.baidu.com

第三步,一些异常问题解决。

如果软件安装都正常,测试 wget https://www.baidu.com还是出现“正在连接 192.168.1.15:3128... 失败:拒绝连接。”,考虑15机器上的防火墙或iptale等问题,可以参考另一篇"centos7防火墙简单操作",可以先把防火墙关掉再测试,若可以上网,再考虑修改防火墙开放3128端口。

猜你喜欢

转载自blog.csdn.net/u013195275/article/details/102736398