请教iptables SNAT的问题

sdghchj 2019-04-18 09:20:27
centos udp服务器上,我想通过SNAT修改其udp响应包的源地址,但是没达到改变源地址的效果;
而如果在该机上用udp客户端发udp包给其它主机,源地址却是变了的.
具体点就是,地址A服务器上做了SNAT将包中的源地址A改为虚拟地址B,我以地址C主机发包给A,我希望A返回包的时候源地址是B也就是理论上C应该收不到响应包因为响应包源地址与C自己的目的地址不同,但实际上A的响应包里的源地址并没有改B,C还是收到了响应包。
更简单说,就是我希望是C --> A, B--> C,应用场景其实是C的地址经过透明代理B透传到了A,A收到了源地址C的请求包,A响应的时候,需要将源地址改B的,C才能正常接收。B是nginx。

而在A上主动发包给其它主机时,却发现,源地址是改成了B。

似乎SNAT只对主动发出包时才有用,对响应包没用,不知是不是ip连接追踪影响的,不懂。
...全文
68 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