LinuxSir.cn,穿越时空的Linuxsir!

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

NAT問題請教

[复制链接]
发表于 2004-12-14 19:50:55 | 显示全部楼层 |阅读模式
2台電腦3?埧

A電腦 (www.my.com) eth0 是 202.178.1.1
                   eth1 是 192.168.1.1
B電腦 (mail.my.com)eth0 是 192.168.1.2 Gateway 192.168.1.1

用MASQ後,A+B都可上網,但A ping B不通,B ping A卻 OK,這是第1個問題.

第二個問題是,兩台都需要跑 web server,要如何才能讓輸入 mail.my.com 時去跑 192.168.1.2 裡的 port 80? 而且 A 電腦的 port 25,110,143 要一?戕D到 B 電腦去(A 沒架 mail server),所以用 B 電腦的 WinXP ?砼.
发表于 2004-12-14 20:24:48 | 显示全部楼层
A ping B不通,可能是B的ICMP相应被屏蔽了~
第二个:
访问mail.my.com的80需要DNS配合
访问mail.my.com需要设置iptables
iptables -t nat -A PREROUTING -d 202.178.1.1 -p tcp --dport 25 -j DNAT --to 192.168.1.2:25
iptables -t nat -A PREROUTING -d 202.178.1.1 -p tcp --dport 110 -j DNAT --to 192.168.1.2:110
iptables -t nat -A PREROUTING -d 202.178.1.1 -p tcp --dport 143 -j DNAT --to 192.168.1.2:143
 楼主| 发表于 2004-12-14 21:07:53 | 显示全部楼层
謝謝你的指導.
在 DNS 裡, mail.my.com 應該設為 192.168.1.2 嗎?(目前的設定)

還有 mail server 所 listen 的 ip 是 192.168.1.2 還是真?的 202.178.1.1
发表于 2004-12-14 21:12:55 | 显示全部楼层
DNS和listen都是192.168.1.2
发表于 2004-12-15 11:54:36 | 显示全部楼层
今天早上起来突然想起来,mail.my.com跑www服务的话恐怕用DNS是解决不了的~
我之前的想法是错的~
DNS只是域名解析,无法将外网的访问指向到内网。他解析出来的192.168.1.2是无法被外网的用户识别的,应该如下作
DNS将mail.my.com的www解析到202.178.1.1的81端口
设置iptables
iptables -t nat -A PREROUTING -d 202.178.1.1 -p tcp --dport 81 -j DNAT --to 192.168.1.2:80
 楼主| 发表于 2004-12-19 22:41:29 | 显示全部楼层
DNS将mail.my.com的www解析到202.178.1.1的81端口


謝謝.不過上面這句我想不出?響撘 bind 裡怎麼設定?
我在 192.168.1.2 是用 MDaemon(WinXP) 在跑,它的 webmail 我已設定在 port 80, listen IP 也是 192.168.1.1 出現的問題是,不論我?耐饷 server 或內部 server 寄信,雙方面都收不到信.用 outlook express 更會出現連線失敗,讓我搞不懂到底哪裡出錯.我把 mail server listen 改成 202.178.1.1 的 real IP 也是一樣不行.怪...
发表于 2004-12-21 16:36:14 | 显示全部楼层
你将mail server监听本机的IP的端口
用iptables将送往网关的mial转发的内网的IP和端口
DNS将mail server解析到网关只是为了外网的用户能访问到你的mail server。
如果你的DNS将mail server直接解析到内网的IP,外面的用户是找不到这个IP的。
发表于 2004-12-22 16:23:05 | 显示全部楼层
Post by orphen
今天早上起来突然想起来,mail.my.com跑www服务的话恐怕用DNS是解决不了的~
我之前的想法是错的~
DNS只是域名解析,无法将外网的访问指向到内网。他解析出来的192.168.1.2是无法被外网的用户识别的,应该如下作
DNS将mail.my.com的www解析到202.178.1.1的81端口
设置iptables
iptables -t nat -A PREROUTING -d 202.178.1.1 -p tcp --dport 81 -j DNAT --to 192.168.1.2:80


楼上这位兄弟,我想你在这里又犯了一个错误吧,虽然我没怎么好好配置过dns,但我印象中dns对域名的解析仅限于到server的ip地址而已,端口是无法解析上去的

至于楼主的问题,我思考了一下,得出一种解决方法,请大家探讨:
首先,给192.168.1.2这台内网机器申请一个公网ip,依本例中可以为:202.178.1.2,但这个ip可以不必配在192.168.1.2 的server上
其次,配置dns,把mail.my.com解析到202.178.1.2上,同时在202.178.1.0这个网络上一级的路由器上制定一条默认路由,把所有目的地址为202.178.1.2的包都发给202.178.1.1
最后,配置202.178.1.1上的iptables
iptables -t nat -A PREROUTING -d 202.178.1.2 -p tcp --dport 80 -j DNAT --to 192.168.1.2:80

我不知道我表述的有没有问题,希望大家能看懂,如果这么做还有什么问题,欢迎指出来
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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