有偿找懂路由 iptables tcp udp 的老哥解决一个全端口转发的问题

2023-08-29 13:38:05 +08:00
 AaIT

机器 A:1.1.1.1
机器 B:2.2.2.2

二台都是具有独立公网 IP 的 KVM 虚拟机
公网 IP 都是静态配置在虚拟机内部也就是经典网络

A 只允许 B 的 IP 入站,其他 IP 全部屏蔽流量进不来
这样就导致远程管理 ssh 也进不去了,所以需要 B 把流量转发到 A 上

B 的 IP 完全为 A 提供服务,希望能实现访问 B 的任意端口就等于访问 A 的对应端口
需要能转发 TCP 和 UDP 流量,当然 TCP 这个简单些,UDP 这个就比较麻烦了

A 交付给客户,所以方案尽量不用在 A 的机器上安装什么东西
B 客户用不了,只是作为透明转发

方案还是有很多,比如可以组 IP 隧道然后路由到隧道里
或者直接 A 做内网穿透客户端 B 做内网穿透服务器端
但这些都需要在 A 上安装程序做对接

IP 路由的话好像改不了源 IP 这样压根过不了 A 的防火墙
目前尝试 iptables 端口段转发性能不是太好,另外 UDP 能通但无法传输数据

有经验的老哥请加我微信,谢谢

2861 次点击
所在节点    程序员
31 条回复
1423
2023-08-30 00:11:31 +08:00
op 在博客里喷友商“迷惑路由” https://aait.io/blog/63.html
结果自己搞不懂技术方案,跑论坛里发帖请教

真是迷惑行为
northernsnowx
2023-08-30 00:35:26 +08:00
笑死,喷了半天 AperNet ,结果现在又想来复刻人家的架构了 23333
AaIT
2023-08-30 01:12:02 +08:00
@northernsnowx 他那个出口住宅 IP 不是独享的,是多人共享变动的,而且并不是所有流量都走住宅 IP 出去
我说的没错呀,我是详细测试过才说的,如果他确实是独享的住宅 IP 那我没啥好说的
我们这是独享的 IP ,IP 是静态配置在虚拟机内部的,可以保证是独享
多人共享的住宅 IP 说白了就是 NAT 嘛,外面套了一个独享的机房 IP
他的方案就类似上面老哥说的那种思路,你愿意买一个和别人共享的住宅 IP 拿来做业务做直播吗
花同样甚至更便宜买独享的住宅 IP 不是更香,而且我们还是自己拉的宽带
Jirajine
2023-08-30 01:12:04 +08:00
楼上说的对,这是一个 XY PROBLEM ,你把住宅 IP 分配给交付给客户的虚拟机,已经跑偏了。
交付给客户的虚拟机本身不需要分配公网 ip ,只有内网 ip 即可。通过内网穿透或 vpn 隧道的方式让客户能够通过 ssh/rdp 访问。
公网 ip 分配给客户虚拟机的网关,客户虚拟机通过这个网关上网。如果允许客户在这个 ip 上开放服务的话,只需要在网关上做 1:1NAT ,也就是 DMZ 转发。同样的要控制客户能使用哪些端口和防扫描,也只需要在这个网关设备上配置防火墙。
AaIT
2023-08-30 01:15:12 +08:00
@1423 #21 AperNet 是迷惑路由我说的没有任何问题
稍微懂点的都能看得出来本质区别,一个人不可能解决所有问题
而且我发帖写的很清楚有偿,有愿意说两句愿意指点下的表示感谢
有能力强的想赚点零花钱,一个需要指导一个有技术,大家你情我愿,这有什么问题
AaIT
2023-08-30 01:20:53 +08:00
@northernsnowx 而且我从始至终说的是如何把流量引导到住宅 IP 的虚拟机上
而不是说如何用机房 IP 做自定义路由搞些花活,你要喷好歹搞清楚重点
我们自己有资源,IP 不够用就再拉宽带就可以了,没必要用那种方法来糊弄人
还复刻他的架构,A 那个虚拟机里面配的静态 IP 是机房 IP 出站路由的 IP 才是住宅 IP
而且还会经常变动,这种一看就不是独享的
AaIT
2023-08-30 01:24:57 +08:00
@Jirajine 从技术上讲这种方法不好,但是住宅 IP 静态配置到虚拟机里可以自证是独享的住宅 IP
这一点很重要,就像很多卖住宅 Socks5 的都说他的是独享的或者说你在用的时候是独享的
这个怎么证明,那么多端口,一个 IP 可以卖 65535 个人,而且分配的都是高位端口
或者可以自定义端口,比如可以自定义任何低位端口,这样才能证明是独享吧
Jirajine
2023-08-30 01:48:13 +08:00
@AaIT #27 NAT 可以用来共享,但 NAT 和是否共享没有关系。
如果你要把公网 ip 分配到交付给客户的主机上,那这个 ip 是公网可达的,无论你是否允许客户在这个 ip 上开放服务、使用哪些端口开放服务,同样可以在网关配置防火墙,那你的需求到底是什么?

PS:其实把公网 IP 配置到客户主机上也无法证明是独享的,国内家宽的假公网 ip 方案 NAT 4444 了解一下,华为的专利设备。
snoopygao
2023-08-30 09:48:16 +08:00
上边太多不想翻了,你应该在 A 机上直接做全端口转发,然后 A 上做 MASQURADE ,这样 B 从 A 接受的全部为 A 的地址
AaIT
2023-08-30 11:45:02 +08:00
@snoopygao 是的,已经查明原因了,我自己写的 iptables 规则是对的没有任何问题
原因是 ATT 的光猫有连接数限制,25pps 突发 50 带宽没有任何问题,每个源 IP 的连接数一超就被丢弃了
所以一直没有引起重视,因为这个限制比较隐蔽,压根没往这上面想,已经联系运营商加钱升级套餐更换没有限制的光猫了
bearwinnie
2023-08-31 09:33:17 +08:00
iptables -t nat -A POSTROUTING -p TCP -j MASQUERAD
iptables -t nat -A POSTROUTING --dst 192.168.10.2 -p tcp --d port 22 -j MASQUERADE
iptables -t nat -A POSTROUTING -p UDP -j MASQUERADE
iptables -t nat -A POSTROUTING --dst 192.168.10.2 -p udp --dport 22 -j MASQUERADE

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/969164

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX