有些单位的内网服务器上的只配置了IP地址和子网掩码,并没有配默认网关,但从外网上还是可以访问该服务器,是怎么做到的呢?
对于单位的内网服务器配置了私网IP地址、子网掩码和默认网关,外网用户访问内网服务器的情形,在以前的《华为路由器利用公网IP和NAT接入互联网典型方式模拟实验》中写过关于外用户访问内网服务器所需的NAT——华为技术文档中的NAT Server方式。
内部服务器不配置默认网关的话,则需要在配置NAT Server基础上,增加源NAT配置——只是和我们经常用的内网访问外网时用到的源NAT的方向相反。
下面以一个简单实验进行模拟,实验拓扑如图1所示:
图1
一、实验内容
模拟某单位的网络场景:单位内部是一个简单的局域网(图1黄色矩形区),其中服务器Srv1对外提供www服务,该服务器只配置了IP地址:10.1.1.1和子网掩码:255.255.255.0,未配置默认网关(路由器R1的局域网端口地址:10.1.1.254),如图2所示:
图2
单位的路由器R1连接互联网的外网口,配置了静态公网IP地址:12.12.12.2。
client1则用来模拟外网用户(图1红色椭圆区)。
本次实验将主要配置:
1、R1接口IP地址;
2、R1到外网的默认路由;
3、R1上的NAT Server;
4、R1上互联网用户访问内网服务器所需的源NAT。
其中1~3是很多中小单位的常见配置,4是解决内部服务器不配默认网关的情况下外部互联网用户也可以访问的情形。
其原理是:在互联网用户client1(源)访问内网服务器Srv1(目的)时,不仅将IP报文头的目的IP地址进行了替换,而且将其中的源IP地址也进行了替换——替换后的IP地址与Srv1在同一个网段。当内网服务器Srv1回应外网用户的访问请求时,发现自己的地址和目的地址在同一网段,此时Srv1就不会去查找路由表,而是发送ARP广播报文询问目的地址对应的mac地址。路由器会将连接内网服务器的接口的MAC地址发给Srv1,Srv1将回应报文发送至路由器,路由器再对其进行后续处理。
二、实验配置
(一) R1接口IP地址配置
[R1]interface g0/0/0
[R1-GigabitEthe.NET0/0/0]ip address 12.12.12.2 24
[R1-GigabitEthernet0/0/0]interface g0/0/1
[R1-GigabitEthernet0/0/0]ip address 10.1.1.254 24
[R1-GigabitEthernet0/0/1]quit
(二) R1到外网的默认路由配置
[R1]ip route-static 0.0.0.0 0.0.0.0 12.12.12.1
(三) R1上的NAT Server配置
[R1-GigabitEthernet0/0/0]nat server protocol tcp global current-interface www inside 10.1.1.1 www
[R1-GigabitEthernet0/0/0]quit
(四) R1上外网用户访问内网服务器所需的源NAT配置
[R1]nat address-group 1 10.1.1.10 10.1.1.10
[R1]acl 3001
[R1-acl-adv-3001]rule 5 permit tcp destination 12.12.12.2 0
[R1-acl-adv-3001]quit
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]nat outbound 3001 address-group 1
注:
这里的关键点是:
1. 把外网用户client1(源)访问内网服务器Srv1(目的)时的IP报文头的源地址进行替换时的访问表的匹配,在进入R1中后Srv1的IP地址还是12.12.12.2——还未被替换成10.1.1.1,因此acl 3001的规则匹配的IP报文的目的是12.12.12.2。
2. 用于源NAT地址池中的IP地址要与Srv1在同一网段。
3. 在接口上应用地址池时是在R1连接内网口的outbound方向。
三、配置验证
(一) 外网用户client1访问单位内部WWW服务器Srv1
用Http Client模拟外网用户以IP 12.12.12.2 方式访问单位内部WWW服务器Srv1,如图3
图3
可以成功访问。
(二) 查看R1的接口NAT地址转换情况
结果如图4,IP报文头的源地址和目的地址均被进行了替换。
图4
外网用户访问内网服务器的IP报文头的源地址和目的地址均被进行了替换。
至此,实验结束。
以上输入和描述可能有疏漏、错误,欢迎大家在下方评论区留言指正!
另外以上实验如有帮助,望不吝转发!