Ubuntu代理网络配置
配置网络代理后,代理流量仍旧会被代理规则过滤,而不是全局代理。
终端
临时配置
终端临时使用网络代理,关闭终端后,网络代理也将会关闭。
export http_proxy="http://your-proxy-server:port"
export https_proxy="https://your-proxy-server:port"
# 代理所有协议app_proxy
export all_proxy="http://your-proxy-server:port"
# 若想使用sock5h进行连接。sock5h的优势是在远端进行DNS解析,更安全
export http_proxy="socks5h://your-proxy-server:port"
export https_proxy="socks5h://your-proxy-server:port"
export all_proxy="socks5h://your-proxy-server:port"
# 推荐
export http_proxy="http://your-proxy-server:port"
export https_proxy="https://your-proxy-server:port"
export all_proxy="socks5h://your-proxy-server:port"
永久配置
# 编辑 .bashrc
vim ~/.bashrc
# 末端添加
export http_proxy="http://your-proxy-server:port"
export https_proxy="https://your-proxy-server:port"
export all_proxy="http://your-proxy-server:port"
# sock5h版本
export http_proxy="socks5h://your-proxy-server:port"
export https_proxy="socks5h://your-proxy-server:port"
export all_proxy="socks5h://your-proxy-server:port"
# 我推荐的版本,混合使用。这样不影响一些只能通过http或者https协议的命令
export http_proxy="http://your-proxy-server:port"
export https_proxy="https://your-proxy-server:port"
export all_proxy="socks5h://your-proxy-server:port"
# 刷新.bashrc
source ~/.bashrc
验证
若能输出配置的代理地址,则配置成功。也可通过curl
命令查看网站信息。
注意:ping
命令使用ICMP
协议,大多数代理服务器不处理ICMP
流量。
echo $http_proxy
echo $https_proxy
echo $all_proxy
# 或者curl命令查看某国外网站信息。-I查看网站信息
curl -I XXX.com
APT软件包管理工具
部分软件仓库服务器位于国外,在国内可能连接超时,如Typora仓库、spotify仓库等。
如果终端配置了代理,可以使用sudo -E apt update
临时继承代理环境变量。同样通过curl
命令检测是否设置成功。
sudo vim /etc/apt/apt.conf.d/95proxies
# 添加以下内容
Acquire::http::Proxy "http://your-proxy-server:port/";
Acquire::https::Proxy "https://your-proxy-server:port/";
# 文件传输,虽然目前一般都用http或者https
Acquire::ftp::Proxy "https://your-proxy-server:port/";
# socks5h版本。apt(UBuntu 18.04之后的版本)支持socks5,所以全用socks5也没问题
Acquire::http::Proxy "socks5h://your-proxy-server:port/";
Acquire::https::Proxy "socks5h://your-proxy-server:port/";
Acquire::ftp::Proxy "socks5h://your-proxy-server:port/";
SSH
因为咱们ssh连接的服务器一般都是国内的,所以不推荐修改。
- SOCKS代理:代理地址以
socks5://
或者socks://
开头。-x
:表示后面是SOCKS代理服务器地址-X 5
:表示SOCKS 5代理。如果是使用SOCKS 4,则改为-X 4
%h
和%p
:分别表示目标主机和端口。SSH 会自动将它们替换为代理服务器地址your_proxy_address
和端口号your_port
# 修改ssh配置文件。如果没有,则创建
vim ~/.ssh/config
# 在文件内添加
Host example.com
Hostname example.com
ProxyCommand nc -x your_proxy_address your_port -X 5 %h %p
- HTTP代理:代理地址以
http://
开头。- 借助工具
corkscrew
。sudo apt install corkscrew
- 借助工具
# 修改ssh配置文件。如果没有,则创建
vim ~/.ssh/config
# 在文件内添加
Host example.com
Hostname example.com
ProxyCommand corkscrew your_proxy_address your_port %h %p