CISCO NAT 经典配置合集
CISCO NAT 经典 配置 合集 网络学习 2009-05-20 13:43 阅读 228 评论 1 字号: 大 大 中 中 小 小 ip nat inside source Translates the source of IP packets that are traveling inside to outside. Translates the destination of the IP packets that ar
CISCO NAT 经典配置合集
网络学习 2009-05-20 13:43 阅读
字号: 大大 中中 小小
ip nat inside source
Translates the source of IP packets that are traveling inside to outside.
Translates the destination of the IP packets that are traveling outside to inside.
ip nat outside source
Translates the source of the IP packets that are traveling outside to inside.
Translates the destination of the IP packets that are traveling inside to outside.
ip nat inside destination
Translates the destination of IP packets that are traveling inside to outside.
Translates the source of the IP packets that are traveling outside to inside.
ip nat outside destination
Translates the destination of the IP packets that are traveling outside to inside.
Translates the source of the IP packets that are traveling inside to outside.
ip nat inside 是对配置了ip nat inside的接口的数据包进行nat转换,相应的ip nat outside是对配置了ip nat outside的接口的数据包进行nat转换。
而source和destination是对数据包的源地址活着目的地址进行转换。
NAT基础知识
● NAT简介
NAT(Network Address Translation)的功能,就是指在一个网络内部,根据需要可以随意自定义的IP地址,而不需要经过申请。在网络内部,各计算机间通过内部的IP地址进行通讯。而当内部的计算机要与外部internet网络进行通讯时,具有NAT功能的设备(比如:路由器)负责将其内部的IP地址转换为合法的IP地址(即经过申请的IP地址)进行通信。
● NAT 的应用环境:
情况1:一个企业不想让外部网络用户知道自己的网络内部结构,可以通过NAT将内部网络与外部Internet 隔离开,则外部用户根本不知道通过NAT设置的内部IP地址。
CISCO NAT经典基础配置
● 全部采用端口:ISP分配的IP202.99.160.129
interface fastethernet0/0 ip address 192.168.1.1 255.255.255.0 duplex auto speed auto in nat inside no shutdown interface fastethernet0/1 ip address 192.168.2..1 255.255.255.0 duplex auto speed auto in nat outside no shutdown ip nat pool OnlyYou 202.99.160.130 202.99.160.130 netmask 255.255.255.252 //OnlyYou代表地址池的名称。 2个202.99.160.130是代表只用一个ip做转换后ip. access-list 1 permit 192.168.1.0 0.0.0.255 access-list 1 permit 192.168.2.0 0.0.0.255 ip nat inside source list1 pool OnlyYou overload |
● 动态地址转换+端口:ISP分配的IP 有:202.99.160.130~190 255.255.255.192
Interface fastethernet0/1 Ip address 192.168.1.1 255.255.255.0 Ip address 192.168.2.1 255.255.255.0 secondary Duplex auto Speed auto Ip nat inside No shutdown Interface serial 0/0 Ip address 202.99.160.129 255.255.255.192 Duplex auto Speed auto Ip nat outside No shutdwon Ip nat pool OutPort 202.99.160.190 202.99.160.190 netmask 255.255.255.192 Ip nat pool OutPool 202.99.160.130 202.99.160.190 netmask 255.255.255.192 Ip nat inside source list1 pool OutPort //192.168.1.0段主机全部转成202.99.160.190 Ip nat inside source list2 pool OutPool //出于访问ftp站点等考虑:192.168.2.0和192.168.3.0段主机全部 //转成202.99.160.130到202.99.160.189中的所有地址。 Access-list1 permit 192.168.1.0 0.0.0.255 Access-list2 permit 192.168.2.0 0.0.0.255 Access-list2 permit 192.168.3.0 0.0.0.255 |
● 静态地址转换:ISP分配的IP地址是:211.82.220.80~211.82.220.87、211.82.220.81 255.255.255.248。要求Intranet上的Web.E-mail.Ftp.Media可以被外部访问。
Interface fastethernet0/0 Interface fastethernet0/1 Ip nat pool Outpool 211.82.220.86 211.82.20.86 netmask 255.255.255.248 |
● NAT映射:如果ISP提供的IP地址比较多还可以,但如果不是的时候(如就两个时),一个用于内网地址转换,另一个用于对外网提供服务。ISP提供的内网上网IP。
Interface ethernet0 |
● 利用地址转换实现负载均衡:当有如象腾讯公司似的多服务器时,使用路由器实现负载平衡,可以使它们有平等的访问机会.
Interface fastethernet0/1 |
示例1
在本例中,公司使用一台两接口路由器,一个是Ethernet,另一个是串行接口。Ethernet0连接到内部网络,而串行接口则通过PPP链路连接到 ISP路由器。在内部网络中,公司使用10.0.0.0/24地址范围内的地址。公司已从其供应商那里获得了一个单一的全局可路由的IP地址 171.100.1.1,并且该地址用于路由器的串行接口上。公司使用PAT将其所有的内部本地地址转换成单一的内部全局地址171.100.1.1。公司希望提供可以从Internet访问的FTP和Web服务器,并且对Web服务器的请求应被送到Web服务器所在的地址10.1.1.100,而FTP 请求则被送到FTP服务器所在的地址10.1.1.101。
1 解决方案
interface ethernet0
ip address 10.1.1.1 255.255.255.0
ip nat inside
!
interface serial0
ip address 171.100.1.1 255.255.255.252
ip nat outside
!
ip access-list permit 10.0.0.0 0.255.255.255
!
ip nat inside source list 1 interface serial0 overload
ip nat inside source list 1 static tcp 10.1.1.100 80 171.100.1.1 80
ip nat inside source list 1 static tcp 10.1.1.101 21 171.100.1.1 21
2 分析
先定义NAT所用的接口,并通过将合适的命令放在每个接口下面来定义接口是NAT内部或外部接口。通常,在定义NAT接口之后,就要定义NAT池来指定所用的内部全局地址。但是,在本例中只使用了一个单一的内部全局地址,并且将该单一内部全局地址用于路由器的serial 0接口上。由于只有一个单一内部全局地址并且用于路由器自己的接口上,所以我们不需要定义NAT池。我们只简单地使用示例中所示的inside source list语句即可。所定义源列表使用路由器接口的IP地址,并且超载该单一IP地址。该命令允许来自10.0.0.0/24网络的内部主机访问 Internet。路由器执行PAT来创建TCP / UDP端口的NAT映射。完成该步以后,接下来需要为内部Web和FTP服务器创建静态映射。
由于只有一个单一的内部全局IP地址,因此要根据IP地址以及TCP或UDP端口来定义静态映射。在本例中,将目的地址为171.100.1.1和目的 TCP端口为80的报文地址转换成TCP端口80上的10.1.1.100内部主机地址。我们还将目的地址为171.100.1.1和目的TCP端口为 21的报文地址转换成TCP端口21上的10.1.1.101内部主机地址。这样我们就在不同的内部服务器上提供了Web和FTP服务,虽然我们只有一个单一的内部全局地址。注意,由于该命令语法允许指定内部服务器的IP地址和端口,所以可以在内部提供多个Web和FTP服务器。例如,可以创建如下的静态映射:
ip nat inside source static tcp 10.1.1.102 21 21.171.100.1 27
该转换*作将所有目的地址为171.100.1.1且目的端口为27的向内报文的地址转换为FTP端口上的地址10.1.1.102。当然,我们必须保证,外部用户能够知道我们的FTP服务器使用非标准的端口,而大多数的FTP客户机都提供这一能力。显然公司可以使用各种不同的端口转换方法来提供服务,即使公司只有一个全局可路由的IP地址。这些方法使Cisco NAT的功能更加强大。
示例2
在本例中,某公司使用一台具有两个Ethernet的路由器。Ethernet0连接到内部网络,而Ethernet1则连接到一个LAN网段。公司与其 ISP的路由器共享该网段。在内部网络中,公司使用10.0.0.0/24地址空间中的地址。公司为自己提供一个IP地址或171.100.1.0 /24。公司路由器的接口使用IP地址171.100.1.1,而ISP路由器接口则使用IP地址171.100.1.2,而将那些从 171.100.1.0/24开始的其余地址留给NAT转换。公司希望在路由器上使用必要的命令,以使其内部用户能够使用ISP所提供的地址空间中的有效,全局可路由的地址,以访问Internet。
1 解决方案
interface ethernet0
ip address 10.1.1.1 255.255.255.0
ip nat inside
!
interface Ethernet1
ip address 171.100.1.1 255.255.255.0
ip nat outside
!
ip access-list 1 permit 10.0.0.0 0.255.255.255
!
ip nat pool internet 171.100.1.3 171.100.1.254 netmask 255.255.255.0
!
ip nat inside source list 1 pool internet
2 分析
在该方案中定义了用于NAT的接口。通过将相应的命令放在每个接口下面,指定该接口是一个NAT外部接口或内部接口。这是配置NAT的第一步。如果读者不将接口指定为一个NAT内部或NAT外部接口,或者指定的不正确,则NAT就不能正确工作。如果不定义NAT接口,NAT根本不工作,并且debug ip nat detail命令也不会输出任何结果。如果读者已定义了所有其他的NAT命令,但NAT还是不工作,则确认每个接口下面的所放的NAT命令是否合理。
在每个接口下面定义了合适的NAT命令之后,就可以定义存放内部全局地址的NAT池。我们定义的起始IP地址是171.100.1.3,而结束地址为 171.100.1.254。我们不使用.1和.2地址是因为这两个地址分别用于用户路由器和ISP路由器。由于这两个地址也与用户路由器上的 Ethernet1接口所在的子网是同一子网地址,用户路由器将使用自己的MAC地址回答来自ISP路由器的ARP请求。这允许ISP路由器从NAT池中解析出IP地址,并使用从NAP池中取出的目的IP地址将报文发送给用户路由器。
注意,MAT地址池并非必须来自与用户路由器接口上所配置的子网相同。
示例3
在本例中,公司使用一台具有两个接口的路由器,分别是以太网和串行接口。Ethernet0连接到内部网络,而串行接口则通过点到点协议(PPP)链路连接到ISP路由器。在内部网络中,公司使用的地址来自地址空间10.0.0.0/24,该地址空间在Internet上是不可路由的。公司自己使用IP地址范围171.100.1.0/24。到ISP的PPP链路使用来自198.50.1.0/30子网的地址。公司希望在路由器上配置合适的命令,以便内部用户可以通过使用有效的、全局可路由的地址访问Internet。这些地址应该是来自ISP所提供的地址空间171.100.1.0/24。我们打算与上游的ISP路由器交换OSPF(开放式最短路径优先)更新信息。从而可以从该路由器接收缺省路由,并将其通知ISP路由器,该路由正在公司路由器上使用。
1 解决方案1
interface ethernet0
ip address 10.1.1.1 255.255.255.0
ip nat inside
!
interface serial0
ip address address 198.50.1.1 255.255.255.252
ip nat outside
!
ip access-list 1 permit 10.0.0.0 0.255.255.555
!
ip nat pool internet 171.100.1.1 171.100.1.254 netmask 255.255.255.0
!
ip nat inside source list 1 pool internet
!
ip route 171.100.1.0 255.255.255.0 null0
!
router ospf 1
network 198.50.1.0 0.0.0.255 area 0
redistribute static
2 解决方案2
interface loopback 0
ip address 171.100.1.1 255.255.255.0
ip ospf network point-to-point
!
interface ethernet0
ip address 10.1.1.1 255.255.255.0
ip nat inside
!
interface serial0
ip address address 198.50.1.1 255.255.255.252
ip nat outside
!
ip access-list 1 permit 10.0.0.0 0.255.255.555
!
ip nat pool internet 171.100.1.1 171.100.1.254 netmask 255.255.255.0
!
ip nat inside source list 1 pool internet
!
ip route 171.100.1.0 255.255.255.0 null0
!
router ospf 1
network 198.50.1.0 0.0.0.255 area 0
network 171.100.1.0 0.0.0.255 area 0
3 分析
在解决方案1中,先定义了用于NAT的接口,并通过将合适的命令放在每个接口下面,来指定该接口是一个NAT内部或外部接口。在每个接口下面定义了适当的 NAT命令之后,再定义内部全局地址所在的NAT池。定义全局地址的起始IP地址为171.100.1.1,结束IP地址为171.100.1.254。我们使用除.1和.2地址之外的所有主机地址,是因为这些主机地址都不用于路由器接口。通过在NAT池中使用与用户路由器接口所用子网不同的子网,可以获得一些主机地址。但这又引入了一个新的问题。
在前一个示例中,ISP路由器直接连接到分配给NAT池的子网上。这种情况下,ISP路由器只发出一个ARP请求,以请求NAT池中的单个NAT地址,而用户路由器则使用自己的MAC地址来响应,此时工作正常。但是,上游的ISP路由器并不直接连接到NAT地址池子网171.100.1.0/24,所以必须告诉它如何通过路由协议或静态路由的方法到达NAT池所在的子网。在解决方案1中,我们启用了OSPF并且为171.100.1.0/24重新分配一个静态路由到OSPF中。上游的ISP路由器会接收到该路由,并且将所有目的地址为NAT池中地址的报文转发到我们的路由器中。
可选地,ISP可以在其路由器上安装一个静态路由,用来将所有171.100.1.0/24网络的报文指向我们的路由器。但是,我们希望:当NAT池地址不是直接从相连的子网上取出时,能够显示出路由信息的传播路径。注意,我们将整个171.10.10/24子网的NAT地址表置为null0。由于我们要指定NAT地址表中的某些表项,而非整个171.100.1.0/24子网,这时路由器并不丢弃这些报文,而是将它们转发到NAT表中所定义的内部主机上。
在解决方案2中,我们使用了另一种方法来通知ISP路由器有关NAT池的信息。这种方法是创建一个闭环(loopback)接口,并给其分配一个NAT池中的IP地址。通过将network171.100.1.00.0.0.255 area 0语句包含在我们的OSPF路由进程下面,可以将该闭环地址作为OSPF路由的一部分。注意,我们将.1地址从NAT池中删除,而使用主机地址.2作为 NAT池的起始地址,这样就减少了NAT池地址和用于闭环接口上的IP地址重叠的可能性。另外,我们在闭环接口下面使用接口命令ip ospf ntwork point-to-point。一般地,OSPF将闭环接口看成是一个OSPF桩(stub)网络,并且将接口的32位表项作为路由,而非整个子网。在本例中,OSPF进程会发送172.100.1.1/32而非表172.100.1.0/24。在这种情况下,由于需要将整个171.100.1.0/24 子网信息传送给上游的ISP路由器,所以该地址转换过程不能工作。OSPF接口命令告诉OSPF传送该接口的路由,就像该网络是点到点网络一样,而不像是一个桩(stub)网络。这意味着它将通过OSPF传送整个171.100.1.0/24子网信息(ip ospf network point-to-point命令在IOS版本11.3或更高版本中使用),这两种方法都能正常工作,但使用哪一种则是读者的偏好问题了。
注意:我们知道一个公司通常会在其路由器和ISP路由器之间运行边界网关协议(Border Gateway Protocol, BGP)。在本例中,我们选择了OSPF路由协议,目的是为了分析ip ospf network point-to-point命令。
示例4
在本例中,公司与示例2中的公司相同,但情况稍有不同。这里公司处于Internet环境中,它决定提供一个能从Internet访问的Web服务器,以便那些浏览Web的用户能够了解公司。该服务器位于内部网络中,并且能够从Internet上的主机访问该服务器。这样它将拥有IP地址 10.1.1.100。由于Web服务器必须能够通过Internet来访问,所以这个源IP地址在转发给ISP路由器之前,必须被转换成内部全局缓冲池中的地址。我们为公司Web服务器选择171.100.1.100作为其转换成的内部全局地址。
如示例2那样,Ethernet0连接到内部网络,而串行接口则通过PPP链路连接到ISP路由器。在内部网络中,公司使用10.0.0.0/24中的地址,而全局池中的IP地址范围是171.100.1.0/24。在本例中,我们将假定ISP使用静态路由来找到我们的路由器,其中路由器地址在 172.100.1.0/24地址范围内。并且ISP将该路由传送到Internet上。
1 解决方案
interface ethernet0
ip address 10.1.1.1 255.255.255.0
ip nat inside
!
interface serial0
ip address 198.50.1.1 255.255.255.252
ip nat outside
ip access-list 1 permit 10.0.0.0 0.255.255.255
!
ip nat pool internet prefix-length 24
address 171.100.1.1 171.100.1.99
address 171.100.1.101 171.100.1.254
!
ip nat inside source static 10.1.1.100 171.100.1.100
ip nat inside source list 1 pool internet
2 分析
如其他示例那样,我们在使用任何其他NAT命令之前,应先定义NAT内部和外部接口。而后需要配置NAT池地址和NAT源列表,以允许能够从池中获得地址。本例与示例2的不同之处在于:我们需要为Web服务器设置IP地址171.100.1.100。另外,必须在内部全局地址和内部本地地址之间给出静态映射关系。不然的话,就不能保证NAT表中的NAT转换会将NAT池中的特定IP地址映射到Web服务器。这也意味着无法从Internet上知道应该使用哪个地址才能到达Web服务器,显然这是毫无用处的。
注意,我们在配置中使用ip nat inside source static 命令,以建立10.1.1.100和171.100.1.100之间的静态映射。注意到在本例中NAT池的语法有些不同。Cisco已扩展了NAT语法,所以可以拆分NAT池所用的IP地址范围。我们定义了两个不同的地址范围:从171.100.1.1到171.100.1.9 9,以及从171.100.1.1 0 1到171.100.1.254。所以我们可以将IP地址171.100.1.100从NAT池中排除出去,因为我们使用该地址进行静态转换。我们使用 ip nat inside source list命令来定义IP地址,以允许该IP地址从NAT池中获取

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











