[TOC]

0x00 前言简述

Q: 操作系统的全局代理?

答:我们常常听说网络代理例如Socket、Http代理,全局代理即系统所有的流量都是通过该代理通道进行通信, 然而这个还不能说是全称走代理,只能说是90%的应用都可以使用这个设置来实现代理访问,但这个只是针对于个别软件由于他们更不都不走http协议,所有代理的方式不是绝对的,只有网关流量代理是完全代理的;

Q: 网上关于Linux中http_proxy的设置说明错误

答: Linux操作系统全局代理配置主要在于环境变量的设置 http_proxy 该变量是支持http以及socket的;
比如 curl、git 软件默认使用http_proxy这个环境变量来设置代理服务器,所以在linux下只要设置了 http_proxy 环境变量就能被这些软件识别;
比如 chrome 和 yum 软件针对http_proxy可能不会生效,比如chrome用的是server_proxy这个变量,而且是在启动时设置才生效。


0x01 代理服务搭建


0x02 代理配置

Linux 全局代理

操作系统中代理变量的配置:

环境变量 描述 值示例
http_proxy 为http变量设置代理;默认不填开头以http协议传输 http://10.0.0.51:8080
http://user:pass@10.0.0.10:8080
socks4://10.0.0.51:1080
socks5://192.168.1.1:1080
https_proxy 为https变量设置代理; 同上
ftp_proxy 为ftp变量设置代理; 同上
all_proxy 全部变量设置代理,设置了这个时候上面的不用设置 同上
no_proxy 无需代理的主机或域名; 可以使用通配符; 多个时使用“,”号分隔; .aiezu.com,10...,192.168.., *.local,localhost,127.0.0.1

设置方式:

  • (1) 临时生效(当前shell下)

    1
    2
    3
    4
    5
    export proxy="http://192.168.5.14:8118"
    export http_proxy=$proxy
    export https_proxy=$proxy
    export ftp_proxy=$proxy
    export no_proxy="localhost, 127.0.0.1, ::1"
  • (2) 永久生效

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    # 针对上面变量的设置方法
    1、在/etc/profile文件
    2、在~/.bashrc
    3、在~/.zshrc
    4、在/etc/profile.d/文件夹下新建一个文件xxx.sh

    # 例如
    sudo tee /etc/profile.d/custom_proxy.sh <<'END'
    export proxy="http://192.168.1.1:8080"
    # export proxy="socks5://192.168.1.1:1080"
    export http_proxy=$proxy
    export https_proxy=$proxy
    export ftp_proxy=$proxy
    export no_proxy="localhost, 127.0.0.1, ::1"
    END

取消环境变量的设置:

1
2
3
4
unset http_proxy
unset https_proxy
unset ftp_proxy
unset no_proxy


Ubuntu-apt 代理配置

代理参数命令:

1
2
3
4
# 使用 Squid cache(简称为Squid)是一个流行的自由软件(GNU通用公共许可证)的代理服务器和Web缓存服务器。
export http_proxy=http://192.168.1.2:3128
export https_proxy=http://192.168.1.2:3128
sudo apt -o Acquire::http::proxy="http://192.168.1.2:3128/" update


CentOS-yum 代理配置

yum代理配置文件变量配置:

1
2
# 单独设置yum代理访问,如下文件的变量
echo "proxy=http://127.0.0.1:8080/" >> /etc/yum.conf


Tsocks 代理配置

1
2
3
4
5
6
7
8
# 客户端
$ sudo apt-get install tsocks

# 配置文件
$ sudo vi /etc/tsocks.conf
# 把Server设置为你的代理服务器IP,一般为127.0.0.1
# 把Server_type设置为5
# 把Server_port设置为与代理服务器对应的配置