- 主题:请教一个iptables的nat问题
一直以为iptables的nat跟路由器功能一样呢
最近发现,貌似还是差很多呀,先不说性能,只是说功能
做SNAT后,内网上网是没问题,但是,udp协议貌似是不行
比如,内网地址A的udp5060端口要通信,路由器会把这个A的5060端口映射为路由器出口的IP的一个UDP端口
在iptables如果只做SNAT的话,没有这个映射,就会造成udp不通
如果再做DNAT的话,有些udp的端口是随机的,而且,内网也不止一个地址呀
这样的话,只一个snat貌似解决不了问题
iptables -t nat -I POSTROUTING -s 10.0.45.0/24 -o eth0 -j SNAT --to 172.17.1.8
这种情况应该怎么弄呢?
--
FROM 202.98.17.*
openwrt路由器的nat就是iptable的nat啊, 新版的openwrt改用了nftable
我一直这么用了很多年了, 没有任何问题, 什么协议都通; 第二条命令可以不加, 但会导致少数网站打不开,
iptables -t nat -A POSTROUTING -o ${dev} -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
再回到你的问题, 不管什么协议 iptables 都会映射一个端口在外网接口上, 不然数据回不来.
TCP 是单点对单点通信, SNAT后不会有什么不同.
UDP 可能是单点对多点通信, 再加上linux是symmetric nat, 从而导致只有数据发送方向上的地址才能把数据传回来, 其它地址想通过这个映射的地址把数据送回去是不行的.
但有些路由器, 比如某些版本的vxworks路由器, 它是full nat的, 导致其它地址也能通过那个映射地址端口把数据送进局域网里的机器.
【 在 leeyc 的大作中提到: 】
: 一直以为iptables的nat跟路由器功能一样呢
: 最近发现,貌似还是差很多呀,先不说性能,只是说功能
: 做SNAT后,内网上网是没问题,但是,udp协议貌似是不行
: ...................
--
FROM 167.99.245.*
是的,openwrt确实是iptables做的,但是,不知道它是怎么做的规则
肯定不是简单的就一条
不过,现在网上找的文章,好像很少有讲这个的
都是一条语句snat完事
有讲udp穿透的,废话一大堆,也没一条可操作的命令和代码
【 在 lexluthor 的大作中提到: 】
: openwrt路由器的nat就是iptable的nat啊, 新版的openwrt改用了nftable
: 我一直这么用了很多年了, 没有任何问题, 什么协议都通; 第二条命令可以不加, 但会导致少数网站打不开,
: iptables -t nat -A POSTROUTING -o ${dev} -j MASQUERADE
: ...................
--
FROM 202.98.17.*
可以用iptables-save导出来看看, 核心部分就这两条
还有默认阻止入站, 放行某些奇怪的协议什么的, 配合端口映射的upnp
【 在 leeyc 的大作中提到: 】
: 是的,openwrt确实是iptables做的,但是,不知道它是怎么做的规则
: 肯定不是简单的就一条
: 不过,现在网上找的文章,好像很少有讲这个的
: ...................
--
FROM 167.99.245.*
nat和路由是两个不同的概念
nat是为了解决ipv4地址不足问题弄出来的,因为公网IP地址是稀缺资源。
iptables对于FTP协议(数据端口通过控制连接发送)就要特殊处理才行。
以前手机上网可以有公网IP,现在都是内网IP了。
【 在 leeyc 的大作中提到: 】
: 一直以为iptables的nat跟路由器功能一样呢
: 最近发现,貌似还是差很多呀,先不说性能,只是说功能
: 做SNAT后,内网上网是没问题,但是,udp协议貌似是不行
: ...................
--
FROM 159.226.95.*
嗯。。
这种udp端口的,用iptables该怎么处理呢?
【 在 k7amd 的大作中提到: 】
: nat和路由是两个不同的概念
: nat是为了解决ipv4地址不足问题弄出来的,因为公网IP地址是稀缺资源。
: iptables对于FTP协议(数据端口通过控制连接发送)就要特殊处理才行。
: ...................
--
FROM 202.98.17.*
你这个udp 5060是服务端口,要对外开放?那只需要dnat就可以了。
【 在 leeyc (巡山小校) 的大作中提到: 】
: 一直以为iptables的nat跟路由器功能一样呢
: 最近发现,貌似还是差很多呀,先不说性能,只是说功能
: 做SNAT后,内网上网是没问题,但是,udp协议貌似是不行
:
--
FROM 223.104.9.*