我有一台 Cisco 877 路由器,它使用 ADSL 线路、单个公共 IP 地址和 NAT 将我的网络连接到互联网;IOS 版本是 15。
一切正常,但我想将此路由器配置为 VPN 服务器,以便能够从外部连接到网络。
我尝试寻找文档,但我能找到的所有内容都与将 877 用作 VPN 有关客户或站点到站点的 VPN;我找不到任何关于让单个远程计算机访问内部网络的信息,而使用 Windows 的 RRAS 或 ISA Server 可以轻松做到这一点。
- Cisco 877 可以充当远程客户端计算机的 VPN 服务器吗?(看起来应该可以,但只是为了确保万无一失……)
- 它支持哪种类型的 VPN?它们是否需要客户端计算机上安装一些特殊软件,或者它们是否可以由标准的现成 Windows 计算机使用?
- 最后,如何设置?
编辑:
我知道 877 是 SOHO 路由器,它不是 VPN 服务器的最佳选择;但这是我的家庭网络,我只有一台电脑(目前),我是唯一的用户。我肯定不是我打算买一个企业级路由器,这样上班的时候就能访问我的电脑了 :-p
编辑2:
我真的被这个问题难住了,经过多次测试,我还是没能让它工作。我为这个问题添加了悬赏,悬赏金额将一个完全可行的解决方案(不是指向神秘的思科文档或不相关的场景的某些指针)。
为了方便大家帮忙,以下是我当前的路由器配置(删除了不相关和私人的详细信息)。希望有人最终能帮我解决这个问题。
要点:
- 四个以太网接口均分配给 VLAN 1。
- 内部网络为192.168.42.0/24,路由器的IP地址为192.168.42.1。
- 外部 IP 地址由 ISP 提供;它是公共的、静态的,完全可路由。
- NAT(当然)已启用。
- ADSL 连接正常。
- 路由器是内部网络的 DNS 服务器,将查询转发到 ISP 的 DNS。
- 网络中没有 DHCP 服务器。
- 有一个权限级别为 15 的单个用户帐户。
我想要的是:
- 路由器充当VPN服务器,使外部客户端能够访问内部网络。
- 最好使用 L2TP,但是 PPTP 也可以。
- 如果可能的话,我希望它能与 Windows 的内置 VPN 客户端(支持 PPTP 和 L2TP)一起工作;我不想在外部计算机上安装 Cisco VPN 客户端或类似的东西以便它们能够连接。
配置如下:
version 15.0
service password-encryption
hostname Cisco877
aaa new-model
aaa authentication login default local
aaa authorization console
aaa authorization exec default local
aaa session-id common
ip source-route
ip cef
ip domain name <my ISP's DNS name>
ip name-server <my ISP's DNS server>
no ipv6 cef
password encryption aes
username <Router's username> privilege 15 secret 5 <The encrypted password for my user account>
ip ssh version 2
interface ATM0
no ip address
no atm ilmi-keepalive
interface ATM0.1 point-to-point
pvc 8/75
encapsulation aal5mux ppp dialer
dialer pool-member 1
interface FastEthernet0
spanning-tree portfast
interface FastEthernet1
spanning-tree portfast
interface FastEthernet2
spanning-tree portfast
interface FastEthernet3
spanning-tree portfast
interface Vlan1
ip address 192.168.42.1 255.255.255.0
ip nat inside
ip virtual-reassembly
interface Dialer0
ip address negotiated
ip nat outside
ip virtual-reassembly
encapsulation ppp
dialer pool 1
dialer-group 1
ppp authentication pap callin
ppp pap sent-username <My ISP's username> password 7 <The encrypted ISP password>
ip forward-protocol nd
ip dns server
ip nat inside source list 1 interface Dialer0 overload
ip route 0.0.0.0 0.0.0.0 Dialer0
access-list 1 permit 192.168.42.0 0.0.0.255
dialer-list 1 protocol ip permit
答案1
因此,根据思科网站的说法,您可以将 877 用作服务器。但我强烈建议不要这样做。我设置了一个 VPN 解决方案,将 871 路由器连接到头端 2800 路由器,但遇到了各种问题。低端设备无法处理大量同时进行的 VPN 连接。我的建议是购买带有 VPN 模块的 2800 或 3800 系列路由器。硬件模块将允许更多连接,但也会更好地处理连接。
如何设置以及将头端放在哪里都取决于您,但我认为让头端位于网络外部(就像您今天的 877 一样)可能是最简单的方法。在下面的链接中,您将找到很多方法来实现这一点,但最简单的方法是使用像您现在拥有的头端,但硬件更强大。
删除这些链接的空格,然后在第二个链接中搜索“Easy VPN”。
http://www.cisco.com/en/US/products/sw/secursw/ps5299/
http://www.cisco.com/en/US/docs/routers/access/800/850/software/configuration/guide/857sg_bk.pdf
答案2
这是我在没有像这样的路由器的情况下进行实际测试的尝试。将以下内容添加到您的配置中:
vpdn enable
vpdn-group 1
accept-dialin
protocol pptp
virtual-template 1
exit
ip local pool clients 192.168.200.1 192.168.200.127
interface virtual-template 1
encap ppp
peer default ip address pool clients
ip unnumbered vlan1
no keepalive
ppp encrypt mppe auto required
ppp authentication ms-chap
aaa authentication ppp default local
这应该可以启用 VPN 拨号 (VPDN),创建一个 VPDN 组来接受传入的 PPTP,创建一个 IP 池来分配给客户端,创建一个虚拟模板接口来分配给客户端,并为 PPP 用户打开本地身份验证。将需要 MS-CHAP 和 MPPE 加密(我相信 Windows 中是默认的)。
我很想看看自己是否能第一次就成功……或者,是否能成功。
答案3
在 Evan 的大力支持下,我终于能够让它发挥作用,这一页。
我在这里发布完整的配置,并接受这个答案以将其作为参考,但赏金当然会给埃文:-)
为了启用 PPTP 和 L2TP 拨入 VPN 访问,需要在路由器的配置中添加以下内容:
aaa authentication ppp default local
vpdn enable
vpdn-group VPN_Clients
accept-dialin
protocol any
virtual-template 1
no l2tp tunnel authentication
crypto isakmp policy 1
encr 3des
authentication pre-share
group 2
crypto isakmp key <IPSEC PRE-SHARED-KEY> address 0.0.0.0 0.0.0.0
crypto ipsec transform-set VPN_TS esp-3des esp-sha-hmac
mode transport
crypto dynamic-map VPN_DYN_MAP 1
set nat demux
set transform-set VPN_TS
crypto map VPN_MAP 1 ipsec-isakmp dynamic VPN_DYN_MAP
interface Dialer0
crypto map VPN_MAP
ip local pool VPN_POOL 192.168.42.240 192.168.42.249
interface Virtual-Template1
ip unnumbered Vlan1
ip nat inside
peer default ip address pool VPN_POOL
no keepalive
ppp encrypt mppe auto required
ppp authentication ms-chap-v2 ms-chap chap
注 1:为了验证 VPN 用户的身份,您需要使用命令username <user> password <password>
而不是更安全的命令来设置他们的密码username <user> secret <password>
,否则身份验证将失败,因为 MD5 加密密码与 CHAP 不兼容;这已记录在案这里。
笔记2:此配置将内部网络的 IP 地址分配给 VPN 客户端;这是最简单的方法,因为使用不同的子网需要为客户端提供到 LAN 的静态路由。这确实更安全,但对于简单的家庭网络访问来说,这根本不值得这么麻烦。