思科路由器作为企业网络的核心设备,其配置上网的能力是网络工程师的基础技能,本文将系统性地介绍如何通过命令行界面(CLI)配置一台思科路由器,使其能够连接到互联网,并为内部网络(LAN)提供网络地址转换(NAT)服务,整个过程将遵循逻辑清晰、步骤分明的原则,旨在为初学者和需要复习的专业人士提供一份详实的参考指南。
前期准备与核心概念
在开始配置之前,确保您已具备以下条件:
- 物理连接:路由器的WAN口(通常为GigabitEthernet0/0或类似接口)已通过网线连接至光猫或ISP(互联网服务提供商)提供的入口设备,LAN口(如GigabitEthernet0/1)连接到内部交换机。
- Console访问:通过Console线连接电脑的串口或USB转串口,使用终端仿真软件(如SecureCRT、PuTTY)登录路由器的命令行界面。
- ISP提供信息:明确您的上网方式,常见的有两种:
- 静态IP地址:ISP会提供一个固定的公网IP地址、子网掩码、网关地址和DNS服务器地址。
- 动态IP地址(DHCP):ISP会自动分配IP地址,您无需手动配置。
配置过程中将涉及几个核心概念:
- 接口配置:为路由器的物理或逻辑接口分配IP地址,并定义其角色(内部或外部)。
- 网络地址转换(NAT):将内部网络的私有IP地址转换为路由器WAN口的单个公网IP地址(也称为PAT,Port Address Translation),从而实现多台内部设备共享一个公网IP上网。
- 默认路由:告诉路由器,当遇到未知目标网络(即互联网上的任何地址)时,应将数据包发往何处,这个“何处”通常是ISP提供的网关地址。
- DHCP服务:在路由器上启用DHCP服务,使其能为内部网络中的计算机、手机等设备自动分配IP地址、子网掩码、网关和DNS,简化客户端配置。
详细配置步骤
以下配置将以一个典型的场景为例:WAN口使用静态IP地址,LAN口为内部网络提供DHCP和NAT服务。
基本设备配置
进入全局配置模式,进行一些基础安全和管理设置。
Router> enable
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# hostname Core-Router
Core-Router(config)# enable secret 5 $1$mERr$vh2aVh4h1qV8mP7pK5wYJ0
Core-Router(config)# service password-encryption
Core-Router(config)# ip domain-name mylab.local
Core-Router(config)# crypto key generate rsa
The name for the keys will be: Core-Router.mylab.local
Choose the size of the key modulus in the range of 360 to 2048 for your
General Purpose Keys. Choosing a key modulus greater than 512 may take
a few minutes.
How many bits in the modulus [512]: 2048
% Generating 2048 bit RSA keys, keys will be non-exportable...
[OK]
Core-Router(config)# line vty 0 4
Core-Router(config-line)# login local
Core-Router(config-line)# transport input ssh
说明:此步骤设置了设备主机名、特权模式密码(加密存储)、开启了SSH远程管理功能,比传统的Telnet更安全。
配置WAN口(外部接口)
假设ISP分配的静态IP信息为:0.113.10
,子网掩码255.255.252
,网关0.113.9
。
Core-Router(config)# interface GigabitEthernet0/0
Core-Router(config-if)# description Connection to ISP
Core-Router(config-if)# ip address 203.0.113.10 255.255.255.252
Core-Router(config-if)# ip nat outside
Core-Router(config-if)# no shutdown
Core-Router(config-if)# exit
说明:
ip nat outside
命令将该接口定义为NAT的“外部”接口,所有从该接口出去的数据包都可能被进行地址转换。
配置LAN口(内部接口)
为内部网络指定一个私有IP网段,例如168.1.0/24
。
Core-Router(config)# interface GigabitEthernet0/1
Core-Router(config-if)# description Internal LAN Network
Core-Router(config-if)# ip address 192.168.1.1 255.255.255.0
Core-Router(config-if)# ip nat inside
Core-Router(config-if)# no shutdown
Core-Router(config-if)# exit
说明:
ip nat inside
命令将该接口定义为NAT的“内部”接口,所有从该接口进入、目标为互联网的数据包都将被NAT处理。
配置网络地址转换(NAT)
这是实现多台设备共享上网的关键。
- 定义需要转换的内部IP地址段:使用访问控制列表(ACL)来匹配。
Core-Router(config)# access-list 10 permit 192.168.1.0 0.0.0.255
- 创建NAT转换规则:将ACL 10匹配的地址,转换为WAN口的IP地址(PAT方式)。
Core-Router(config)# ip nat inside source list 10 interface GigabitEthernet0/0 overload
说明:
overload
关键字是PAT的核心,它允许多个私有IP地址通过使用不同的端口号来共享同一个公网IP地址。
配置默认路由
指向ISP的网关,确保所有去往互联网的流量都有明确的下一跳。
Core-Router(config)# ip route 0.0.0.0 0.0.0.0 203.0.113.9
说明:
0.0.0 0.0.0.0
代表所有网络,0.113.9
是ISP提供的网关地址。
配置DHCP服务(可选)
为内部客户端自动分配网络参数。
Core-Router(config)# ip dhcp pool LAN_POOL
Core-Router(dhcp-config)# network 192.168.1.0 255.255.255.0
Core-Router(dhcp-config)# default-router 192.168.1.1
Core-Router(dhcp-config)# dns-server 8.8.8.8 114.114.114.114
Core-Router(dhcp-config)# domain-name mylab.local
Core-Router(dhcp-config)# lease 7
Core-Router(dhcp-config)# exit
说明:我们创建了一个名为
LAN_POOL
的地址池,指定了网段、网关(即路由器LAN口IP)、公共DNS服务器和域名租期(7天)。
保存配置
所有配置都在“运行配置”(running-config)中,重启后会丢失,必须将其保存到“启动配置”(startup-config)中。
Core-Router# end
Core-Router# write memory
Building configuration...
[OK]
或者使用
Core-Router# copy running-config startup-config
命令,效果相同。
验证与排错
配置完成后,需要进行验证。
检查接口状态:
Core-Router# show ip interface brief
确认
GigabitEthernet0/0
和GigabitEthernet0/1
的Status
和Protocol
均为up
。检查NAT转换表:
Core-Router# show ip nat translations
在内部PC访问外网后,此命令应能显示出具体的转换条目。
检查路由表:
Core-Router# show ip route
确认存在一条以
S*
或S
标记的、指向0.0.0/0
的静态路由。测试连通性:
在内部一台PC上,将IP设置为自动获取,然后ping
一个公网地址,如ping 8.8.8.8
,如果能通,则表明基础上网配置成功。
相关问答FAQs
问题1:我的路由器配置完成后,内网PC可以ping通公网IP地址(如8.8.8.8),但无法解析域名(如www.baidu.com),这是什么原因?
解答:这个问题通常指向DNS(域名系统)配置错误,可能的原因有两点:第一,在路由器的DHCP池配置中,dns-server
参数填写错误或未填写,请检查该配置是否为您ISP提供的DNS地址或可靠的公共DNS(如8.8.8.8),第二,如果PC是手动配置IP,请确保其“首选DNS服务器”和“备用DNS服务器”地址填写正确,您也可以在路由器上执行 ping www.baidu.com
来测试路由器自身的DNS解析能力,如果路由器也无法解析,请检查路由器是否有指向DNS服务器的路由,或者在全局配置模式下使用 ip name-server 8.8.8.8
命令为路由器自身指定DNS服务器。
问题2:为了安全,我想只允许内网特定IP(如192.168.1.100)访问互联网,其他所有IP都不能上网,该如何配置?
解答:这需要修改用于NAT的访问控制列表(ACL),当前配置 access-list 10 permit 192.168.1.0 0.0.0.255
允许了整个网段,您需要将其改为更精确的规则,进入全局配置模式,首先删除旧的ACL,然后创建新的:
! 删除旧的ACL
Core-Router(config)# no access-list 10
! 创建新的ACL,只允许192.168.1.100
Core-Router(config)# access-list 10 permit host 192.168.1.100
! 注意:NAT规则 ip nat inside source list 10 interface GigabitEthernet0/0 overload 无需更改,因为它引用的是ACL 10
这样修改后,只有IP地址为192.168.1.100的设备发出的数据包会被ACL 10匹配,进而被NAT转换并允许访问互联网,其他所有内网设备的数据包因为不匹配NAT规则,无法被转换,自然也就无法通过路由器访问外网了,这是一种简单而有效的基于源IP的访问控制方法。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/2869.html