거의 모든 게임이 온라인으로 진행되는 오늘날의 상황에서 홈 네트워크의 최적화를 무시하는 것은 바람직하지 않습니다. 거의 모든 라우터에는 사용자의 게임 경험을 향상시키도록 설계된 NATBoost 및 QoS 기능이 탑재되어 있습니다. 이 기사에서는 NATBoost 및 QoS의 정의, 장점 및 단점을 살펴보겠습니다. 게임에 대한 NATBoost와 Qos 중 어느 것이 더 낫습니까? 네트워크 주소 변환 부스트(Network Address Translation Boost)라고도 알려진 NATBoost는 성능을 향상시키는 라우터에 내장된 기능입니다. 이는 게임 장치와 서버 간에 데이터가 전송되는 데 걸리는 시간인 네트워크 대기 시간을 줄이는 데 도움이 되기 때문에 게임에 특히 중요합니다. NATBoost는 라우터 내의 데이터 처리 방법을 최적화하여 더 빠른 데이터 처리 속도와 더 낮은 대기 시간을 달성하여

PyCharm은 강력한 통합 개발 환경(IDE)이고, PyTorch는 딥 러닝 분야에서 인기 있는 오픈 소스 프레임워크입니다. 머신러닝과 딥러닝 분야에서 PyCharm과 PyTorch를 개발에 활용하면 개발 효율성과 코드 품질을 크게 향상시킬 수 있습니다. 이 기사에서는 PyCharm에서 PyTorch를 설치 및 구성하는 방법을 자세히 소개하고 독자가 이 두 가지의 강력한 기능을 더 잘 활용할 수 있도록 특정 코드 예제를 첨부합니다. 1단계: PyCharm 및 Python 설치

