免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lnx
打印 上一主题 下一主题

[网络管理] iptables端口转发后不能收邮件 [复制链接]

论坛徽章:
0
51 [报告]
发表于 2004-06-15 18:17 |只看该作者

iptables端口转发后不能收邮件

现在用MASQUERADE已经行了,所以就没试SNAT
有朝一日重新做系统的时候,可以试试看

论坛徽章:
0
52 [报告]
发表于 2004-06-15 20:44 |只看该作者

iptables端口转发后不能收邮件

[quote]原帖由 "unixli"]lnx 你好像没把邮件服务器的默认网关指向FW的内网IP:192.168.0.2,也就是邮件服务器的上网一定是通过FW。为了邮件进出数据的路径一致,你必须这样设。不然根本就通不过一邮件服务商的防垃圾检测,那你就没法向这些?.........[/quote 发表:

有的,我一直就是将邮件服务器的GW指向FW的IP;
其实我也总觉得用MASQUERADE不那么好,可能和我以前理解的不一样吧。
对于前面加了那么多规则,是为了防止原来的一些设置会对后来有影响,确实不需要那么多

另外我觉得这个可能不行,感觉有点像我曾写过的一个脚本,它就是没发接收邮件的,数据包没法返回的;具体我得明天去公司再试试看

  1. #!/bin/bash

  2. #load modules
  3. /sbin/modprobe iptable_filter
  4. /sbin/modprobe iptable_nat

  5. # Flush all rules
  6. /sbin/iptables -F
  7. /sbin/iptables -t nat -F

  8. echo 1 >; /proc/sys/net/ipv4/ip_forward

  9. /sbin/iptables -t nat -A PREROUTING -d 211.162.xxx.xxx -p tcp --dport 80 -i eth1 -j DNAT --to 192.168.0.3:80
  10. /sbin/iptables -t nat -A PREROUTING -d 211.162.xxx.xxx -p tcp --dport 25 -i eth1 -j DNAT --to 192.168.0.3:25
  11. /sbin/iptables -t nat -A PREROUTING -d 211.162.xxx.xxx -p tcp --dport 110 -i eth1 -j DNAT --to 192.168.0.3:110
  12. /sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to 211.162.xxx.xxx
复制代码



TO lyking
我内部网络原来已经有GW出去,加上后来做邮件服务器测试时又多了一个GW,所以我上面指的是这二个internet出口

论坛徽章:
0
53 [报告]
发表于 2004-06-15 21:03 |只看该作者

iptables端口转发后不能收邮件

两个出口,只改SNAT的TO是不行的,因为你的路由并没有改变

论坛徽章:
0
54 [报告]
发表于 2004-06-15 22:44 |只看该作者

iptables端口转发后不能收邮件

[quote]原帖由 "platinum"]两个出口,只改SNAT的TO是不行的,因为你的路由并没有改变[/quote 发表:

但我的二个出口都是单独的啊(分开二台机器二个静态IP的)虽然说在同一段内,这会有问题吗?

论坛徽章:
0
55 [报告]
发表于 2004-06-15 23:12 |只看该作者

iptables端口转发后不能收邮件

我写的规则就是我现在正在用的!我的邮件系统用得很好呀!
做邮件系统,最好多加一个MX域名记录,在邮件服务器上设置HELO的域名,这样能通过很多的邮件防垃圾检测。

同一段内有多个出口没问题的,最终从那个出口出就看你路由了。不过这要被人攻击的机会就大多了,所以你还是要多加点安全规则了。

论坛徽章:
0
56 [报告]
发表于 2004-06-16 00:58 |只看该作者

iptables端口转发后不能收邮件

原帖由 "lnx" 发表:

但我的二个出口都是单独的啊(分开二台机器二个静态IP的)虽然说在同一段内,这会有问题吗?

画个拓扑图出来吧,光说恐怕说不清楚

论坛徽章:
0
57 [报告]
发表于 2004-06-17 11:25 |只看该作者

iptables端口转发后不能收邮件

unixli说的:

  1. 我写的规则就是我现在正在用的!我的邮件系统用得很好呀!
  2. 做邮件系统,最好多加一个MX域名记录,在邮件服务器上设置HELO的域名,这样能通过很多的邮件防垃圾检测。

  3. 同一段内有多个出口没问题的,最终从那个出口出就看你路由了。不过这要被人攻击的机会就大多了,所以你还是要多加点安全规则了。
复制代码

昨天给公司的网站搞了一天,所以没有时间测试

====
刚才测试了下,你的那个脚本可以正常收、发邮件,也可以访问其它网站,但mailsrv没法访问自己(:mailsrv不能访问211.162.xxx.xxx或www.abc.com、ip和域名都是mailsrv本机的)
=========
TO 白金
现在二个出口的意思是:原来内部网络全部通过192.168.0.1访问外网,现在我在测试的这台机器(192.168.0.2)因为加上了IP转发,从而也可以通过它出去

论坛徽章:
0
58 [报告]
发表于 2004-06-17 12:00 |只看该作者

iptables端口转发后不能收邮件

晕,你把192.168.0.1和192.168.0.2设成同一个网关了?

没必要!

如果那样的话,你这个脚本是在哪做的?如果是在192.168.0.1上做的,那就没什么用了!

论坛徽章:
0
59 [报告]
发表于 2004-06-17 12:09 |只看该作者

iptables端口转发后不能收邮件

原帖由 "platinum" 发表:
晕,你把192.168.0.1和192.168.0.2设成同一个网关了?

没必要!

如果那样的话,你这个脚本是在哪做的?如果是在192.168.0.1上做的,那就没什么用了!

没有啊,各自是分开的。
内部所有用户的网关都是192.168.0.1
mailsrv和测试机器的网关才是192.168.0.2

论坛徽章:
0
60 [报告]
发表于 2004-06-17 12:09 |只看该作者

iptables端口转发后不能收邮件

是正常的,因你的mailsrv指定的DNS是公网的,而我的规则没定义从内网到你公网IP的转发。你可以加一个内网进eth0到公网IP的转发规则。或者你直接用192.168.0.3访问你的mailsrv服务器。
你其它从192.168.0.1出口出去的客户端访问你mailsrv时是从192.168.0.1出到公网再从公网经过192.168.0.2进到mailsrv的,这样就绕了一圈了,所以你最好建一个内网DNS,这样访问内网服务器时就不用出公网了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP