Linux代理配置

您所在的位置:网站首页 linux查看代理 Linux代理配置

Linux代理配置

2023-12-28 13:01| 来源: 网络整理| 查看: 265

准备

sudo yum -y install curl sudo yum -y install wget sudo yum -y install telnet

测试方法

curl https://www.baidu.com wget https://www.baidu.com telnet www.baidu.com 443代理测试

HTTP代理测试

curl --proxy http://127.0.0.1:10808 www.google.com curl --proxy http://127.0.0.1:3128 www.google.com

如果是Socks5代理,可以参考下面的代码

curl --socks5 127.0.0.1:10808 www.google.com curl --socks5 127.0.0.1:10808 www.baidu.com系统全局HTTP代理

注意

这种方式只适合http代理

设置全局代理,需要编辑profile文件

vi /etc/profile

末尾添加以下代理配置,参考代理是否需要用户名密码

#无用户名密码 export http_proxy=http://proxy_ip:prot export https_proxy=https://proxy_ip:prot #有用户名密码 export http_proxy=http://username:password@proxy_ip:prot export https_proxy=https://username:password@proxy_ip:port export ftp_proxy=http://username:password@proxyserver:port

export http_proxy=http://127.0.0.1:10808 export https_proxy=http://127.0.0.1:10808

或者建议这样配置

http_proxy=proxy.abc.com:8080 https_proxy=$http_proxy ftp_proxy=user:[email protected]:8080 no_proxy=*.abc.com,10.*.*.*,192.168.*.*,*.local,localhost,127.0.0.1 export http_proxy https_proxy ftp_proxy no_proxy

其中:

http_proxy:http协议使用代理服务器地址; https_proxy:https协议使用安全代理地址; ftp_proxy:ftp协议使用代理服务器地址; user:代理使用的用户名; password:代理使用用户名的密码; proxy.abc.com:代理地址,可以是IP,也可以是域名; 8080:使用的端口; no_proxy:不使用代理的主机或IP。

生效配置文件

source /etc/profile

查看当前已设置代理

echo $http_proxy echo $https_proxy

测试

wget www.google.com # 或者 telnet google.com 80转换Socks代理

系统代理只能设置HTTP代理,但是使用privoxy将socks5转换为http代理

安装privoxy

yum install -y privoxy

配置privoxy

vim /etc/privoxy/config

末尾增加下面内容,/后面是代理服务器的地址:端口,注意最后还有个.

forward-socks5t / 127.0.0.1:10808 .

启动服务

systemctl start privoxy

设置一下系统代理变量

export all_proxy=http://127.0.0.1:8118 export http_proxy=http://127.0.0.1:8118 export https_proxy=http://127.0.0.1:8118

注:8118是privoxy默认使用的端口

配置Socks5代理软件

Linux 有一个能够强迫任何软件通过 SOCKS 代理上网的工具,其名就是 tsocks。Tsocks 是一个透明 SOCKS 代理软件。

1 安装

sudo apt-get install tsocks

2 配置

修改配置文件:

sudo vim /etc/tsocks.conf

将其内容改成以下几行并保存退出:

local = 192.168.1.0/255.255.255.0 #local表示本地的网络,也就是不使用socks代理的网络 server = 127.0.0.1 # SOCKS 服务器的 IP server_type = 5 # SOCKS 服务版本 server_port = 10808 # SOCKS 服务使用的端口

3 使用

tsocks 你的软件 &全局Socks5配置sudo iptables -t nat -F # 清空nat表规则 sudo iptables -t nat -N SSR # 新建SSR链 sudo iptables -t nat -A SSR -j REDIRECT -p tcp --to-ports 12345 -m comment --comment 'redsocks全局SSR代理' sudo iptables -t nat -A OUTPUT -j SSR -p tcp -m comment --comment '跳转到redsocks全局SSR代理'

我们要做的就是放行局域网和socks5代理服务器IP,此处我们往OUTPUT链里设置,设置到SSR链也可以,不过最好用SSR链专门来设置白名单

sudo iptables -t nat -I OUTPUT -j RETURN -m comment --comment '局域网放行' -d 0.0.0.0/8 sudo iptables -t nat -I OUTPUT -j RETURN -m comment --comment '局域网放行' -d 10.0.0.0/8 sudo iptables -t nat -I OUTPUT -j RETURN -m comment --comment '局域网放行' -d 100.64.0.0/10 sudo iptables -t nat -I OUTPUT -j RETURN -m comment --comment '局域网放行' -d 127.0.0.0/8 sudo iptables -t nat -I OUTPUT -j RETURN -m comment --comment '局域网放行' -d 169.254.0.0/16 sudo iptables -t nat -I OUTPUT -j RETURN -m comment --comment '局域网放行' -d 172.16.0.0/12 sudo iptables -t nat -I OUTPUT -j RETURN -m comment --comment '局域网放行' -d 192.168.0.0/16 sudo iptables -t nat -I OUTPUT -j RETURN -m comment --comment '局域网放行' -d 198.18.0.0/15 sudo iptables -t nat -I OUTPUT -j RETURN -m comment --comment '局域网放行' -d 224.0.0.0/4 sudo iptables -t nat -I OUTPUT -j RETURN -m comment --comment '局域网放行' -d 240.0.0.0/4 sudo iptables -t nat -I OUTPUT -j RETURN -m comment --comment 'socks5代理服务器放行' -d 47.95.255.46

设置白名单

release_domain="cip.cc" sudo iptables -t nat -I SSR -j RETURN -m comment --comment '白名单域名:'"$release_domain" -d $release_domain

由于这个操作很频繁,所以我写了一行交互式的脚本

read -p 请输入要设置白名单的域名: release_domain && sudo iptables -t nat -I SSR -j RETURN -m comment --comment '白名单域名:'"$release_domain" -d $release_domain && sudo iptables -t nat -nvL --line-number

查看SSR链规则

sudo iptables -t nat -nvL SSR --line-number

添加自定义命令在.bashrc中添加alias别名,从而提供一键启用/关闭代理的命令

alias ssrclose="sudo iptables -t nat -j RETURN -m comment --comment 临时关闭代理 -I SSR" alias ssrstart="sudo iptables -t nat -j RETURN -m comment --comment 临时关闭代理 -D SSR" alias ssrstatus="sudo iptables -t nat -nvL SSR --line-number" function ssradd() { read -p 请输入要设置白名单的域名: release_domain && sudo iptables -t nat -I SSR -j RETURN -m comment --comment '白名单域名:'"$release_domain" -d $release_domain && sudo iptables -t nat -nvL --line-number }DNS污染的解决办法

什么是pdnsd

p dns d -> Proxy DNS Daemon

安装pdnsd执行tcp查询,主要配置如下 官方文档

server { label = "root-servers"; root_server=on; ip = 8.8.8.8; timeout = 5; uptest = query; interval = 30m; ping_timeout = 300; purge_cache = off; exclude = .localdomain; policy = included; preset = off; }

启动本地DNS服务:

sudo pdnsd --tcp -mto -d

为了开机启动pdnsd,编辑 /etc/default/pdnsd 文件,修改下列行:

START_DAEMON=yes

接下来修改/etc/resolv.conf,将DNS改为127.0.0.1即可



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3