LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 786|回复: 8

请问这条iptables命令哪错了??

[复制链接]
发表于 2005-3-12 16:32:22 | 显示全部楼层 |阅读模式
iptables -t mangle -A PREROUTING -p tcp -d 1.1.1.108 --dport 25 -j DNAT --to-destination 1.1.1.107:25
发表于 2005-3-12 17:01:37 | 显示全部楼层
看不太懂你这条语句?
回复 支持 反对

使用道具 举报

发表于 2005-3-12 17:14:56 | 显示全部楼层
目标地址转换应该在nat表进行,不是mangle表。


  1. iptables -t nat -A PREROUTING -p tcp -d 1.1.1.108 --dport 25 -j DNAT --to-destination 1.1.1.107:25
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-12 17:27:12 | 显示全部楼层
我用nat以后,用outlook发信,就连不上了。。。
1.1.1.107是邮件网关,如果直接从outlook里设置smtp服务器为1.1.1.107却可以正常发信,怎么会事??
回复 支持 反对

使用道具 举报

发表于 2005-3-12 17:43:30 | 显示全部楼层
还是把问题描述清楚一点吧,是做邮件服务器?转发?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-12 19:04:24 | 显示全部楼层
1.1.1.107是邮件网关,1.1.1.108是邮件服务器
现在问题是内部的病毒很多,直接通过1.1.1.108,也就是邮件服务器发信,不论信件发到哪(本服务器或者其他邮件服务器),outlook都直接把邮件投递过去,包括病毒。
所以现在想把邮件服务器的smtp服务全部转到邮件网关上,这样所有发出去的信件都经过邮件网关过虑,病毒就可以被杀掉了。
但是搞了一下午也搞不清iptables的命令该怎么写。。。
请教高手啊。。
回复 支持 反对

使用道具 举报

发表于 2005-3-12 20:29:56 | 显示全部楼层
还是请教网络版的高手吧。
回复 支持 反对

使用道具 举报

发表于 2005-3-12 22:46:44 | 显示全部楼层
我们公司就是做这个的,你这个叫“邮件网关全接管”,呵呵,购买我们的产品,我就告诉你如何做 :)




呵呵,我其实不大记得了,不过你的思路似乎不对。
我觉得应该这样考虑:凡是[[来源地址不是邮件网关的]对邮件服务器的25端口的请求],我把他转向到去访问邮件网关的25端口,你尝试修改一下。
另外,这样做带来的一个后果,就是反向通信的时候,邮件网关会直接把回应返回给来源地址(在转发的时候保留来源地址),(或者返回给邮件服务器,但是这样来源地址就没了)。
解决的办法,就是在邮件服务器上打开ip_forward,然后将邮件网关的"GATEWAY"设置成邮件服务器的ip,这样保证邮件网关在回应的时候,肯定是要经过邮件服务器的。但是这样要求邮件网关和邮件服务器在一个子网内。同样,这同时带来另一个问题:
当和这两台机器在一个子网内的另外一台机器要访问邮件服务器25端口,这时候过来的请求会被转向到邮件网关上面,但是邮件网关回应的时候,因为是同一子网,不会走gateway,直接返回给来源地址,这同样是有来无回,握手不会成功。
其实这个也是有解决办法的,但是你看,这个问题越高越复杂,远远比iptables语句本身复杂。
我已经头晕了,你呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-15 14:26:37 | 显示全部楼层
呵呵。。。的确象你说的那样,我遇到所有问题。。。全公网IP,同网段,不过已经解决了,呵呵。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表