제목: PyCharm에서 Git을 올바르게 구성하는 방법 현대 소프트웨어 개발에서 버전 제어 시스템은 매우 중요한 도구이며, 널리 사용되는 버전 제어 시스템 중 하나인 Git은 개발자에게 강력한 기능과 유연한 작업을 제공합니다. 강력한 Python 통합 개발 환경인 PyCharm은 Git을 지원하므로 개발자는 코드 버전을 보다 편리하게 관리할 수 있습니다. 이 기사에서는 개발 프로세스 중에 더 나은 개발을 촉진하기 위해 PyCharm에서 Git을 올바르게 구성하는 방법을 소개합니다.

제목: Linux 시스템에서 GDM의 작동 원리 및 구성 방법 Linux 운영 체제에서 GDM(GNOMEDisplayManager)은 그래픽 사용자 인터페이스(GUI) 로그인 및 사용자 세션 관리를 제어하는 데 사용되는 일반적인 디스플레이 관리자입니다. 이 기사에서는 GDM의 작동 원리와 구성 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1. GDM의 작동 원리 GDM은 GNOME 데스크탑 환경의 디스플레이 관리자이며 X 서버를 시작하고 사용자에게 로그인 인터페이스를 제공합니다.

Linux Bashrc 이해: 기능, 구성 및 사용법 Linux 시스템에서 Bashrc(BourneAgainShellruncommands)는 시스템 시작 시 자동으로 실행되는 다양한 명령과 설정이 포함된 매우 중요한 구성 파일입니다. Bashrc 파일은 일반적으로 사용자의 홈 디렉토리에 있으며 숨겨진 파일입니다. 해당 기능은 사용자를 위해 Bashshell 환경을 사용자 정의하는 것입니다. 1. Bashrc 기능 설정 환경

