cisco路由器放家里都可以干些什么?
我在一个论坛贪好玩发的帖子,也转过来这边吧。
目录:
一、上网基础配置
二、优化DHCP & DNS
三、DDNS
四、ipv6隧道
五、PPPoE多拨
六、Cisco EzVPN
七、NVI NAT
一、PPPoE+NAT基础配置
基础拨号上网配置,不做累赘:
- !
- interfaceDialer0
- mtu 1492
- ip address negotiated
- ip nat outside
- encapsulation ppp
- ip tcp adjust-mss 1452
- dialer pool 1
- dialer idle-timeout 0
- dialer persistent
- ppp pap sent-username 【xxxxxx】password 【xxxxxx】
- !
- interfaceFastEthernet0/0
- no ip address
- pppoe enable group global
- pppoe-client dial-pool-number 1
- !
- iproute 0.0.0.0 0.0.0.0 Dialer0
- !
- interfaceFastEthernet0/1
- ip address 10.0.0.254 255.255.255.0
- ip nat inside
- !
- ipaccess-list standard NAT
- permit 10.0.0.0 0.0.0.255
- !
- ipnat inside source list NAT interface dialer 0 overload
- !
- noip dhcp conflict logging
- ipdhcp excluded-address x.x.x.x
- ipdhcp pool home
- network 10.0.0.0 255.255.255.0
- default-router 10.0.0.254
- dns-server 202.96.134.33 8.8.8.8
- lease 3
二、DHCP与DNS优化配置
- !!!!一、通过ppp,从ISP获取DNS服务器地址:
- interfaceDialer0
- ppp ipcp dns request accept
- !
- !
- !
- !!!!二、DNS代理转发:
- ipdns server
- !!!!启用DNS代理功能
- !
- ipdomain-lookup
- ipname-server x.x.x.x
- !!!!如果上面配置了从ISP获取DNS服务器地址,可以不用手工指定DNS服务器了
- !
- ipdhcp pool home
- network 10.0.0.0 255.255.255.0
- default-router 10.0.0.254
- dns-server 10.0.0.254
- !!!!注意某些ISP的DNS服务器封杀了DNS代理,这时在路由器上就必须通过ipname-server命令手工指定可用的DNS服务器地址,例如8.8.8.8、114.114.114.114等
- !
- !
- !
- !!!!三、DHCP静态(固定)地址分配
- ipdhcp pool HTC-One
- host 10.0.0.204 255.255.255.0
- client-identifier 01e8.99c4.997e.bc
- default-router 10.0.0.254
- dns-server 10.0.0.254
- !
- ipdhcp pool ZTE-V960
- host 10.0.0.211 255.255.255.0
- hardware-address 8474.2adb.00b6
- default-router 10.0.0.254
- dns-server202.96.134.33 202.96.128.86
- !!!!注意设备绑定ip地址的方式有两种,一种是client-id,一种是hardware-address(MAC地址)。如果设备的DHCP请求中带有client-idoption,ios的dhcp服务器就会根据client-id分配固定地址,否则就根据MAC地址分配。
- !!!!不同类型的设备或系统,有些会使用client-id有些则不用,目前我没有总结出规律,因此,可以通过debug或抓包来查看你的设备到底是使用何种方式来请求DHCP地址。
- !
- !
- !
- !!!!四、在公司用固定IP地址,回到家用DHCP,来回改动很麻烦?
- interfaceFastEthernet0/1
- ip address 10.0.0.254 255.255.255.0
- ip address 10.16.5.88 255.255.255.0secondary
- ip address 192.168.107.254255.255.255.0 secondary
- ip address 38.38.38.38 255.255.255.0secondary
- !!!!接口下加辅助地址解决,回到家中一样可以用公司的固定IP地址了~另外还需要在nat的acl中加入你的固定地址。
三、DDNS
ASDL没有固定IP地址?通过DDNS(动态DNS)解决您的烦恼
一、找一个免费的DDNS提供商(土豪当然可以用付费的),注意该DDNS提供商的更新方式需要是标准的或者是cisco ios支持的。国内知名的花生壳用的是私有的DDNS更新协议,x它妹妹。
以下以国内另一个比较大众的DDNS提供商3322为例:
先到3322的官网注册账号,申请域名,免费的,详细过程不表~
http://www.pubyun.com/
申请完毕后,开配:
- !
- ipddns update method 3322
- HTTP
- add http://用户名:密码@<s>/nic/update?system=dyndns&hostname=<h>&myip=<a>
- !!!!这一段用自己的账号密码替换,其余照打,“?”可以在按ctrl+v后输入
- interval maximum 0 0 30 0
- !
- interfaceDialer0
- ip ddns update hostname2611xm.f3322.org
- ip ddns update 3322 hostmembers.3322.org
此后,就可以通过域名访问PPPoE动态获取的地址了,公网上也可以通过域名访问内部映射出去的服务了~
四、ipv6隧(fan)道(qiang)
同样,先找一个免费的IPv6服务提供商~
以下以tunnelbroker为例,先到官网https://tunnelbroker.net/注册账号,申请IPv6地址段,找一个延时相对低的服务器,详细过程不表~
IPv6真TM慷慨啊,免费的服务,给了一个/48地址段,一个/64地址段,这里就比全球可用的IPv4地址数量不知多出多少倍了……
申请完毕后,开配:
- !
- ipv6unicast-routing
- ipv6cef
- !!!!路由器上启用ipv6
- !
- interfaceTunnel1
- no ip address
- ipv6 address 2001:470:C:102C::2/64
- tunnel source Dialer0
- tunneldestination 66.220.18.42
- tunnel mode ipv6ip
- !!!!tunnel destination就是你申请的时候选的那个服务器,在tunnelbroker的tunnel详细信息页面中(上面截图)可见
- !!!!ipv6 address是固定分配给你的,在tunnel详细信息页面中(上面截图)可见
- !
- ipv6route ::/0 Tunnel1
- !
- interfaceFastEthernet0/1
- ipv6 address 2001:470:F477::1/64
- !!!!分配给你使用的地址段,随便用
- ipv6 address FE80::1 link-local
- ipv6 dhcp server dhcpv6
- !!!!在接口上启用DHCPv6服务,否则光靠ND(默认启用的),客户端只可以获取到ipv6地址
- ipv6 nd other-config-flag
- !!!!告知客户端可以从DHCPv6服务器获取其他信息
- !
- ipv6dhcp pool dhcpv6
- dns-server 2001:470:20::2
- !!!!ipv6的DNS服务器使用服务商提供的,在tunnel详细信息页面中(上面截图)可见
Windows配置,傻瓜式的,将ipv6的勾勾上就行,全自动获取
能上有土鳖了~
五、PPPoE双拨(n拨),在某些ips没有限制的地区,实现带宽最多翻n倍的效果
- !
- interfaceFastEthernet0/0
- pppoe enable group global
- pppoe-client dial-pool-number 1
- pppoe-clientdial-pool-number 2
- !!!!物理接口多关联一个dial-pool(要n拨就关联n个)
- !
- interfaceDialer0
- mtu 1492
- ip address negotiated
- ip nat outside
- encapsulation ppp
- ip tcp adjust-mss 1452
- dialer pool 1
- dialer idle-timeout 0
- dialer persistent
- ppp pap sent-username 【xxxxxx】password 【xxxxxx】
- !
- interfaceDialer2
- mtu 1492
- ip address negotiated
- ip nat outside
- encapsulation ppp
- ip tcp adjust-mss 1452
- dialer pool 2
- !!!!关联另一个dial-pool,其余配置和第一个dial口一样
- dialer idle-timeout 0
- dialer persistent
- ppp pap sent-username 【xxxxxx】password 【xxxxxx】
- !
- interfaceFastEthernet0/1
- ip address 10.0.0.254 255.255.255.0
- ip nat inside
- !
- iproute 0.0.0.0 0.0.0.0 Dialer0
- iproute 0.0.0.0 0.0.0.0 Dialer2
- !双默认路由负载均衡
- !
- ipaccess-list standard NAT
- permit 10.0.0.0 0.0.0.255
- !
- ipnat inside source route-map nat0 interface Dialer0 overload
- ipnat inside source route-map nat2 interface Dialer2 overload
- !!!!多出口NAT配置
- !
- route-mapnat2 permit 10
- match ip address NAT
- match interface Dialer2
- !
- route-mapnat0 permit 10
- match ip address NAT
- match interface Dialer0
- !
- ipnat inside source route-map nat0 interface Dialer0 overload
- ipnat inside source route-map nat2 interface Dialer2 overload
两个Dial接口都有数据流通
六、Cisco ezvpn,随时连接回家
- !
- cryptoisakmp policy 10
- encr 3des
- authentication pre-share
- group 2
- !
- cryptoisakmp client configuration group home
- key 【xxxxxx】
- pool ezvpn
- acl ezvpn-home
- save-password
- !
- iplocal pool ezvpn 192.168.38.1 192.168.38.15
- !
- ipaccess-list extended ezvpn-home
- permit ip 10.0.0.0 0.0.0.255 any
- permit ip host 2.6.1.1 any
- !!!!隧道分割列表,定义访问哪里要跑vpn
- !
- cryptoisakmp profile ezvpn
- match identity group home
- client authentication list ezvpn
- isakmp authorization list ezvpn
- client configuration address respond
- !
- aaaauthentication login ezvpn local
- aaaauthorization network ezvpn local
- !
- username【xxxxxx】password 【xxxxxx】
- !
- cryptoipsec transform-set ezvpn esp-3des esp-md5-hmac
- !
- cryptodynamic-map ezvpn 10
- set transform-set ezvpn
- set isakmp-profile ezvpn
- reverse-route
- !
- cryptomap ipsec-vpn 10 ipsec-isakmp dynamic ezvpn
- !
- interfaceDialer0
- crypto map ipsec-vpn
windows配置:
客户端网上可下,有64bit和32bit的
Host里写vpn服务器的地址,动态地址的可以使用DDNS申请的域名~
Name一定要和isakmpprofile里的group对应
七、使用基于NVI的NAT ——实现内网用户使用“服务器映射出去的公网IP地址”访问内部设备
将内网的设备映射出公网了,却发现在内网不能用公网的ip地址访问你的设备?传统方法可以通过代理dns方式让内网用户通过域名访问解决,这里通过NVI的NAT实现,适应性更广,不管是公网地址和域名都行!
- !
- interfaceFastEthernet0/1
- ip nat enable
- !
- interfaceDialer0
- ip nat enable
- !
- ipaccess-list standard NAT
- permit 10.0.0.0 0.0.0.255
- !
- ip nat source list NAT interface dialer 0 overload
- !!!!内网设备上网,注意没有“inside”关键字了
- !
- eventmanager applet nvi
- !!!!由于某些ios要在dialer口up后配置NVINAT才能生效,因此使用EEM解决。如果使用的ios没有这个“bug”,只需要下面action3那条NAT语句即可,就不需要EEM了
- event syslog pattern "InterfaceVirtual-Access2, changed state to up"
- action 1 cli command"enable"
- action 2 cli command "conft"
- action 3 cli command "ip natsource static tcp 10.0.0.253 80 interface dialer0 80"
- !!!!自行修改要映射出公网的地址与端口
未完,不知道还会不会续:
一、比任何家用路由器都强大的QoS功能.
二、不但是路由器,还是防火墙:Cisco IOS Zone-Base Firewall 。
三、上网行为管理:全自动的NBAR,还有更强大FPM,FPM可以匹配数据包中每一个bit,手工打造最强大的上网行为过滤器。