首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用iptables转发多个端口

使用iptables转发多个端口
EN

Server Fault用户
提问于 2017-10-01 16:31:16
回答 1查看 13.6K关注 0票数 3

我的服务运行在端口30000-32000的VPS (1.1.1.1)上.

我希望VPS B(2.2.2.2)将它们转发到20000- 22000。

(您可以查看下面的演示图链接,以了解我想要实现的目标:D )

转发到不同的港口

我使用下面的命令来设置iptable:

代码语言:javascript
复制
iptables -t nat -A PREROUTING -p tcp --dport 20000:22000 -j DNAT --to-destination 1.1.1.1:30000-32000
iptables -t nat -A POSTROUTING -p tcp -d 1.1.1.1 --dport 30000:32000 -j SNAT --to-source 2.2.2.2
20000:22000
iptables -t nat -A PREROUTING -p udp --dport 20000:22000 -j DNAT --to-destination 1.1.1.1:30000-32000
iptables -t nat -A POSTROUTING -p udp -d 1.1.1.1 --dport 30000:32000 -j SNAT --to-source 2.2.2.2
20000:22000

经过一些测试后,我发现似乎只有端口20000在转发原始服务器的端口30000。然而,其他端口不起作用。

我检查了以下四件事: 1.运行在端口30000 - 32000上的VPS (1.1.1.1)'s服务服务功能齐全

  1. VPS端口转发设置在检查VPS B上的sysctl时,启用ipv4转发。

(即net.ipv4.ip_forward = 1)

  1. VPS的可依地设置。我觉得挺好的。您可以单击下面的链接进行精确设置。

iptables设置

  1. 我还尝试从VPS A到VPS B(即VPS A (30000-32000) >> VPS B (30000-32000))进行正常的多端口转发。

(您可以查看下面的演示图链接,以了解我想要实现的目标:D )

一切都很好。

我真的不知道如何做到这一点。任何帮助都是非常感谢的!提前谢谢你!

EN

回答 1

Server Fault用户

发布于 2017-10-02 06:00:26

你需要改变iptable的规则。您的DNAT规则不过滤来自用户的传入流量的目标IP地址。SNAT规则不过滤来自A服务器的传入通信量的源IP地址和源端口30000:32000范围。您需要在B服务器上:

代码语言:javascript
复制
iptables -t nat -A PREROUTING -p tcp -d 2.2.2.2 --dport 20000:22000 -j DNAT --to-destination 1.1.1.1:30000-32000
iptables -t nat -A POSTROUTING -p tcp -s 1.1.1.1 --sport 30000:32000 -j SNAT --to-source 2.2.2.2:20000:22000

iptables -t nat -A PREROUTING -p udp -d 2.2.2.2 --dport 20000:22000 -j DNAT --to-destination 1.1.1.1:30000-32000
iptables -t nat -A POSTROUTING -p udp -s 1.1.1.1 --sport 30000:32000 -j SNAT --to-source 2.2.2.2:20000:22000
票数 6
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/876364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档