加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – IPTables端口转发保持原始IP地址

发布时间:2020-12-14 02:27:07 所属栏目:Linux 来源:网络整理
导读:我希望有人可以帮我配置这个配置.我已经有了一个工作设置,其中 Linux机箱充当路由器,只是为公共IP进行端口转发.这些都是公共IP的顺便说一句. HOST_x – 可以是具有公共IP的任何主机. (例如:x.x.x.x) MY_LINUX – 使用IPtables只为公共IP进行端口转发. (固定
我希望有人可以帮我配置这个配置.我已经有了一个工作设置,其中 Linux机箱充当路由器,只是为公共IP进行端口转发.这些都是公共IP的顺便说一句.

HOST_x – 可以是具有公共IP的任何主机. (例如:x.x.x.x)

MY_LINUX – 使用IPtables只为公共IP进行端口转发. (固定IP,例如:2.2.2.2)

SERVER – 具有公共IP地址的Web服务器. (固定IP,例如3.3.3.3)

端口 – (TCP端口= 80)

这是MY_LINUX上的配置:

iptables -t nat -A PREROUTING -p tcp -d 2.2.2.2 –dport 80 -j DNAT
–to-destination 3.3.3.3:80 iptables -t nat -A POSTROUTING -p tcp -d 3.3.3.3 –dport 80 -j MASQUERADE

上面的配置有效.当HOST_x在浏览器上的2.2.2.2中输入时,它就得到了
3.3.3.3的网页.

我在这里唯一的问题是目标服务器(3.3.3.3)看到来自MY_LINUX(2.2.2.2)的请求,我想看到的是请求HOST_x(x.x.x.x)的原始IP.

我将不胜感激任何建议,谢谢.

解决方法

我认为这在第3层是不可能的. HOST_x期望剩余的数据包来自发起连接MY_LINUX的主机.如果SERVER突然进入TCP握手和回复的中间,HOST_x将忽略这些数据包.

由于HOST_x和SERVER具有直接连接性,我认为最好将此路由方案移至应用层并实现HTTP重定向.然后HOST_x直接打开到终点的连接.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读