前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决iptables nat sctp协议无效的问题

解决iptables nat sctp协议无效的问题

作者头像
charlieroro
发布2020-03-24 12:11:22
1.5K0
发布2020-03-24 12:11:22
举报
文章被收录于专栏:charlierorocharlieroro

环境组网如下:

A----->B-----C

IP如下:

A:1.1.1.1

B:1.1.1.2; 2.2.2.1

C:2.2.2.2

需求为,A 需要使用sctp连通C

在B机器上添加iptables规则为:

代码语言:javascript
复制
iptables -t nat -I PREROUTING -d 1.1.1.2 -p sctp --dport 11111 -j DNAT --to-destination  2.2.2.2:11111

就是把A发出的报文的目的地址:端口由1.1.1.2:11111转变为2.2.2.2:11111

同时在C的接口上使用tcpdump抓包,发现并没有接收到sctp报文,为检验网络是否正常(包括路由等配置),仅将上述规则中的sctp改为tcp进行tcp的连通测试

代码语言:javascript
复制
iptables -t nat -I PREROUTING -d 1.1.1.1 -p tcp --dport 11111 -j DNAT --to-destination  2.2.2.2:11111

发现C机器上可以抓到tcp报文,说明网络没有问题,iptables的规则也没有问题。

因为tcpdump抓包解包并不需要系统支持特定的协议,怀疑可能是iptables规则因为某种原因没有生效,借助google发现了解决办法:iptables-nat-not-work-for-sctp

载入nf_conntrack_proto_sctp即可,该模块用来对sctp进行连接跟踪

代码语言:javascript
复制
# modprobe nf_conntrack_proto_sctp

连接跟踪模块可以参见:nf_conntrack连接跟踪模块

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档