区域网搭建代理访问外网

38 阅读1分钟

区域网搭建代理访问外网

1. 需求说明:

最近有项目要部署到服务器上,需要测试。麻烦的是有两点,单位使用的是内网,内网可以远程服务器,机房新建目前不能访问外网;服务器的系统是ubuntu18,个人电脑是ubuntu20,有很多差异,不是太好使用离线安装的方式。所以有在本地电脑搭建代理,服务器通过本地电脑访问外网。

2. 安装过程

参考博客 blog.csdn.net/uncle_ll/ar…

  • 本地安装squid sudo apt-get install squid
  • 配置/etc/squid/squid.conf文件
    # 修改端口为代理的端口
    http_port xxxx
    
    # 加入A服务器的ip,可以有多个
    acl lc src xx.xxx.xxxx.xxx
    
    # 设置http_access能够访问上述服务器
    http_access allow lc
    
    # 将http_access deny all注释修改为http_access allow all
    http_access allow all
    
    建议将以前的squid.conf做备份然后重新配置一个文件。
  • 在服务器端的环境路径中加入export http_proxy=xx.xx.xx.xxx:xxxx,例如在.bashrc中加入。
vim ~/.bashrc
#末尾加入
export http_proxy=http://xx.xxx.xxx.xxx:xxxx #代理ip和端口
# 保存后,运行。
source ~/.bashrc

3. apt和pip源使用代理

$ sudo vim /etc/apt/apt.conf.d/proxy.conf
#对于没有用户名和密码的代理服务器,添加以下条目,如下:
#对于 HTTP 代理,添加以下条目:
Acquire::http::Proxy "http://proxy-IP-address:proxyport/";
#对于 HTTPS 代理,添加以下条目:
Acquire::http::Proxy "https://proxy-IP-address:proxyport/";
# 保存
$ sudo apt-get update

4 可能遇到的bug

遇到最多的是权限问题,可能需要加权限; 还有通过:

systemctl status squid.service 

查看运行状态;发现squid FATAL: Unable to open HTTP Socket;查看squid日志,/var/log/squid,下面有access.log,还有cache.log 查看cache.log,会发现引起的错误是端口已经被使用。本人解决的方法是重启电脑。最后正常了。