解锁服务器外联:TinyProxy一键搭建指南

引言

在服务器需要访问外网的情况下,由于网络安全等原因,许多生产服务器限制了对外网的访问。本文介绍如何通过在一台能够访问外网的服务器上部署TinyProxy来实现代理,使得其他服务器可以通过该代理访问外网。

安装

TinyProxy是一个轻量级的代理服务器,用于实现http或https代理。安装过程非常简单,只需执行以下命令即可:

bash 复制代码
sudo apt-get update
sudo apt-get install tinyproxy

配置文件

在安装完成后,需要配置TinyProxy以满足特定需求。首先,编辑配置文件/etc/tinyproxy.conf

yaml 复制代码
Port 8888  # 代理port,默认是8888, 可以改成任何自己想要的

Allow 127.0.0.1 # 允许能通过该代理的服务器IP
#若想任何IP都可以连到Proxy, 在Allow前面用 # 注释

然而,有时修改完配置后仍然无法正常连接,可能会出现500错误。

该问题的解决办法是DNS问题,这个地方卡住一会儿,在该文件/etc/resolv.conf末尾增加:

复制代码
nameserver 8.8.8.8
nameserver 8.8.4.4

好了一会儿后续该文件又恢复原状,找到原因是由于这个文件是由systemd-resolved服务管理的,不应该手动编辑。systemd-resolved是systemd的一部分,它负责处理DNS解析和名称解析。这个服务会自动处理DNS服务器的添加、删除和重新排序,以及域名的搜索列表。

为了避免可能的配置冲突或服务无法正确启动的问题,systemd-resolved通常会覆盖手动编辑/etc/resolv.conf文件的内容。因此,即使手动编辑了这个文件,一旦systemd-resolved服务重启,它会重新应用自己的配置。

更改DNS服务器或域名搜索列表,应该使用systemd-resolved提供的配置文件/etc/systemd/resolved.conf。这样的更改会在systemd-resolved服务重启时被正确应用。

ini 复制代码
[Resolve]
DNS=8.8.8.8 8.8.4.4
Domains=example.com

在更改后,使用以下命令重启systemd-resolved服务以应用更改:

bash 复制代码
sudo systemctl restart systemd-resolved

启动

运行以下命令完成启动,重启,停止

bash 复制代码
service tinyproxy start/restart/stop

测试

对于要通过代理访问外网的每台机器,需要在网络设置或系统级代理配置中指定代理服务器地址和端口。

arduino 复制代码
export HTTP_PROXY=http://your-proxy-server:8888
export HTTPS_PROXY=http://your-proxy-server:8888

或者,可以在 /etc/profile~/.bashrc 文件中添加这些设置。

然后就可以在该服务器上运行

bash 复制代码
wget baidu.com

参考

相关推荐
云飞云共享云桌面28 分钟前
无需配置传统电脑——智能装备工厂10个SolidWorks共享一台工作站
运维·服务器·前端·网络·算法·电脑
福尔摩斯张36 分钟前
《C 语言指针从入门到精通:全面笔记 + 实战习题深度解析》(超详细)
linux·运维·服务器·c语言·开发语言·c++·算法
虚伪的空想家1 小时前
arm架构服务器使用kvm创建虚机报错,romfile “efi-virtio.rom“ is empty
linux·运维·服务器·javascript·arm开发·云原生·kvm
深藏bIue1 小时前
linux服务器mysql目录下的binlog文件删除
linux·服务器·mysql
虾..2 小时前
Linux 进程状态
linux·运维·服务器
只想安静的写会代码3 小时前
网卡信息查询、配置、常见故障排查
linux·服务器·windows
wavemap4 小时前
阿里云38元一年200M轻量云服务器详细评测
服务器·阿里云·云计算·vps·评测·boboforum
叫致寒吧5 小时前
Nginx基于域名的虚拟主机实操案例
运维·服务器·nginx
咕噜签名-铁蛋7 小时前
云服务器与物理服务器、VPS的区别
运维·服务器
恒创科技HK7 小时前
香港服务器流量有限制和带宽有限制区别在哪?
运维·服务器·网络