Linux网关配置的疑难

发布于 2022-07-26 16:16:41 字数 526 浏览 19 评论 4

一台双网卡的Linux主机,作为网关分别接在局域网和互联网上,现在要用iptables把从SMTP端口进入的Internet连接定向到局域网内的一台windows邮件服务器中。

用下面两条命令:

iptables -t nat -A PREROUTING -d 主机外网地址 -p tcp --dport 25 -j DNAT --to-destination 内网目标地址

iptables -t nat -A POSTROUTING -d 内网目标地址 -p tcp --dport 25 -j SNAT --to-source 主机内网地址

可以成功实现这个目的,但是局域网内的邮件服务器接收到的对端地址总是这台Linux主机的IP地址,不利于邮件系统的IP过滤。
有什么更好的配置方法,可以使内网主机得到真实的对端互联网地址?

我在FreeBSD版块提过一个类似的问题,欢迎大家去看看。

[ 本帖最后由 zvxcv 于 2006-10-19 15:12 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

阳光的暖冬 2022-07-28 02:03:02

原帖由 万里北国 于 2006-10-19 16:41 发表
后一条命令是为了让内网的其它客户端访问这台邮件服务器,
如果不需要,就不要加。

就算是如此,多个 -s 192.168.0.0/16 这类内部 lan ip 范围就可以了。

==

伏妖词 2022-07-28 01:47:22

后一条命令是为了让内网的其它客户端访问这台邮件服务器,
如果不需要,就不要加。

一城柳絮吹成雪 2022-07-28 00:19:43

非常感谢,根据你的指正,去掉第二条iptables命令,果然问题迎刃而解。

我之所以画蛇添足,是因为对iptables机制并不理解,只是依葫芦画瓢模仿了人家的例子。

你所引用的iptables命令有误,我已经在主贴作出了更正。

[ 本帖最后由 zvxcv 于 2006-10-19 15:16 编辑 ]

风为裳 2022-07-27 08:41:54

原帖由 zvxcv 于 2006-10-19 14:27 发表
一台双网卡的Linux主机,作为网关分别接在局域网和互联网上,现在要用iptables把从SMTP端口进入的Internet连接定向到局域网内的一台windows邮件服务器中。
用下面两条命令:
iptables -t nat -A PREROUTING -d 主机外网地址 -p tcp --dport 25 -j DNAT --to-destination 主机内网地址
iptables -t nat -A POSTROUTING -d 主机外网地址 -p tcp --dport 25 -j SNAT --to-source 内网目标地址
可以成功实现这个目的,但是局域网内的邮件服务器接收到的对端地址总是这台Linux主机的IP地址,不利于邮件系统的IP过滤。
有什么更好的配置方法,可以使内网主机得到真实的对端互联网地址?

只要你的 linux 设定好提供 nat 功能, 然后 windows 本身的 default gateway 指向 linux 那台主机内部 ip, 这样表示 windows 都可以透过 linux 连上 internet.

后续你也只是需要上面那个 PREROUTING 叙述即可, 这样后续 windows 收到封包来源看到是实际外面的主机, 而不是 linux 自己.

若是你的 windows 的 default gw 没有指向 linux 那主机对内的 ip, 那你只有你提到的方式可以使用, 无可避免的一定会有你说到的问题.

==

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文