Win11에서 작업 그룹을 구성하는 방법 작업 그룹은 로컬 영역 네트워크에서 여러 컴퓨터를 연결하는 방법으로, 파일, 프린터 및 기타 리소스를 컴퓨터 간에 공유할 수 있습니다. Win11 시스템에서는 작업 그룹을 구성하는 것이 매우 간단합니다. 아래 단계를 따르십시오. 1단계: "설정" 애플리케이션을 엽니다. 먼저 Win11 시스템의 "시작" 버튼을 클릭한 다음 팝업 메뉴에서 "설정" 애플리케이션을 선택합니다. "Win+I" 단축키를 사용하여 "설정"을 열 수도 있습니다. 2단계: "시스템"을 선택하세요. 설정 앱에 여러 옵션이 표시됩니다. 시스템 설정 페이지로 들어가려면 "시스템" 옵션을 클릭하세요. 3단계: "정보"를 선택합니다. "시스템" 설정 페이지에 여러 하위 옵션이 표시됩니다. 클릭하세요

PyCharm은 일반적으로 사용되는 통합 개발 환경(IDE)입니다. 일상적인 개발에서는 Git을 사용하여 코드를 관리하는 것이 필수적입니다. 이 기사에서는 특정 코드 예제와 함께 PyCharm에서 Git을 구성하고 코드 관리를 위해 Git을 사용하는 방법을 소개합니다. 1단계: Git 설치 먼저 컴퓨터에 Git이 설치되어 있는지 확인하세요. 설치되어 있지 않은 경우 [Git 공식 홈페이지](https://git-scm.com/)에서 최신 버전의 Git을 다운로드하여 설치할 수 있습니다.

제목: Linux 시스템에서 FTPS를 구성하고 설치하는 방법에는 특정 코드 예제가 필요합니다. Linux 시스템에서 FTPS는 FTP와 비교하여 전송된 데이터를 TLS/SSL 프로토콜을 통해 암호화하므로 성능이 향상됩니다. 데이터 전송의 보안. 이 기사에서는 Linux 시스템에서 FTPS를 구성 및 설치하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 1단계: vsftpd 설치 터미널을 열고 다음 명령을 입력하여 vsftpd를 설치합니다. sudo
