论坛风格切换切换到宽版
  • 1038阅读
  • 8回复

[问题求助]今天做了个NAT,LAN用户访问NAT公网IP不通? (已解决,感谢:fish007 ssmarine) [复制链接]

上一主题 下一主题
离线笨笨猪.
 
发帖
2239
C币
-234812
威望
406
贡献值
1
银元
-2
铜钱
5086
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
今.天给我们部门做了一个NAT,(广告)
公网IP..222.221.238.10 服务器
内部用192.168.1.0/2.4 的IP..
在NAT上,我把: 222.221.238.10 的80端口映射到192.1.68.1..211的80上,[成人用品]
在外面的用户(其.它公司的人)能通过:22.2.221.238.10 这个IP访问到内部的机子的web,           鲜花
但我们自己内部没法用:222.221.2.38.10 来访问.不知道是出了什么问题?在哪里.解决呢?<性病>

[ 本帖最后由 .su.lin515 于 2007-6-25 16:15 编辑 ].

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线xychina1006.
发帖
2047
C币
-198963
威望
352
贡献值
1
银元
-5
铜钱
4534
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
Re:今天做了个NAT,LAN用户访问NAT公网IP不通?
iptables -I INPUT -s 192.168.1.0/24 -d 192.168.1.211 -j ACCEPT

发帖
2112
C币
-235117
威望
406
贡献值
1
银元
-2
铜钱
4772
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
Re:今天做了个NAT,LAN用户访问NAT公网IP不通?
我想了下,原因是这样的。
首先你内网一台机器访问外网222.221.238.10 的80端口,这时数据报的源地址目标地址分别是192.168.1.X:XXXX和222.221.238.10:80
然后做SNAT后数据报出去,这时源和目标变成 222.221.238.10 :YYYY和222.221.238.10 :80。
然后服务器发现是访问自己的80端口,你做了映射,所以接着做SNAT和DNAT后发到你的内网服务器,这时你内网服务器的web服务器收到了这个数据包,它的源和目标地址是192.168.1.X:XXXX与192.168.1.211:80。
你的内网web服务器接到请求后看到这个数据包的源地址为192.168.1.X:XXXX,所以他直接发包发给你的内网请求用户,你的内网请求用户收到这个回来的数据包,但一看,源地址为192.168.1.211:80。但实际上它根本没有发出这样一个请求(因为它发的是222.221.238.10 :80),所以会直接丢弃这个数据包。
应该就是这个原因。我想

发帖
2100
C币
0
威望
392
贡献值
1
银元
-1
铜钱
4594
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
Re:今天做了个NAT,LAN用户访问NAT公网IP不通?
我认为2楼正解,3楼理解错误,怎么可能到达web的包是经过SNAT变成了192.168.1.X:XXXX呢?

发帖
2108
C币
-235176
威望
396
贡献值
1
银元
-2
铜钱
4672
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13
Re:今天做了个NAT,LAN用户访问NAT公网IP不通?
楼主,你贴出自己写的全部规则看看。
我不确定我的说法是对的,但我也不认为2楼的就是的正解。

[ 本帖最后由 ssmarine 于 2007-6-25 15:20 编辑 ]

发帖
1962
C币
-193675
威望
342
贡献值
1
银元
0
铜钱
4344
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
Re:今天做了个NAT,LAN用户访问NAT公网IP不通?
我们公司里面也有这个问题。他们说是华为route的问题。

---------------------------------------
我的照片收藏夹www.zjant.com/Picasa.htm
我的牛比浏览器www.zjant.com/Firefox.htm
财富大教堂www.StockThink.cn

发帖
2080
C币
-60684
威望
388
贡献值
1
银元
-4
铜钱
4695
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13
用户被禁言,该主题自动屏蔽!
离线edvin.
发帖
1969
C币
-235990
威望
396
贡献值
4
银元
0
铜钱
4522
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
Re:今天做了个NAT,LAN用户访问NAT公网IP不通?


QUOTE:原帖由 sulin515 于 2007-6-25 13:36 发表于 1楼  
今天给我们部门做了一个NAT,
公网IP.222.221.238.10
内部用192.168.1.0/24 的IP.
在NAT上,我把: 222.221.238.10 的80端口映射到192.168.1.211的80上,
在外面的用户(其它公司的人)能通过:222.221.238.10 这 ...


iptables -t nat -A PREROUTING -d 222.221.238.10 -p tcp --dport 25 -j DNAT --to-destination 192.168.0.211:80
iptables -A FORWARD -p tcp -d 192.168.0.211 --dport 80 -j ACCEPT
iptables -t nat -I POSTROUTING -s 192.168.1.0/255.255.255.0 -p tcp -d 192.168.0.211 --dport 80 -j SNAT --to 192.168.0.1(做nat机器的ip).

离线wcl2222.
发帖
2014
C币
-235377
威望
382
贡献值
1
银元
-2
铜钱
4547
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-13
Re:今天做了个NAT,LAN用户访问NAT公网IP不通?
刚才我的说话是有错误的。应该是这样
刚才看了下包经过链的流程。
经过是这样的:首先包从内网机器出来,他的源地址和目标地址为:192.168.1.X:XXXX,222.221.238.10:80
这时到达网关,首先经过的第一个链是PREROUTING,做DNAT,就是端口映射。把包发给内网web服务器。这里不会经过SNAT做源地址转换,因为不是从外网网卡出去的。
内网web服务器接到这个包源和目标地址是192.168.1.X:XXXX和192.168.1.211:80。
所以web服务器就直接把包发给内网用户,源和目标地址是:192.168.1.211:80和192.168.1.X:XXXX。内网用户没有发这样个请求(它发的是222.221.238.10:80)。所以会丢弃。
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个