如何区分反向代理与端口转发,搭建反向代理求助
本贴的来源是可见本人的折腾贴:[软件] 生命在于折腾,All in Boom(自组NAS)的通知系统搭建
自建了通知系统后,有网友推荐搭建反向代理提供内网服务。无奈本人计算机水平薄弱,没有系统学过,只会简单的看教程,高深一些的就不懂了。
原帖里也提到了暂时通过openwrt里的端口转发到docker里的桥接ip地址实现。
上网搜了一下反向代理与正向代理,示意图还是很清晰明了的。
介绍中说反向代理适合与负载均衡、就近访问、保护后端服务器等,这些场景更适合于办公与大规模网络服务。
来说说我的问题吧,我想把一些家庭的服务,比如监控、通知等服务让外网也能访问到,反向代理是符合这个使用场景的,那端口转发是不是也可以适用呢?
我把后端服务的ip地址与端口在路由器里设置转发,只要是访问这个端口就转发到后端服务上。
这个与反向代理有什么区别?反向代理与端口转发,在家庭网络服务上有什么异同?
我曾经尝试想在openwrt上搭建反向代理。搜了一下发现frps,op上有对应的package。继续搜索发现需要frps与frpc,服务端与客户端一起工作,那应该是不太符合我的需求,搭载难度与复杂性较高。
然后又搜到了lucky,尝试一下好像没成功。求助在op下如何快速简单搭建反向代理,是docker下使用nginx proxy manager合适,还是使用单文件的caddy合适?
端口映射是一对一,每个服务都要单独在外部开一个端口;反向代理可以一对多,外部只需要开一个端口,根据访问的不同url映射到内部的不同ip和端口。
只用过npm比较方便无脑,不过如果是家宽因为用不了80/443就要折腾一下了。 端口映射工作在四层,只要是用tcp/udp的都可以映射。反向代理在七层,只适用于web应用 要不试试我说过的那个方法?简单粗暴安全性也没啥问题 Saker_bobo 发表于 2024-8-23 10:26
要不试试我说过的那个方法?简单粗暴安全性也没啥问题
在哪里?没找到
感谢大家,我能想到的,端口映射开很多端口,安全性差一些。
性能上,端口映射和反向代理哪个开销小呢?
—— 来自 鹅球 v3.1.88.3 macos 发表于 2024-8-23 10:17
反向也可以tcpudp的,跟端口映射的差别,嗯,想了下实际情况中端口映射后端是知道客户ip的,这本来就是网关 ...
如果你说的反向是nginx的stream模块(或类似物),那它也是工作在四层的,看上去跟端口映射一样,是一种NAT。
只不过nginx连源地址都改成自身,实际上防火墙的双向NAT也可以做到一样的效果 高卢鸡 发表于 2024-8-23 11:22
在哪里?没找到
感谢大家,我能想到的,端口映射开很多端口,安全性差一些。
性能上,端口映射和反向代理 ...
https://bbs.saraba1st.com/2b/forum.php?mod=viewthread&tid=2193378&page=5#pid65788122
就之前nas贴说过的搞个隧道映射出去 靠隧道回家 开销的话肯定是开个隧道小 > 我想把一些家庭的服务,比如监控、通知等服务让外网也能访问到,反向代理是符合这个使用场景的,那端口转发是不是也可以适用呢?
能做到 不合适。这不是安全性差一些,就完全没有安全性可言,比暴露3389端口到公网还危险
老老实实照楼上说的搭隧道吧 搭隧道,手机端分流怎么弄?总是挂着隧道,正常使用会有一些延迟。
—— 来自 鹅球 v3.1.88.3 本帖最后由 Saker_bobo 于 2024-8-23 15:44 编辑
高卢鸡 发表于 2024-8-23 15:34
搭隧道,手机端分流怎么弄?总是挂着隧道,正常使用会有一些延迟。
—— 来自 鹅球 v3.1.88.3 ...
proxies:
- name: RouterSS
type: ss
server: abc.xyz
port: 11451
cipher: 2022-blake3-aes-128-gcm
password: abcdefg
udp: true
proxy-groups:
- name: 🏠 HOME
type: select
proxies:
- DIRECT
- RouterSS
url: https://connect.rom.miui.com/generate_204
interval: 1200
rules:
- IP-CIDR,192.168.1.0/24,🏠 HOME
猫的配置 最上面是隧道信息 中间写个策略组开关 最下面加条内网规则 完事 1. 如果你是在国内而且不打算用类似zerotier的东西,我建议你自己买个云服务器做公网访问。
2. 正向/反向代理问题
正向代理指的是 我 通过 代理 访问其他人,反向代理是 他人 通过 代理 访问我(的服务器)。所以这个情况下你需要的是反向代理。
3. 端口转发
端口转发是路由器的一个功能,指路由器访问自身的请求转发到内网的机器上。比如路由器的地址是A,内网服务器的地址是B,那么端口转发就是路由器把访问 A:1234 的请求转发到 B:5678 上,并且会把B:5678的返回也转发回去。
4. 我不推荐在你的路由器上去实现反向代理,原因是 a.政策风险,你的宽带是家庭宽带,有这种服务是由风险的 b.技术上来说,你的IP不一定固定而且不一定开放了入站。
5. 有IPv6的花活可以用,但是需要你全链路都有v6地址,我现在不推荐。
综上所述,我推荐的是买一个云服务器作为入口,内部服务用wireguard之类的东西连到云服务器,然后云服务器作为反向代理。 hanyuwei70 发表于 2024-8-23 16:00
1. 如果你是在国内而且不打算用类似zerotier的东西,我建议你自己买个云服务器做公网访问。
2. 正向/反向代 ...
不知啥原因,路由有2408开头的v6地址,但是无法访问外部v6地址。
感谢建议 别没事弄反向变成正向代理
变成网络上的代理肉鸡
最稳妥还是openvbn之类的组网技术,成熟稳定 openwrt上有openvbn的包,装一下就好了
本地生成几个证书,扔上去,配置文件改改就行了
简单简单 你有公网IP吗?有就端口转发,没有就反向代理 推荐13楼的方案 200块买个** 装frps
—— 来自 OPPO PCCM00, Android 10上的 S1Next-鹅版 v3.0.0.81-alpha hanyuwei70 发表于 2024-8-23 16:00
1. 如果你是在国内而且不打算用类似zerotier的东西,我建议你自己买个云服务器做公网访问。
2. 正向/反向代 ...
IPv6现在手机不是默认就有?直接IPv6比云服务器便宜多了吧 都可以,反向代理是代理访问,你的服务器看到的访问都是来自于代理服务器,代理服务器可以根据配置策略实现很多功能,比如公网只开放443端口,但是可以根据访问的url区分是访问服务器1还是服务器2。端口转发就是简单的转发流量。一般家用端口转发就够了 @Saker_bobo 感谢提议,已经查了资料。
@chachi 原先已有,支持分流。wg不支持分流,需通过其他app分流,手机端不方便。 高卢鸡 发表于 2024-8-24 10:47
@Saker_bobo 感谢提议,已经查了资料。
@chachi 原先已有,支持分流。wg不支持分流,需通过其他app分流,手 ...
wg支持基于ip和应用的分流啊 高卢鸡 发表于 2024-8-24 23:47
@Saker_bobo 感谢提议,已经查了资料。
@chachi 原先已有,支持分流。wg不支持分流,需通过其他app分流,手 ...
这套方法好就好在只要你有公网IP就能用 隧道可以走V6直接链接 不影响访问内网V4地址 通过猫这种规则代理程序可以做到只在访问内网IP段的时候才走隧道 我塞了好多个在自己维护的配置里 一键切换各地内网 RaidenII 发表于 2024-8-25 00:08
wg支持基于ip和应用的分流啊
?我搜的不是这样,请大佬赐教 本帖最后由 WiiGe 于 2024-8-26 06:44 编辑
高卢鸡 发表于 2024-8-25 22:30
?我搜的不是这样,请大佬赐教
有个分流方案比较复杂,但是一劳永逸:
自建DNS, 通过DNS拆分(DNS split)技术可以实现客户端在各处均使用统一的域名访问服务器
例如你的nas地址是 https://nas.example.com,你的公网V P S的 IP为X.Y.X.W,内网NAS地址为A.B.C.D
在外部这个地址https://nas.example.com会被公网DNS服务器解析到你的X.Y.X.W,使用V P S隧道流量(如果你的V P S是流量计费的话)访问A.B.C.D,这个教程很多npm,frp,nps都可以
而在内部,你回家了之后你自建的DNS就会是家里的权威DNS服务器,这个DNS解析的返回会是A.B.C.D,你的客户端依旧访问https://nas.example.com,但能自动提速到内网访问的网速(例如家庭10G,56G甚至400G内网
结合我在你原帖中给的docker自动暴露域名的github项目可以实现这样的效果:
docker镜像启动->自动暴露访问点->动态加入homepage或者heimdall主页->DNS被自动通告更新条目,实现内外网流量分流和广告拦截或者游戏加速
同时,整个客户端中配置的访问地址从未变化过
(搞个p的ipv6哇,下馆子吃个饭若是连上不支持ipv6的免费wifi,家中全部设备直接不可达,纯纯给自己添堵 高卢鸡 发表于 2024-8-25 09:30
?我搜的不是这样,请大佬赐教
wg的android app可以选择哪些app在开启隧道的情况下使用或者不使用隧道(黑/白名单)
ip分流是wg隧道的基本配置吧。allowedip规定了哪些ip是隧道内使用(虽然app不能设table=off)
我个人来说,访问家里的任何服务都必须通过wg,这样比直接把服务暴露在公网上安全性还是好很多的
然后在路由层面上再规定,即使通过wg进来,只能访问特定的ip和端口,进一步减小攻击面 蒜灵 发表于 2024-8-24 09:03
IPv6现在手机不是默认就有?直接IPv6比云服务器便宜多了吧
IPv6在你直接运营商的时候确实有,但是ipv6一不一定有入站,二连其他人的wifi的时候不一定拿得到。 WiiGe 发表于 2024-8-26 06:39
有个分流方案比较复杂,但是一劳永逸:
自建DNS, 通过DNS拆分(DNS split)技术可以实现客户端在各处均使用 ...
怎么实现动态加入homepage或者heimdall主页呢? luguozmy 发表于 2024-8-26 13:26
怎么实现动态加入homepage或者heimdall主页呢?
homepage有个叫docker自动服务发现的功能
在homepage里面不要去配什么service, 直接去配置docker实例或者kubernates实例
它自己会靠标签选择器找到服务并暴露出来
详见这篇文档 WiiGe 发表于 2024-8-26 14:27
homepage有个叫docker自动服务发现的功能
在homepage里面不要去配什么service, 直接去配置docker实例或者k ...
heimdall也有类似的服务吗? 我在github没有看到 我粗浅的理解就是反向代理只能搞http(s)?端口转发不限制应用层协议
—— 来自 realme RMX3888, Android 14上的 S1Next-鹅版 v2.5.4 luguozmy 发表于 2024-8-26 17:09
heimdall也有类似的服务吗? 我在github没有看到
我只找到了这个, 我用的是另一个通过traefik-api生成heimdall配置的项目, 当时试了好多种dashboard项目, 比如homer, SUI之类的, 所以我一时半会儿想不起来那个组件叫什么了
后来因为heimdall太慢就没再搞了, 还是homepage甚至你自写个html之类的纯静态的页面更适合做服务入口(主页 上面很多大佬分享了方法,感谢。
提个问题,国内的家庭宽带基本不是固定ip,需要ddns或者云服务器搭隧道。
1.ddns会有更新时间,虽然大部分时间稳定,但是如果用免费的cf解析,国内dns服务器更新会有个过程,有短暂连不上的情况
2.云服务器搭隧道,云服务器的ip地址不变,家宽通过隧道连接云服务器,只要家宽正常在线,ip怎么换也会自动连上ip不换的云服务器。
2是不是比1的方案稳定性更好,但是2会消耗云服务器的流量,能否通过云服务器给家庭内网服务与手机或移动端做一个桥梁,只要家庭与移动端连接上之后,就不用云服务器介入了,不耗流量,无需中转速度快。 高卢鸡 发表于 2024-8-26 23:06
上面很多大佬分享了方法,感谢。
提个问题,国内的家庭宽带基本不是固定ip,需要ddns或者云服务器搭隧道。
...
你是否在搜索: tailscale 高卢鸡 发表于 2024-8-26 23:06
上面很多大佬分享了方法,感谢。
提个问题,国内的家庭宽带基本不是固定ip,需要ddns或者云服务器搭隧道。
...
1只要有能入站的公网IP就行,一般来说IP只会在重拨号的时候变动,你设置系统5点钟重拨号那正常使用你不会有ddns解析问题;
2云服务器搭隧道提供一个稳定的公网IP,就是在国内能直接用**的流量/带宽捉急,你的**上传带宽大概率比你自家上传低;
你想要的这种直连模式就是tailscale/zerotier 高卢鸡 发表于 2024-8-26 23:06
上面很多大佬分享了方法,感谢。
提个问题,国内的家庭宽带基本不是固定ip,需要ddns或者云服务器搭隧道。
...
1只要有能入站的公网IP就行,一般来说IP只会在重拨号的时候变动,你设置系统5点钟重拨号那正常使用你不会有ddns解析问题;
2云服务器搭隧道提供一个稳定的公网IP,就是在国内能直接用服务器的流量/带宽捉急,你的服务器上传带宽大概率比你自家上传低;
你想要的这种直连模式就是tailscale/zerotier Saker_bobo 发表于 2024-8-27 09:34
1只要有能入站的公网IP就行,一般来说IP只会在重拨号的时候变动,你设置系统5点钟重拨号那正常使用你不会 ...
在挂bt、pt、em等,定时重新拨号不太好。
上面两位推荐的我去研究一下
—— 来自 鹅球 v3.1.88.3 高卢鸡 发表于 2024-8-27 11:50
在挂bt、pt、em等,定时重新拨号不太好。
上面两位推荐的我去研究一下
···你自己不重拨运营商也是定时踢你下线的让你重播换IP的 高卢鸡 发表于 2024-8-27 11:50
在挂bt、pt、em等,定时重新拨号不太好。
上面两位推荐的我去研究一下
聊NAT穿透和tailscale 那就必须分享这篇NAT雄文:
NAT 穿透是如何工作的:技术原理及企业级实践
非常清晰易懂, 看完一步到位 高卢鸡 发表于 2024-8-26 23:06
上面很多大佬分享了方法,感谢。
提个问题,国内的家庭宽带基本不是固定ip,需要ddns或者云服务器搭隧道。
...
你这不就是要异地组网?那直接tailscale就完了,很方便
页:
[1]
2