思科路由器PPOE client+NAT解决地址回流问题测试

本文涉及的产品
.cn 域名,1个 12个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介:

一.测试拓扑:
wKiom1WH46fhBjvJAADX2zoss3k937.jpg
二.测试思路:
A.通过不设置方向的ip nat enable解决

---这种方式可以直接用公网IP地址访问,也可以用域名方式访问

---不幸的是思科不同的IOS,有的虽然有ip nat enable,但是实现不了同样的功能

---在有的版本中接口下干脆就不能输入ip nat enable

B.通过设置DNS域名为内网实际地址解决

---这种方式只适用于使用域名访问的方式

---如果是ASA防火墙可以通过NAT添加DNS参数,让修改DNS回包为内网地址解决

---如果客户端DNS为内部服务器,可以直接修改内部服务器DNS记录

---如果没有内部DNS服务器,可以让路由器同时作为DNS代理服务器,同时在它上面配置记录,将域名指向内部服务器的实际地址
三.基本配置:
A.R1:
interface Ethernet0/0
 ip address 202.100.1.1 255.255.255.0
 no shutdown
ip route 0.0.0.0 0.0.0.0 202.100.1.2
B.R2:
1.接口配置:

interface Ethernet0/0
 ip address 202.100.1.2 255.255.255.0
 no shutdown 
interface Ethernet0/1
 no ip address
 no shutdown

2.DNS 服务器:

ip dns server

ip host R4.yuntian.cn 202.100.2.4

ip host R1.yuntian.cn 202.100.1.1

3.PPPOE Server配置:
aaa new-model
aaa authentication ppp default local
username cisco password 0 cisco


ip dhcp excluded-address 202.100.2.2

ip dhcp excluded-address 202.100.2.4

ip dhcp pool ppoe
   network 202.100.2.0 255.255.255.0
   default-router 202.100.2.2 

bba-group pppoe TEST
 virtual-template 1

interface Virtual-Template1
 ip address 202.100.2.2 255.255.255.0
 peer default ip address dhcp-pool ppoe
 ppp authentication chap callin

 ppp ipcp dns 202.100.2.2
interface Ethernet0/1
 pppoe enable group TEST
C.R3:
1.接口配置:

interface Ethernet0/0
 no ip address
 no shutdown
interface Ethernet0/1
 ip address 192.168.1.3 255.255.255.0
 no shutdown
2.PPPOE Client配置:
interface e0/0
 pppoe enable group global
 pppoe-client dial-pool-number 1
interface Dialer0
 mtu 1492 
 ip address negotiated
 encapsulation ppp
 dialer pool 1
 ppp chap hostname cisco
 ppp chap password 0 cisco

3.DHCP服务器:

ip dhcp excluded-address 192.168.1.3
ip dhcp excluded-address 192.168.1.4

ip dhcp pool client
   network 192.168.1.0 255.255.255.0
   dns-server 202.100.2.2 

D.R4:

interface Ethernet0/0
 ip address 192.168.1.4 255.255.255.0
 no shutdown

ip route 0.0.0.0 0.0.0.0 192.168.1.3

E.R5:

interface Ethernet0/0
 ip address DHCP
 no shutdown

---接口IP,默认网关,DNS都由DHCP分配

四.解决地址回流

---都是在R3上面配置

A.方法一:NVI
1.动态PAT配置:

ip access-list extended PAT
 permit ip 192.168.1.0 0.0.0.255 any

ip nat source list PAT interface Dialer0 overload

interface Ethernet0/1
 ip nat enable

interface Dialer0

 ip nat enable

2.静态NAT配置:

ip nat source static 192.168.1.4 202.100.2.4 extendable

3.测试:

---R5能通过R4映射后的公网地址访问R4

R5#telnet 202.100.2.4
Trying 202.100.2.4 ... Open


User Access Verification

Password: 
R4>show users
    Line       User       Host(s)              Idle       Location
   0 con 0                UNKNOWN              00:00:16
*130 vty 0                idle                 00:00:00 202.100.2.3

  Interface    User               Mode         Idle     Peer Address

R4>

---R4也能通过R4映射后的公网地址访问R4

R4#telnet 202.100.2.4          
Trying 202.100.2.4 ... Open


User Access Verification

Password: 
R4>show users 
    Line       User       Host(s)              Idle       Location
   0 con 0                202.100.2.4          00:00:00
*131 vty 1                idle                 00:00:00 202.100.2.4

  Interface    User               Mode         Idle     Peer Address

R4>

---通过域名访问时会自动修改DNS记录回包(类似ASA的dns rewrite)

R5#ping R4.yuntian.cn

Translating "R4.yuntian.cn"...domain server (202.100.2.2) [OK]

Translating "R4.yuntian.cn"...domain server (202.100.2.2) [OK]

Translating "R4.yuntian.cn"...domain server (202.100.2.2) [OK]

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.4, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/32/52 ms
R5#
*Mar  1 02:13:40.991: ICMP: echo reply rcvd, src 192.168.1.4, dst 192.168.1.5
*Mar  1 02:13:41.047: ICMP: echo reply rcvd, src 192.168.1.4, dst 192.168.1.5
*Mar  1 02:13:41.087: ICMP: echo reply rcvd, src 192.168.1.4, dst 192.168.1.5
*Mar  1 02:13:41.095: ICMP: echo reply rcvd, src 192.168.1.4, dst 192.168.1.5
*Mar  1 02:13:41.139: ICMP: echo reply rcvd, src 192.168.1.4, dst 192.168.1.5
R5#

通过不同位置的抓包可以看出,路由器R3修改了DNS的回包,把公网地址修改为内网地址:

--在R2连接R3的接口抓包,可以看到DNS回复的是公网地址

wKioL1WH5X3S3UP2AAKaktHWSuc708.jpg


--但是在R3内网接口抓包,可以看到公网地址已经被修改为内网地址

wKiom1WH48WBiS17AAMGywhv2ao473.jpg

B.方法二:手工修改DNS记录

A.配置R3为DNS代理,并指定客户端DNS为自己

R3(config)#ip dns server 
R3(config)#ip name-server 202.100.2.2
R3(config)#ip host R4.yuntian.cn 192.168.1.4

R3(config)#ip dhcp pool client
R3(dhcp-config)#dns-server 192.168.1.3

B.测试:

---R5关闭接口重新获取地址,再ping R4.yuntian.cn

R5#ping R4.yuntian.cn

Translating "R4.yuntian.cn"...domain server (192.168.1.3) [OK]

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.4, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 8/30/44 ms
R5#
*Mar  1 03:40:58.335: ICMP: echo reply rcvd, src 192.168.1.4, dst 192.168.1.6
*Mar  1 03:40:58.383: ICMP: echo reply rcvd, src 192.168.1.4, dst 192.168.1.6
*Mar  1 03:40:58.395: ICMP: echo reply rcvd, src 192.168.1.4, dst 192.168.1.6
*Mar  1 03:40:58.423: ICMP: echo reply rcvd, src 192.168.1.4, dst 192.168.1.6
R5#

这时在R3内网接口上面抓包,可以看到DNS的回包:

wKioL1WH8ADDeMeGAAJJ3TcLl4M102.jpg

这时因为路由器上面有该条记录,所以直接回复客户端,在外部dns抓包看不到DNS请求包

但是这时如果请求其他域名,外部DNS会有回包

R5#ping R1.yuntian.cn

Translating "R1.yuntian.cn"...domain server (192.168.1.3) [OK]

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.100.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 52/84/152 ms
R5#
*Mar  1 03:46:26.579: ICMP: echo reply rcvd, src 202.100.1.1, dst 192.168.1.6
*Mar  1 03:46:26.647: ICMP: echo reply rcvd, src 202.100.1.1, dst 192.168.1.6
*Mar  1 03:46:26.731: ICMP: echo reply rcvd, src 202.100.1.1, dst 192.168.1.6
*Mar  1 03:46:26.795: ICMP: echo reply rcvd, src 202.100.1.1, dst 192.168.1.6
*Mar  1 03:46:26.851: ICMP: echo reply rcvd, src 202.100.1.1, dst 192.168.1.6
R5#wKioL1WH8OLTyDApAAM4OaarM_0068.jpg




本文转自 碧云天 51CTO博客,原文链接:http://blog.51cto.com/333234/1664196,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
7月前
|
网络协议
地址重叠时,用户如何通过NAT访问对端IP网络?
地址重叠时,用户如何通过NAT访问对端IP网络?
【OSTEP】分段(Segmentation) | 地址分段 | 带分段的地址转换
【OSTEP】分段(Segmentation) | 地址分段 | 带分段的地址转换
114 0
|
7月前
|
运维 监控 网络协议
IPv6地址之间的转换技术:NAT66
【4月更文挑战第25天】
1004 0
IPv6地址之间的转换技术:NAT66
|
4月前
|
网络协议 数据处理 iOS开发
不是吧?思科ASA NAT这些基本概念你还不知道?
不是吧?思科ASA NAT这些基本概念你还不知道?
|
5月前
|
运维 监控 Serverless
函数计算产品使用问题之如何使用内网地址请求测试环境
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6月前
|
数据安全/隐私保护 网络架构
虚拟路由器中的Source NAT与Static NAT
虚拟路由器中的Source NAT与Static NAT
|
7月前
|
运维 安全 网络架构
【专栏】NAT技术是连接私有网络与互联网的关键,缓解IPv4地址短缺,增强安全性和管理性
【4月更文挑战第28天】NAT技术是连接私有网络与互联网的关键,缓解IPv4地址短缺,增强安全性和管理性。本文阐述了五大NAT类型:全锥形NAT(安全低,利于P2P)、限制锥形NAT(增加安全性)、端口限制锥形NAT(更安全,可能影响协议)、对称NAT(高安全,可能导致兼容性问题)和动态NAT(公网IP有限时适用)。选择NAT类型需考虑安全性、通信模式、IP地址数量和设备兼容性,以确保网络高效、安全运行。
632 1
omni_usdt钱包文件keypoolsize是否持续为100个地址测试
omni_usdt钱包文件keypoolsize是否持续为100个地址测试
|
7月前
|
Java 应用服务中间件 Spring
WebService - CXF开发Server和Client(main方法测试)
WebService - CXF开发Server和Client(main方法测试)
104 0
|
7月前
|
存储 人工智能 Java
软件测试/人工智能|Python 变量解析:从基础概念到内存地址探究
软件测试/人工智能|Python 变量解析:从基础概念到内存地址探究