Jun 10, 2025 No Comments 内网服务器利用跳板机代理访问公网  这里介绍一个开源代理软件,无需安装就可使用! ## 下载地址 官网下载:https://3proxy.ru/download/stable/ Github仓库下载:https://github.com/3proxy/3proxy/releases ## 使用教程 ### 简单方式 最简单方式,仅需五步完成! 第一步:直接新建或修改配置 3proxy.cfg ``` nserver 8.8.8.8 nserver 8.8.4.4 nscache 65536 proxy -p808 allow * * ``` 第二歩:打开命令行终端  第三步:输入启动命令 .\\3proxy.exe  第四步:查看本机IP,可利用 ipconfig 查看。或者网络配置信息中查看! 第五步:在需要联网的服务器上执行以下内容(请将 192.168.1.50 换成 你自己的本机IP即可) ``` export proxy="http://192.168.1.50:808" export sproxy="socks://192.168.1.50:808" export http_proxy=$proxy export FTP_PROXY=$proxy export ftp_proxy=$proxy export all_proxy=$sproxy export ALL_PROXY=$sproxy export HTTPS_PROXY=$proxy export https_proxy=$proxy export HTTP_PROXY=$proxy export no_proxy="localhost, 127.0.0.1, ::1" ``` ### 配置文件 以下是完整配置文件说明,需要更多功能可参考使用。 ``` #!/usr/local/bin/3proxy # 是的,3proxy.cfg 可以是可执行的,在这种情况下,你应该放置类似以下内容: # config /usr/local/3proxy/3proxy.cfg # 来指定在重新加载时 3proxy 应该读取哪个配置文件。 # system "echo Hello world!" # 如果代理启动时需要执行某些外部命令,可以使用 system。 # 我们可以配置 nservers 来避免不安全的 gethostbyname() 使用 。 nserver 10.1.2.1 nserver 10.2.2.2 # nscache 很好地节省了速度、流量和带宽。 nscache 65536 # nsrecord porno.security.nnov.ru 0.0.0.0 # 没有人能够通过名称访问 porno.security.nnov.ru。 # nsrecord wpad.security.nnov.ru www.security.nnov.ru # wpad.security.nnov.ru 将解析为 www.security.nnov.ru。 timeouts 1 5 30 60 180 1800 15 60 # 在这里我们可以更改超时值。 users 3APA3A:CL:3apa3a "test:CR:$1$qwer$CHFTUFGqkjue9HyhcMHEe1" # 注意,"" 是必需的,否则 $... 被视为包含文件名。 # $1$qwer$CHFTUFGqkjue9HyhcMHEe1 是 MD5 加密格式的 'test' 密码。 # users $/usr/local/etc/3proxy/passwd # 这个例子展示了如何包含密码文件。对于包含的文件, # 和 被视为字段分隔符。 # daemon # 现在我们将不再依赖任何控制台(守护进程化)。daemon 必须在 *nix 上给出 # 任何重要命令之前。 service # 在 NT 下如果希望 3proxy 作为服务启动,则 service 是必需的。 # log /var/log/3proxy/log D log c:\3proxy\logs\3proxy.log D # log 允许指定日志文件位置和轮换,D 表示日志文件每天创建一次。 # logformat "L%d-%m-%Y %H:%M:%S %z %N.%p %E %U %C:%c %R:%r %O %I %h %T" # logformat "Linsert into log (l_date, l_user, l_service, l_in, l_out, l_descr) values ('%d-%m-%Y %H:%M:%S', '%U', '%N', %I, %O, '%T')" # 兼容 Squid access.log: # # "- +_G%t.%. %D %C TCP_MISS/200 %I %1-1T %2-2T %U DIRECT/%R application/unknown" # 或者,更兼容的格式没有 %D # "- +_G%t.%. 1 %C TCP_MISS/200 %I %1-1T %2-2T %U DIRECT/%R application/unknown" # # 兼容 ISA 2000 代理 WEBEXTD.LOG(字段用 TAB 分隔): # # "- + L%C %U Unknown Y %Y-%m-%d %H:%M:%S w3proxy 3PROXY - %n %R %r %D %O %I http TCP %1-1T %2-2T - - %E - - -" # # 兼容 ISA 2004 代理 WEB.w3c # # "- + L%C %U Unknown %Y-%m-%d %H:%M:%S 3PROXY - %n %R %r %D %O %I http %1-1T %2-2T - %E - - Internal External 0x0 Allowed" # # 兼容 ISA 2000/2004 防火墙 FWSEXTD.log(字段用 TAB 分隔): # # "- + L%C %U unnknown:0:0.0 N %Y-%m-%d %H:%M:%S fwsrv 3PROXY - %n %R %r %D %O %I %r TCP Connect - - - %E - - - - -" # # 兼容 HTTPD 标准日志(Apache 和其他): # # "-""+_L%C - %U [%d/%o/%Y:%H:%M:%S %z] ""%T"" %E %I" # 或者更兼容的格式没有错误代码 # "-""+_L%C - %U [%d/%o/%Y:%H:%M:%S %z] ""%T"" 200 %I" # 在日志文件中,我们希望用下划线代替空格。 logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T" # archiver gz /bin/gzip %F # archiver zip zip -m -qq %A %F # archiver zip pkzipc -add -silent -move %A %F archiver rar rar a -df -inul %A %F # 如果指定了压缩器,日志文件将在关闭后被压缩。 # 你应该指定扩展名、路径到压缩器和命令行,%A 将被替换为存档文件名,%f - 原始文件名。 # 原始文件不会被删除,因此压缩器应处理它。 rotate 30 # 我们将保留最后 30 个日志文件。 auth iponly # auth nbname # auth strong # auth 指定用户身份验证类型。如果你指定 none,代理不会做任何事情来检查用户名。 # 如果你指定 nbname,代理会向客户端的 UDP/137 发送 NetBIOS 名称请求包并解析 # messanger 服务的 NetBIOS 名称。 # Strong 意味着代理将检查密码。对于强身份验证,未知用户将不允许使用代理,无论 ACL 如何。 # 如果你不想检查用户名但希望 ACL 生效,你应该指定 auth iponly。 # allow ADMINISTRATOR,root # allow * 127.0.0.1,192.168.1.1 * * # parent 1000 http 192.168.1.2 80 * * * 80 # allow * 192.168.1.0/24 * 25,53,110,20-21,1024-65535 # 如果用户名匹配 ADMINISTRATOR 或 root,或者客户端 IP 是 127.0.0.1 或 192.168.1.1, # 我们将允许一切。否则,我们将重定向任何对端口 80 的请求到我们的 Web 服务器 192.168.0.2。 # 我们将允许从网络 192.168.1.0/24 到 SMTP、POP3、FTP、DNS 和非特权端口的任何出站连接。 # 注意,redirect 也可以与代理或 portmapper 一起使用。它允许你为不同的客户端重定向请求到不同的端口或不同的服务器。 # 共享互联网访问 external 10.1.1.1 # external 是 3proxy 用于出站连接的地址。0.0.0.0 表示任何接口。使用 0.0.0.0 不好,因为它允许连接到 127.0.0.1。 internal 192.168.1.1 # internal 是代理监听传入请求的接口地址。127.0.0.1 表示只有本地主机才能使用此代理。这是你应该为客户端指定的代理 IP。 # 你可以使用 0.0.0.0,但你不应该这样做,因为这样可能会导致你的网络中出现开放代理。 auth none # 不需要身份验证。 dnspr # dnsproxy 监听 UDP/53 以回答客户端的 DNS 请求。它需要 nserver/nscache 配置。 # external $./external.ip # internal $./internal.ip # 这只是提供外部和内部地址的另一种形式,允许你从文件中读取这些地址。 auth strong # 我们想保护内部接口。 deny * * 127.0.0.1,192.168.1.1 # 并允许 HTTP 和 HTTPS 流量。 allow * * * 80-88,8080-8088 HTTP allow * * * 443,8443 HTTPS proxy -n auth none # pop3p 将在没有任何身份验证的情况下使用。这不是一个好的选择, # 因为可以使用 pop3p 访问任何端口。 pop3p tcppm 25 mail.my.provider 25 # udppm -s 53 ns.my.provider 53 # 我们可以将端口 TCP/25 映射到提供商的 SMTP 服务器,并将 UDP/53 映射到提供商的 DNS。 # 现在我们可以使用我们的代理作为 SMTP 和 DNS 服务器。 # -s 开关用于 UDP 表示“单包”服务 - 而不是设置一段时间的关联,只会在 1 个数据包上设置关联。 # 对于像 DNS 这样的服务非常有用,但对于一些大规模的服务(如多媒体流或在线游戏)则不然。 auth strong flush allow 3APA3A,test maxconn 20 socks # 对于 socks,我们将使用密码身份验证和不同的访问控制 - # 我们刷新先前配置的 ACL 列表并创建一个新的列表,以允许用户 test 和 3APA3A 从任何位置连接。 auth strong flush internal 127.0.0.1 allow 3APA3A 127.0.0.1 maxconn 3 admin # 仅允许用户 3APA3A 从 127.0.0.1 地址通过 127.0.0.1 地址访问管理界面。 # 将外部 80 和 443 端口映射到内部 Web 服务器。 # 下面的例子展示了如何使用 3proxy 在内部网络中发布 Web 服务器到互联网。 # 我们必须切换内部和外部地址并刷新任何 ACL。 # auth none # flush # external $./internal.ip # internal $./external.ip # maxconn 300 # tcppm 80 websrv 80 # tcppm 443 websrv 443 # chroot /usr/local/jail # setgid 65535 # setuid 65535 # 现在我们不需要任何 root 权限。我们可以 chroot 并设置 setgid/setuid。 ``` 最后更新于 2025-06-10 13:56:07 并被添加「」标签,已有 29 位童鞋阅读过。 本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
此处评论已关闭