免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3719 | 回复: 17
打印 上一主题 下一主题

[网络管理] [求助]公网地址转发失败,但内网可以【已解决】 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-12-18 18:05 |只看该作者 |倒序浏览
本帖最后由 yeqiyu 于 2012-12-24 20:07 编辑

各位大虾好~

目前在用ipatables做地址转发,情况如下~~

Server1(NAT)   
CentOS 6.3

双IP
eth1:192.168.12.156/255.255.255.0
未设置网关
eth2x.xxx.xx.71/255.255.255.254
网关 xx.xxx.xx.65

route -n
结果如下
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
xx.xxx.xx.65    0.0.0.0         255.255.255.255 UH    0      0        0 eth2
xx.xxx.xx.70    0.0.0.0         255.255.255.254 U     1      0        0 eth2
192.168.12.0    0.0.0.0         255.255.255.0   U     1      0        0 eth1
0.0.0.0         xx.xxx.xx.65    0.0.0.0         UG    0      0        0 eth2


/etc/sysconfig/iptables
如下

# Generated by iptables-save v1.4.7 on Fri Dec  7 13:06:41 2012
*nat
REROUTING ACCEPT [79:19736]
OSTROUTING ACCEPT [1:68]
:OUTPUT ACCEPT [1:68]
-A PREROUTING -d 192.168.12.156/32 -j DNAT --to-destination 192.168.12.154
-A PREROUTING -d xx.xxx.xx.71/32 -j DNAT --to-destination 192.168.12.154

-A POSTROUTING -s 192.168.0.0/16 -j SNAT --to-source 192.168.12.156

COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [215:25037]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8090 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -p tcp -j ACCEPT

-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Fri Dec  7 13:06:41 2012


Server2(APP)
CentOS 6.3
IP:192.168.12.154/24
gateway:192.168.12.254

PC1
windows7

现象:
1.使用http://192.168.12.156:8080 可成功转发到192.168.12.154上
2.使用http://xx.xxx.xx.156:8080 不能转发到192.168.12.154上  *
3.service1、service2、pc1可相互通信,且均可访问互联网
4.当service1 iptables启用时,pc1、service2 无法ping同service 的公网IP,可ping通内网IP,停用iptables可以ping通公网IP *

问题
现象2、4不太明白。
1.现象4,同样是一个iptables为何ping内网可以,公网就不通呢?
2.现象2,是否和现象4有关联?如果按照上边的iptables配置,内网ip可以转发了,那么公网ip也应该可以转发才对吧~?
3.我的如何测试我的路由是否正确?


对于这个问题,我查过ipables的转发攻略,查过路由的配置攻略,不过仍然是个新手,可能会有没有注意到地方,还请各位兄弟姐妹帮忙分析一下,十分感谢~~
如果需要其他信息,我会及时提供~~ 再次感谢~

补充信息:
1.Server1启用了端口转发
2.拓扑图



问题已经解决了,是我的APPServer网关配置错误。
我没有将APPServer的网关指向NAT
感谢 yzkarchive 提醒 。

同时也谢谢chenyx 提供的资料和排查方法。

http://bbs.chinaunix.net/thread-1930585-1-1.html

也谢谢各位的帮助,谢谢。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
10 [报告]
发表于 2012-12-19 17:44 |只看该作者
你测试下,将nat规则清空,添加如下规则,看看能不能实现你的转发.
  1. -A PREROUTING -d xx.xxx.xx.71/32 -j DNAT --to-destination 192.168.12.154
  2. -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.12.156
复制代码

论坛徽章:
0
2 [报告]
发表于 2012-12-18 18:06 |只看该作者
先自己顶下~~:wink:

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
3 [报告]
发表于 2012-12-18 18:26 |只看该作者
1.nat机器的ip转发开启了没有?
2.内部pc的网关是否指向你的nat服务器的内网卡ip了?
3.-A POSTROUTING -s 192.168.0.0/16 -j SNAT --to-source 192.168.12.156这个暂时先去掉看看.

论坛徽章:
0
4 [报告]
发表于 2012-12-18 20:13 |只看该作者
snat 的时候加上-i 和-o 指定下入口和出口。
dnat是基于端口的转发。

论坛徽章:
0
5 [报告]
发表于 2012-12-19 10:13 |只看该作者
chenyx 发表于 2012-12-18 18:26
1.nat机器的ip转发开启了没有?
2.内部pc的网关是否指向你的nat服务器的内网卡ip了?
3.-A POSTROUTING -s  ...



哈,又是chenyx,谢谢谢谢~~

1.ip转发启用了,所以可以转发内网IP;
2.没有,pc的网关指向的是网络设备的网关,即192.168.12.254。nat服务器只计划为其中的几台提供应用的服务器服务,所以将“内部pc的网关是否指向你的nat服务器的内网卡ip”有点不太理解;
3.好的,我试下看看~~ 这样可以最小化配置,不知出了这种排除方法,是否还有其他原因这么做呢?

这是我简单画了个网络拓扑


再次感谢~:wink:

论坛徽章:
0
6 [报告]
发表于 2012-12-19 10:15 |只看该作者
623285961 发表于 2012-12-18 20:13
snat 的时候加上-i 和-o 指定下入口和出口。
dnat是基于端口的转发。


谢谢 :)

由于之前是添加了出入口和端口的,但是发现不成功,所以就尽可能的减少了这些限制条件~~:wink:

论坛徽章:
15
CU大牛徽章
日期:2013-03-13 15:32:35白羊座
日期:2013-10-30 13:11:16未羊
日期:2013-11-29 10:47:02白羊座
日期:2014-01-22 11:34:25白羊座
日期:2014-03-04 11:05:50申猴
日期:2014-07-29 16:31:36天秤座
日期:2013-10-23 15:33:47未羊
日期:2013-10-09 09:18:53CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55未羊
日期:2013-09-23 09:29:22
7 [报告]
发表于 2012-12-19 10:36 |只看该作者
appserver的默认路由是多少?

论坛徽章:
15
CU大牛徽章
日期:2013-03-13 15:32:35白羊座
日期:2013-10-30 13:11:16未羊
日期:2013-11-29 10:47:02白羊座
日期:2014-01-22 11:34:25白羊座
日期:2014-03-04 11:05:50申猴
日期:2014-07-29 16:31:36天秤座
日期:2013-10-23 15:33:47未羊
日期:2013-10-09 09:18:53CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55未羊
日期:2013-09-23 09:29:22
8 [报告]
发表于 2012-12-19 10:37 |只看该作者
感觉应该是回程路由的问题,可以再appserver上面先抓包,看包是否到达了appserver。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
9 [报告]
发表于 2012-12-19 17:42 |只看该作者
论坛以前有个类似的帖子,想不起来连接了,你可以搜索下,和你的情况类似,PC的网关指向不是你的linux nat服务器的内网ip.
我记得好像是添加一个snat,将从内网发出去的包snat到内网卡的ip上去,你的例子中就是156那个ip.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP