首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将端口上的数据转发到另一个保持源IP的外部服务器

问将端口上的数据转发到另一个保持源IP的外部服务器
EN

Network Engineering用户
提问于 2015-09-14 18:49:00
回答 1查看 137关注 0票数 4

我在两个不同的地理位置有两个linux服务器,一个服务器A( IP 1.1.1.1 ),一个服务器B( IP 2.2.2.2 )。我希望将到达服务器B上特定TCP端口(5678)的所有数据转发给服务器A。

我尝试过使用rinetd将数据从服务器B转发到服务器A。它工作得很好,但是在服务器A接收到的源IP正在更改为服务器B的IP地址。我希望服务器B充当一个简单的透明中继,源IP与原始客户端IP相同。

有什么办法完成这个任务吗?

EN

回答 1

Network Engineering用户

发布于 2015-09-14 21:08:57

Iptable,这是一个用于配置netfilter防火墙的实用程序。

代码语言:javascript
复制
#!/bin/sh

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -t nat -F
iptables -X

iptables -t nat -A PREROUTING -p tcp --dport 5678 -j DNAT --to-destination 2.2.2.2:5678
iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 5678 -j SNAT --to-source 1.1.1.1 

Iptables是一个非常强大的工具,所以习惯它是必须的(http://linux.die.net/man/8/iptables或者谷歌一些教程)

但是,如果您使用nginx (http://nginx.org/en/docs/http/ngx_http_代理_module.html#proxy_经过)代理HTTP协议,则要容易得多

票数 1
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/22474

复制
相关文章

相似问题

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