Cisco 1841
路由器个人用自定义配置
路由器基础配置
权限
Cisco 路由器的设计颇具编程和工业美感。权限管理类似Linux,需要enable (en)进入特权模式。使用后exit退出。终端前的> / #会提示当前权限状态
命令
在无冲突命令的情况下,命令可以被简写。
如interface -> int,
configure -> con
快捷键
Ctrl + A:移动光标至行头
Ctr l+ E:移动光标至行尾
Ctrl + U:刪除一行(要先使用Ctrl+E)
Ctrl + Shift + 6:Cisco命令行独有 中断Cisco IOS
Process,如:Ping指令
Ctrl + C:中断当前行Command
Ctrl + Z:结束Configure Mode,回到Privilege Mode
常用命令:
1 2 3 4 5 6 7 8 9 => 可以用 begin , exclude, include , secion
安装向导
终端内执行setup开启安装向导。注意secret是Hash存储密码,level
5为MD5加密,level
7为思科自有算法加密,password为明文存储,且二者不能被同时设置。
使用 service password-encryption 开启密码加密
设置保存
每次重启路由器时,路由器都会丢弃当前设置,从内存(NVRAM)中重新读取设置。
这就需要我们及时存储当前设置。
1 2 write memory copy running-config startup-config
这两条命令是等效的,会把设置保存到内存中
备份设置也很简单:
1 copy startup-config flash:[备份文件]
会将设置备份到CompactFlash卡中
远程管理访问
管理 Cisco Router 有多种方式:console, tty, vty, aux…
出于安全原因,除了console的远程访问,都是被默认关闭的。
SSH
验证设备是否支持SSH
show ip ssh
生成 RSA 密钥对
crypto key generate rsa
生成新的密钥,如果选择了2048-bit长度的,为了安全,生成时长可能高达10分钟左右。
crypto key zeroize rsa
清除先前生成的密钥,同时也会关闭SSH
登录用户
1 2 3 4 5 6 7 8 9 10 11 12 Router (config) #username <用户名> privilege <0 -15 > password <密码> ! 新建一个用户Router (config) #ip ssh time-out 120 !修改超时时间Router (config) #ip ssh authentication-retries 1 !修改重认证次数。Router (config) #ip ssh version 2 !修改SSH版本Router (config) #ip domain-name man.com !配置域名为man.com Router (config) #crypto key generate rsa !生成加密密钥Router (config) #username man secret cisco !在本地创建一个用户名为man并且加密密码为cisco的用户。Router (config-line) #transport input ssh !启用SSH登陆Router (config-line) #login local !采用本地验证Router (config-line) #privilege level 15 !默认为enable模式
如果想要SSH登录后默认就是 enable 模式的话:
1 2 3 4 5 6 username < username> privilege 15 secret < passowrd> aaa new - model aaa authentication login default group tacacs+ local aaa authorization exec default group tacacs+ local aaa authorization exec LOCAL auto- enable
终端ssh登录报错
Cisco使用的ssh算法比较老旧,需要设置ssh参数支持。
位于: - 全局:/etc/ssh_config - 用户:~/.ssh/config
1 2 3 #Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc,arcfour #KexAlgorithms ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 #MACs hmac-md5,hmac-sha1,umac-64 @openssh.com,hmac-ripemd160,hmac-sha1-96 ,hmac-md5-96 ,hmac-sha2-256 ,hmac-sha2-256 -96 ,hmac-sha2-512 ,hmac-sha2-512 -96
选择合适的设置取消注释即可。
Reference
HTTP/HTTPS 登入管理
1 2 3 4 5 R1(config)#ip http server ## 启动 http server,默认端口为TCP 80 R1(config)#ip http port 8080 ## 可以更改端口 R1(config)#ip http authentication local ## default 使用 enable 密碼 , 這裡改為本地認證
可选参数:
1 2 3 4 5 6 7 R1(config)#ip http max-connections 5 R1(config)#ip http access-class 20 ## 可以设置 ACL 来仅放行特定 source ip 如果要使用HTTPS: R1(config)#ip http secure-server ## 其他同http server
看:
1 R1 #sh ip http server all
TELNET
Cisco
Support
NTP时间同步设置
1 2 ntp update-calendar ntp server 202.118.1.81
默认会获取格林尼治时间,需要切换到 UTC+8 :
clock timezone CST +8
更新硬件时间:
clock update-calendar
网络基础配置
配置内网接口
1 2 3 4 5 6 7 interface FastEthernet0 /0 description Uplink to Home Router ip address dhcp ip nat outside
配置外网接口
1 2 3 4 5 6 7 interface FastEthernet0/1 description Local LANip address 192.168.1.1 255.255.255.0 ip nat inside
开启重载端口映射(NAT)
1 ip nat inside source list 1 interface FastEthernet0 /0 overload
出接口
(可以使用下一跳代替)
我在使用无限AP的环境中将下一跳设置为主路由,tracert就不会提示经过无线AP的IP了。
1 ip route 0.0.0.0 0.0.0.0 FastEthernet0/0 dhcp
访问列表开放权限
1 access -list 1 permit 10.0.0.0 0.255.255.255
DNS服务器
在路由器上启动DNS服务。
1 2 R1 #conf t R1 (config)# ip dns server
我们需要在路由器上配置公共的域名服务器,该设置可以使得路由器进行“递归式”的DNS查询。换而言之,当路由器所接收到的每个工作站的请求时,路由器都会通过询问多个DNS服务器,最终将结果反馈给发送请求的工作站。
1 2 R1 (config) #ip name-server 1.1 .1.1 R1 (config) #ip name-server 1.0 .0.1
思科的路由器IOS允许你最多设置6个不同的DNS服务器。通常情况下,你会设置成本地服务提供商的DNS服务器地址,以此保证快速的响应;随后配置一些免费的公共DNS服务器地址,这样配置保证了你可以通过本地ISP或公共DNS服务器来获得响应。
第三步,配置DNS服务器对本地用户名和IP地址进行映射。设置完成后,当Alan的PC试图ping或连接Wayne的PC,路由器将成功解析他的netbios名称到适当的ip地址。配置如下:
1 2 R1 (config) #ip host alice 192.168 .1.10 R1 (config) #ip host bob 192.168 .1.11
设置工作站时,你可以把路由器的IP地址设置为主DNS服务器的地址。
DHCP 服务器配置
DHCP服务的配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 dhcp#configure terminal dhcp (config) #service dhcp dhcp (config) #no ip dhcp conflictlogging dhcp (config) #ip dhcp pool cisco dhcp (dhcp-config) #network 192.168 .1.0 255.255 .255.0 dhcp (dhcp-config) #default-router 192.168 .1.1 dhcp (dhcp-config) #dns-server 192.168 .1.1 dhcp (dhcp-config) #lease 3 dhcp (dhcp-config) #exit dhcp (config) #ip dhcp excluded-address 192.168 .1.200 192.168 .1.254
客户端获取IP地址
1 2 3 4 5 Client#configure terminal dhcp (config) #interface FastEthernet0/0 dhcp (config-if) #ip address dhcp
DHCP分配静态IP
1 2 3 4 ip dhcp pool vlan31 network 172.31.255.0 255.255.255.0 default-router 172.31.255.254 dns-server 202.96.209.133 8.8.8.8
先将特殊IP地址从dhcp中剔除掉,以免后面造成ip地址冲突
1 2 ip dhcp excluded-address 172.31.255.1 ip dhcp excluded-address 172.31.255.100
编写一个静态IP地址的pool
1 2 3 4 5 6 ip dhcp pool static_vlan31_1host 172.31.255.100 255.255.255.0 client -identifier 015 c.f9dd.48 c0.da //mac前面要补“01 ”dns -server 202.96.209.133 8.8.8.8 default -router 172.31.255.254 lease infinite //永久
如果要立即生效,需要清空自动分配ip的缓存
1 2 3 4 5 6 dmz_cisco3750#clear ip dhcp binding * dmz_cisco3750#show ip dhcp bindingIP address Client-ID/ Lease expiration Type Hardware address 172.31.255.100 015c.f9dd.48c0.da Infinite Manual dmz_cisco3750#
为了避免其他用户私自修改保留的静态IP地址,需要再增加arp绑定信息
1 arp 172.31.255.100 5 cf9.dd48.c0da arpa
具体命令如下:
1 2 3 4 5 6 7 dmz_cisco3750 (config) #do show arp Protocol Address Age (min) Hardware Addr Type Interface Internet 172.31 .255.100 0 5 cf9.dd48 .c0da ARPA Vlan31dmz_cisco3750 (config) #arp 172.31 .255.100 5 cf9.dd48 .c0da arpadmz_cisco3750 (config) #do show arp Protocol Address Age (min) Hardware Addr Type Interface Internet 172.31 .255.100 - 5 cf9.dd48 .c0da ARPA
解决DHCP客户端机器获取IP慢的问题
在常见的DHCP部署中,很容易遇到的问题就是,当客户端接入进去,获取地址很慢,或者是获取不到地址,但是DHCP是没问题的,很常见的问题就是生成树导致的,PC接入的时候,生成树要计算,花费30s的时间,所以容易造成获取地址不到的情况,可以配置STP的快速端口,来解决该问题,跳过生成树的检查。
在路由器上:
1 2 Cisco-1841 (config) #interface f0/1 Cisco-1841 (config-if) #spanning-tree portfast bpduguard
在交换机上:
1 2 Cisco-2960 (config) #interface range f0/2 -5 Cisco-2960 (config-if-range) #spanning-tree portfast
NAT 端口映射
静态NAT:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1. 指定NAT内部接口 在内网相应接口的接口配置模式下执行: ip nat inside 2. 指定NAT外部接口 在外网相应接口的接口配置模式下执行: ip nat outside 3. 在内部本地地址与内部全局地址之间建立静态地址转换关系: ip nat inside source static 内部本地地址 内部全局地址 4. 在外部全局地址与外部本地地址之间建立静态地址转换关系: ip nat outside source static 外部全局地址 外部本地地址 5. show ip nat translations:显示当前存在的NAT转换信息。 show ip nat statics:查看NAT的统计信息。 show ip nat translations verbose:显示当前存在的NAT转换的详细信息。 debug ip nat:跟踪NAT操作,显示出每个被转换的数据包。 clear ip nat translations *:删除NAT映射表中的所有内容.
动态地址NAT:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 . 指定NAT 内部接口 在内网相应接口的接口配置模式下执行: ip nat inside 2 . 指定NAT 外部接口 在外网相应接口的接口配置模式下执行: ip nat outside 3 . 在全局配置模式下,定义一个标准的access-list 规则,声明允许哪些内部本地地址可以进行动态地址转换: access-list list-number permit 源地址 通配符 其中,list-number为1-99之间的一个任意整数。 4 . 在全局配置模式下,定义内部全局地址池: ip nat pool 地址池名 起始IP 地址 终止IP 地址 netmask 子网掩码 其中,地址池名可以任意设定,但最好有一定的说明意义。5 . 在全局配置模式下,定义符合先前定义的access-list 规则的IP 数据包与先前定义的地址池中的IP 地址进行转换: ip nat inside source list list-number pool 内部全局地址池名6 . no ip nat pool name 删除全局地址池 no access-list access-list-number 删除访问列表 no ip nat inside source 删除动态源地址转换
网络地址端口转换NAPT(PAT):
1 2 3 4 5 6 7 8 9 10 11 12 13 1 .指定NAT 内部接口 在内网相应接口的接口配置模式下执行:ip nat inside 2 . 指定NAT 外部接口 在外网相应接口的接口配置模式下执行: ip nat outside 3 . 在全局配置模式下,定义内部全局地址池: ip nat pool 地址池名 起始IP 地址 终止IP 地址 netmask 子网掩码 其中,地址池名可以任意设定,但最好有一定的说明意义。4 . 在全局配置模式下,定义一个标准的access-list 规则,声明允许哪些内部本地地址可以进行复用地址转换: access-list list-number permit 源地址 通配符 其中,list-number为1-99之间的一个任意整数。 5 . 在全局配置模式下,定义符合先前定义的access-list 规则的IP 数据包与先前定义的地址池中的IP 地址进行复用地址转换: ip nat inside source list list-number pool 内部全局地址池名 overload
### 更改MAC地址
1 2 Cisco-1841 (config-if )#mac-address ? H.H.H MAC address
Learn
More
Learn More And
More