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
常用命令:
# show history
# terminal history size 50 !历史记录条数
# terminal length 100 !每一行最多字符个数,多余的以 ...$形式省略
# show running-config | include hostname (只打印包含hostname的配置)
=> 可以用 begin, exclude, include, secion
安装向导
终端内执行setup
开启安装向导。注意secret
是Hash存储密码,level 5为MD5加密,level 7为思科自有算法加密,password
为明文存储,且二者不能被同时设置。
使用 service password-encryption
开启密码加密
设置保存
每次重启路由器时,路由器都会丢弃当前设置,从内存(NVRAM)中重新读取设置。
这就需要我们及时存储当前设置。
write memory
copy running-config startup-config
这两条命令是等效的,会把设置保存到内存中
备份设置也很简单:
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
登录用户
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 模式的话:
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
#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,[email protected],hmac-ripemd160,hmac-sha1-96,hmac-md5-96,hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,hmac-sha2-512-96
选择合适的设置取消注释即可。
HTTP/HTTPS 登入管理
R1(config)#ip http server ## 启动 http server,默认端口为TCP 80
R1(config)#ip http port 8080 ## 可以更改端口
R1(config)#ip http authentication local ## default 使用 enable 密碼 , 這裡改為本地認證
可选参数:
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
看:
R1#sh ip http server all
TELNET
NTP时间同步设置
ntp update-calendar
ntp server 202.118.1.81
默认会获取格林尼治时间,需要切换到 UTC+8:
clock timezone CST +8
更新硬件时间:
clock update-calendar
网络基础配置
配置内网接口
interface FastEthernet0/0
description Uplink to Home Router
ip address dhcp
ip nat outside
配置外网接口
interface FastEthernet0/1
description Local LAN
ip address 192.168.1.1 255.255.255.0
ip nat inside
开启重载端口映射(NAT)
ip nat inside source list 1 interface FastEthernet0/0 overload
出接口
(可以使用下一跳代替) 我在使用无限AP的环境中将下一跳设置为主路由,tracert
就不会提示经过无线AP的IP了。
ip route 0.0.0.0 0.0.0.0 FastEthernet0/0 dhcp
访问列表开放权限
access-list 1 permit 10.0.0.0 0.255.255.255
DNS服务器
在路由器上启动DNS服务。
R1#conf t
R1(config)# ip dns server
我们需要在路由器上配置公共的域名服务器,该设置可以使得路由器进行“递归式”的DNS查询。换而言之,当路由器所接收到的每个工作站的请求时,路由器都会通过询问多个DNS服务器,最终将结果反馈给发送请求的工作站。
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地址。配置如下:
R1(config)#ip host alice 192.168.1.10
R1(config)#ip host bob 192.168.1.11
设置工作站时,你可以把路由器的IP地址设置为主DNS服务器的地址。
DHCP 服务器配置
DHCP服务的配置
dhcp#configure terminal //进入全局模式
dhcp(config)#service dhcp //打开dhcp功能
dhcp(config)#no ip dhcp conflictlogging //关闭dhcp日志记录
dhcp(config)#ip dhcp pool cisco //配置dhcp服务器的名称为cisco
dhcp(dhcp-config)#network 192.168.1.0 255.255.255.0 //配置dhcp服务器要分配的网段
dhcp(dhcp-config)#default-router 192.168.1.1 //配置默认网关为192.168.1.1
dhcp(dhcp-config)#dns-server 192.168.1.1 //配置dns服务器为192.168.1.1
dhcp(dhcp-config)#lease 3 //地址租用期限: 3天
dhcp(dhcp-config)#exit //退出dhcp配置模式
dhcp(config)#ip dhcp excluded-address 192.168.1.200 192.168.1.254 //配置dhcp不分配的地址
客户端获取IP地址
Client#configure terminal //进入全局模式
dhcp(config)#interface FastEthernet0/0 //进入fastethernet0/0接口
dhcp(config-if)#ip address dhcp //从dhcp服务器获取IP地址
DHCP分配静态IP
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地址冲突
ip dhcp excluded-address 172.31.255.1
ip dhcp excluded-address 172.31.255.100
编写一个静态IP地址的pool
ip dhcp pool static_vlan31_1
host 172.31.255.100 255.255.255.0
client-identifier 015c.f9dd.48c0.da //mac前面要补“01”
dns-server 202.96.209.133 8.8.8.8
default-router 172.31.255.254
lease infinite //永久
如果要立即生效,需要清空自动分配ip的缓存
dmz_cisco3750#clear ip dhcp binding *
dmz_cisco3750#show ip dhcp binding
IP address Client-ID/ Lease expiration Type
Hardware address
172.31.255.100 015c.f9dd.48c0.da Infinite Manual
dmz_cisco3750#
为了避免其他用户私自修改保留的静态IP地址,需要再增加arp绑定信息
arp 172.31.255.100 5cf9.dd48.c0da arpa
具体命令如下:
dmz_cisco3750(config)#do show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 172.31.255.100 0 5cf9.dd48.c0da ARPA Vlan31
dmz_cisco3750(config)#arp 172.31.255.100 5cf9.dd48.c0da arpa
dmz_cisco3750(config)#do show arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 172.31.255.100 - 5cf9.dd48.c0da ARPA
解决DHCP客户端机器获取IP慢的问题
在常见的DHCP部署中,很容易遇到的问题就是,当客户端接入进去,获取地址很慢,或者是获取不到地址,但是DHCP是没问题的,很常见的问题就是生成树导致的,PC接入的时候,生成树要计算,花费30s的时间,所以容易造成获取地址不到的情况,可以配置STP的快速端口,来解决该问题,跳过生成树的检查。
在路由器上:
Cisco-1841(config)#interface f0/1
Cisco-1841(config-if)#spanning-tree portfast bpduguard
在交换机上:
Cisco-2960(config)#interface range f0/2-5
Cisco-2960(config-if-range)#spanning-tree portfast
NAT 端口映射
静态NAT:
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. 指定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.指定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地址
Cisco-1841(config-if)#mac-address ?
H.H.H MAC address