求助 Linux IP 端口转发的问题

2023-08-28 12:52:06 +08:00
 meshell

大佬们,A 服务器(x.x.x.10)有个程序连接 B 服务器(x.x.x.11):3306 ,想让 A 服务器程序连接的 IP(x.x.x.11)转发到 A 服务器(x.x.x.10:3306)。主要是 B 服务器坏了,也没有该程序的源码,所以目前只能在 A 服务器配置操作.

A: x.x.x.10 B: x.x.x.11

1532 次点击
所在节点    程序员
12 条回复
knva
2023-08-28 13:34:31 +08:00
开个 frp ?
FabricPath
2023-08-28 13:44:43 +08:00
iptables/nftable 配个 dnat
iptables -t nat -A POSTROUTING -p tcp -d x.x.x.11 --dport 3306 -j DNAT --to-destination x.x.x.10:3306

随手打的,实际配置需要根据你现有的 iptables 规则 -I POSTROUTING IDX ,找个合适的 IDX 插入
meshell
2023-08-28 14:01:40 +08:00
@FabricPath 感谢大佬,我试试
rayw0ng
2023-08-28 14:56:11 +08:00
A 服务器再加个 IP
zbinlin
2023-08-28 14:59:37 +08:00
A 服务器的程序连 B 的配置是写死的吗?如果不是直接改程序配置就好了。
meshell
2023-08-28 15:40:12 +08:00
@zbinlin 是写死的,
@FabricPath 用你的配置报错了( RULE_APPEND failed (Invalid argument): rule in chain POSTROUTING )。不是很懂 iptables 这个东西。
yinmin
2023-08-28 16:24:33 +08:00
B 服务器坏了,你把 B 服务器 IP 加到 A 服务器的网卡上就可以了。也就是 A 的服务器网卡有 2 个 IP:x.x.x.10 和 x.x.x.11
meshell
2023-08-28 16:39:00 +08:00
@yinmin A, B 两个服务器都是虚拟机, 虚拟机也可以这样的操作吗?
pagxir
2023-08-28 16:40:55 +08:00
ip a a x.x.x.11/32 dev lo
yinmin
2023-08-28 16:41:18 +08:00
可以的。
yinmin
2023-08-28 16:53:04 +08:00
@meshell 你可以参考 9 楼,在回环接口 lo 上添加 IP 地址 x.x.x.11 。不过,通常使用 9 楼的写法重启机器后会失效,需要配置到网络的 conf 文件里。
meshell
2023-08-28 17:10:24 +08:00
@yinmin 恩,我为其他卡加了个 IP ,现是能访问了,但是有其它的问题.....

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

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

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

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

© 2021 V2EX