有关Redhat默认网关的问题


网络结构如下图:
请输入图片描述

希望达到的效果是公网可以通过 http://122.xxxx 访问服务器上的网站
移动专线用来向服务器写入数据。

注意此时服务器的默认网关是192.168.2.1,这个时候 http://122.xxxx 不能访问,并且服务器本省也不能上网。
route-n:


 Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth1
0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 eth0

我将默认网关修改为192.168.1.1之后,服务器可以上网了,并且 http://122.xxx 也可以访问了。

为什么?

我能够理解将网关设置为192.168.1.1之后,服务器可以通过路由器进而连到电信网从而访问互联网,也就是数据可以出去了,但是为什么 http://122.xxxx 也能够访问了?

网络通信 计算机网络

mickey 11 years, 4 months ago

LZ首先要搞清楚两个概念:SNAT和DNAT,其次要了解Linux下数据包调试的利器tcpdump,用它来抓下数据包。

路由器上不是做了端口转发吗? http://122.xxxx 能访问是正常现象。其实要想使用默认网关192.168.2.1走电信网络都是可以的,做下策略路由就行。

最后强调下,数据包是有“去”也有“回”的,而且“去”的路线可以和“回”的路线不同。

龌龊你该死 answered 11 years, 4 months ago

Your Answer