论坛风格切换切换到宽版
  • 733阅读
  • 7回复

[问题求助]Help:端口映射的问题(白金请进) [复制链接]

上一主题 下一主题
离线lj80117.
 
发帖
2080
C币
-140273
威望
384
贡献值
1
银元
-3
铜钱
4627
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
当前网络情况是这.样的,使用Linux当网关做NAT,多张网卡,一张网卡连外网,固定IP,比如192.168.1.234,另一张网卡连内网,IP地址是:1.92.168.0.1,内部机器设置网关.为192.168.0.1,内部IP段为1.92.168.0.0/24             电子

网络能正常访问外部,也能通过IPtab.les做一些访问.控制,           女人

但我想把WEB服务器放内网,.在Linux网关做端口映射,却一直.不成功,不知为啥,           鲜花

我的命令是这样的:(将外.网对192.168.1.234:80的访问转向192.1.68.0.100:80)--------------彩票

iptables -t nat -A PREROUTING -.-dst 192.168.1.234 -p tcp --.dport 80 -j DNAT --to-destination 192.168..0.100:80[成人用品]

命令执行成功,

但在192.168.1.0外网段访问http://192.168.1.234,却不成功,提示找不到服务器,端口没的映射成功,.

请大侠们出手相救,,,,,

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

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线chinablue.
发帖
2151
C币
-235260
威望
390
贡献值
1
银元
-3
铜钱
4734
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
iptables-save 執行後貼出結果一下。

==

离线njbenben.
发帖
1976
C币
-198903
威望
358
贡献值
1
银元
-2
铜钱
4361
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
我用-I也不行,可能会是什么问题呢?

离线vvvdong.
发帖
2096
C币
-236276
威望
360
贡献值
1
银元
-2
铜钱
4575
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
DNAT做了,从本机到指定端口,然后再看源地址NAT

离线zhujing666.
发帖
2052
C币
-604827
威望
377
贡献值
2
银元
0
铜钱
4572
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13


QUOTE:原帖由 kenduest 于 2006-4-5 15:27 发表
iptables-save 執行後貼出結果一下。

==


是一套网关系统,IPtables-save 帖出来,可能很长很长,

离线kaobo.
发帖
2065
C币
-60356
威望
403
贡献值
1
银元
-2
铜钱
4722
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
问题找到了,

是FORWARD的问题,

因为对FORWARD做了很强的控制,所以,默认不让随意进出的,

需要iptables -I FORWARD -o eth0 -d 192.168.0.100 -p tcp --dport 80 -j ACCEPT
iptables -I FORWARD -i eth0 -s 192.168.0.100 -p tcp --sport 80 -j ACCEPT

离线伊泽浩.
发帖
2034
C币
-505373
威望
375
贡献值
2
银元
-3
铜钱
4523
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13
呵呵,如果我没有猜错的话,你应该还有一台SNAT或者MASQUERADM的语句。如果这样的话,根据网络原理,数据包的源地址将会返回错误,因为数据包是这样走向的。
假如192.168.0.2(你的一台内网机器)访问你的WEB服务,在浏览器输入:http://192.168.1.234,这个时候,192.168.0.2的机器会用自己的子网掩码跟192.168.1.234进行运算,发现要访问的IP不在同一网段。于是把数据包转发给网关192.168.0.1。网关收到后,把数据包的目的地址改为192.168.0.100(你的WEB服务器)。然后把数据包发给WEB服务器。WEB服务器收到后,会发送响应的数据包,目的IP是192.168.0.2,源IP是192.168.0.100。根据网络原理,这两个IP在同一网段,于是直接发送过去,不经过网关。192.168.0.2收到后,发现源地址是192.168.0.100,而不是192.168.1.234,于是把数据包丢弃,继续等待192.168.1.234的会应,当然,这是永远也无法等到的。所以,你应该加一条语句进来。如果你学过TCP/IP或者CCNA的课程应该能明白的。
所以应该加一条语句:

iptables -t nat -A POSTROUTING -p tcp -s 192.168.0.0/24 -d 192.168.0.100/24 -j SNAT --to 192.168.0.1

离线ever66.
发帖
2054
C币
-235385
威望
386
贡献值
1
银元
-5
铜钱
4642
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
晕,你说的是在192.168.1.0外网访问也不成功啊。
我看成192.168.0.0内网不成功。加上那句,内网也可以了

快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个