区域网搭建代理访问外网
1. 需求说明:
最近有项目要部署到服务器上,需要测试。麻烦的是有两点,单位使用的是内网,内网可以远程服务器,机房新建目前不能访问外网;服务器的系统是ubuntu18,个人电脑是ubuntu20,有很多差异,不是太好使用离线安装的方式。所以有在本地电脑搭建代理,服务器通过本地电脑访问外网。
2. 安装过程
参考博客 blog.csdn.net/uncle_ll/ar…
- 本地安装squid
sudo apt-get install squid
- 配置/etc/squid/squid.conf文件
建议将以前的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
- 在服务器端的环境路径中加入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源使用代理
- apt源 参考:zhuanlan.zhihu.com/p/629584549 在服务器的apt配置路径/etc/apt/apt.conf.d/新建proxy.conf,写入配置信息
$ 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,会发现引起的错误是端口已经被使用。本人解决的方法是重启电脑。最后正常了。