荣耀之链论坛

 找回密码
 立即注册
搜索
查看: 127|回复: 0

用多台服务器进行端口转发

[复制链接]

1326

主题

2373

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10267
发表于 2025-3-31 07:01 | 显示全部楼层 |阅读模式
服务器1的带宽是100M
服务器2的带宽是100M
服务器A的带宽是25M
服务器B的带宽是25M
服务器C的带宽是25M
服务器D的带宽是25M

所有服务器都是linux系统

服务器1和服务器2并不能直接互通
但是他们都可以和服务器ABCD互通

请问在这种情况下

要把服务器1的4000端口映射到服务器2的4000端口
中间用服务器ABCD均等的负担网络流量

请问应该用什么技术?

--------------------------------------------------------------------------
原来iptables就有这种技术
https://www.doubao.com/thread/wbe1b98ad19321a1d

--------------------------------------------------------------------------
服务器1
# 开启IP转发
echo 1 > /proc/sys/net/ipv4/ip_forward

# 清空现有规则
iptables -F
iptables -t nat -F

# 配置负载均衡规则
iptables -t nat -A PREROUTING -p tcp --dport 4000 -m statistic --mode nth --every 4 --packet 0 -j DNAT --to-destination <隧道1A的IP地址>:4000
iptables -t nat -A PREROUTING -p tcp --dport 4000 -m statistic --mode nth --every 4 --packet 1 -j DNAT --to-destination <隧道1B的IP地址>:4000
iptables -t nat -A PREROUTING -p tcp --dport 4000 -m statistic --mode nth --every 4 --packet 2 -j DNAT --to-destination <隧道1C的IP地址>:4000
iptables -t nat -A PREROUTING -p tcp --dport 4000 -m statistic --mode nth --every 4 --packet 3 -j DNAT --to-destination <隧道1D的IP地址>:4000

# 配置POSTROUTING规则
iptables -t nat -A POSTROUTING -o gre1a -j MASQUERADE
iptables -t nat -A POSTROUTING -o gre1b -j MASQUERADE
iptables -t nat -A POSTROUTING -o gre1c -j MASQUERADE
iptables -t nat -A POSTROUTING -o gre1d -j MASQUERADE


--------------------------------------------------------------------------
中间的ABCD
# 开启IP转发
echo 1 > /proc/sys/net/ipv4/ip_forward

# 清空现有规则
iptables -F
iptables -t nat -F

# 配置转发规则
iptables -t nat -A PREROUTING -p tcp --dport 4000 -j DNAT --to-destination <隧道2X的IP地址>:4000  # X代表A、B、C、D

# 配置POSTROUTING规则
iptables -t nat -A POSTROUTING -o gre2X -j MASQUERADE  # X代表A、B、C、D

--------------------------------------------------------------------------
服务器2
# 开启IP转发
echo 1 > /proc/sys/net/ipv4/ip_forward

# 清空现有规则
iptables -F
iptables -t nat -F

# 配置转发规则
iptables -t nat -A PREROUTING -p tcp -i gre2a --dport 4000 -j DNAT --to-destination <服务器2的IP地址>:4000
iptables -t nat -A PREROUTING -p tcp -i gre2b --dport 4000 -j DNAT --to-destination <服务器2的IP地址>:4000
iptables -t nat -A PREROUTING -p tcp -i gre2c --dport 4000 -j DNAT --to-destination <服务器2的IP地址>:4000
iptables -t nat -A PREROUTING -p tcp -i gre2d --dport 4000 -j DNAT --to-destination <服务器2的IP地址>:4000

# 配置POSTROUTING规则
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE  # eth0为服务器2的外网接口

--------------------------------------------------------------------------
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

荣耀之链

GMT+8, 2025-6-18 04:54 , Processed in 0.015487 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表