Linux 使用代理连接网络

Jireh程序猿的那些事 记录分享生活、程序、信息的精彩人生 本文由博客端 https://www.lyile.cn 主动推送
本贴最后更新于 275 天前,其中的信息可能已经水流花落

现在基本上内部网络都是无法连上外网的,主机之间通过跳板机相互链接。所以内网主机安装一些软件会比较麻烦。
虽然可以通过 /etc/profile 配置文件可以配置 http 代理,但是其他一些例如 wget、yum、curl、telnet 这些一个个配置起来就会比较繁琐,而且对 socks5 可能还不支持。
所以推荐一个工具 proxychains-ng,也是 proxychains 的加强版
项目地址: https://github.com/rofl0r/proxychains-ng
主要有以下功能:>

  1. 支持 http/https/socks4/socks5
  2. 支持认证
  3. 远端 dns 查询
  4. 多种代理模式

不足:

  1. 不支持 udp/icmp 转发
  2. 少部分程序和在后台运行的可能无法代理

安装

一键安装脚本(支持 centos | debian | ubuntu) :

wget --no-check-certificate https://raw.githubusercontent.com/Jireh012/One-click-Script/main/tools/install-proxychains-ng.sh && chmod +x install-proxychains-ng.sh && sh install-proxychains-ng.sh

或者手动获取源码进行编译安装

git clone https://github.com/rofl0r/proxychains-ng

#编译步骤
cd proxychains-ng
./configure --prefix=/usr --sysconfdir=/etc
make 
make install
make install-config
cd .. && rm -rf proxychains-ng

如果出现 checking whether $CC defines __APPLE__ ... ./configure: 32: cc: not found 相关的错误,表示没有安装 gcc 编译环境,需要安装 gcc 环境

ubuntu : apt install gcc -y
debian : apt-get install gcc -y
centos: yum install gcc -y

安装完成后再次执行编译步骤即可。

使用说明

配置文件

安装完成后,需要对 /etc/proxychains.conf 配置文件进行修改

#  Examples:
#
#               socks5  192.168.67.78   1080    lamer   secret
#               http    192.168.89.3    8080    justu   hidden
#               socks4  192.168.1.49    1080
#               http    192.168.39.93   8080

依次是 协议/地址/端口号/用户(如果有的话)/密码(如果有的话)

根据配置文件中 Examples 对文件进行修改,在 [ProxyList] 下载加入你的代理服务器配置,例:

[ProxyList]
# add proxy here ...
socks5  192.168.5.102 8000 private 123456..

使用

proxychains4 程序 参数

测试

proxychains4 curl ip.cn

示例
proxychains telnet baidu.com

也可以指定配置文件

proxychains -f /etc/proxychains-other.conf telnet baidu.com

还可以使用 proxyresolv 通过代理来解析地址

proxyresolv baidu.com

还可以通过 proxychains4 代理一个 shell,在 shell 中执行的命令就会自动使用代理,这样就实现了类似全局代理的功能

proxychains4  -q /bin/bash
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    842 引用 • 907 回帖 • 237 关注
  • CentOS

    CentOS(Community Enterprise Operating System)是 Linux 发行版之一,它是来自于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。两者的不同在于 CentOS 并不包含封闭源代码软件。

    234 引用 • 223 回帖 • 352 关注
  • debian
    7 引用 • 4 回帖
  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    121 引用 • 167 回帖 • 475 关注

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • zjp
    支持者 订阅者

    赞!最近刚折腾完 proxychains-ng,使用方法研究了半天。