区域网搭建代理访问外网

本文介绍了在内网环境中,通过在本地电脑搭建Squid代理,让服务器通过代理访问外网的方法,包括安装Squid、配置环境变量、设置apt和pip源以及Conda的代理设置。还提到可能遇到的权限问题及解决方法。
摘要由CSDN通过智能技术生成

区域网搭建代理访问外网

1. 需求说明:

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

2. 安装过程

参考博客 https://blog.csdn.net/uncle_ll/article/details/119383350的内容。

  • 本地安装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=http://xx.xx.xx.xxx:xxxx,例如在.bashrc中加入。
vim ~/.bashrc
#末尾加入
export http_proxy=http://xx.xxx.xxx.xxx:xxxx #代理ip和端口
# 保存后,运行。
source ~/.bashrc
# 或者
sudo vim /etc/profile
#末尾加入和上方相同的内容,使用
source /etc/profile #刷新

3. apt和pip源使用代理

  • apt源
    参考:https://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
  • pip 代理:参考https://hendiary.top/pip_proxy.html
#临时使用
pip install xxxx --proxy="myproxyname.mydomain.com:port"
# 长久更改
pip config set global.proxy http://username:password@proxyserver:port
# 会返回配置文件路径,有需要去更改。
  • conda 设置代理
    参考:https://blog.csdn.net/xiangfengl/article/details/127393790
vim ~/.condarc
# 添加
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - defaults
show_channel_urls: true
 
proxy_servers:
  http: http://xxx.xx.com:8080
  https: https://xxx.xx.com:8080
ssl_verify: false
  • docker 代理:参考:https://docs.docker.com/config/daemon/systemd/
    博客:https://blog.csdn.net/peng2hui1314/article/details/124267333
    需要注意的一点是,根据本人实测写入deamon.json的代理网址后面一定要有‘/’结尾。否则不好用,会报错。

4 可能遇到的bug

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

systemctl status squid.service 

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

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值