用路由欺骗 cisco vpn

Oli*_*ich 5 dns vpn windows-7 routing cisco-vpn-client

我正在研究一种通过修改本地系统上的路由来欺骗 cisco vpn-client 的方法,以实现称为 split-tunneling 的状态。

我知道如果没有 vpn-network 管理员的许可,我无权这样做,也不打算使用它。然而,这对我来说是一个挑战,以更好地理解 Windows 下的路由,甚至可能是一个概念证明,我可以用来向一些管理员展示他们软件中依赖该复选框对安全性根本没有用处。

走吧,这是我发现的。它全部修改为专用网络地址。该场景是一名远程工作者在他的 soho 网络 192.168.81.0 上工作并通过 cisco-vpn 连接到他的公司网络 192.168.71.0。在此示例中,cisco 配置的 VPN-Host 修改为 192.168.10.5。

远程工作者通过 WLAN 连接到他的 soho 网络,他不在 vpn 中时的正常 ip 设置如下所示:

Drahtlos-LAN-Adapter Drahtlosnetzwerkverbindung:

   Verbindungsspezifisches DNS-Suffix: soho
   Beschreibung. . . . . . . . . . . : Intel(R) Centrino(R) Ultimate-N 6300 AGN
   Physikalische Adresse . . . . . . : 00-00-00-00-00-01
   DHCP aktiviert. . . . . . . . . . : Ja
   Autokonfiguration aktiviert . . . : Ja
   IPv4-Adresse  . . . . . . . . . . : 192.168.81.105(Bevorzugt) 
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway . . . . . . . . . : 192.168.81.254
   DHCP-Server . . . . . . . . . . . : 192.168.81.254
   DNS-Server  . . . . . . . . . . . : 208.67.222.222
                                       8.8.8.8
                                       195.66.0.3
   NetBIOS über TCP/IP . . . . . . . : Aktiviert
Run Code Online (Sandbox Code Playgroud)

系统上的路由表看起来并不像预期的那样引人注目:

===========================================================================
Schnittstellenliste
 15...24 77 03 20 82 20 ......Intel(R) Centrino(R) Ultimate-N 6300 AGN
===========================================================================

IPv4-Routentabelle
===========================================================================
Aktive Routen:
     Netzwerkziel    Netzwerkmaske          Gateway    Schnittstelle Metrik
          0.0.0.0          0.0.0.0   192.168.81.254   192.168.81.105     25
        127.0.0.0        255.0.0.0   Auf Verbindung         127.0.0.1    306
        127.0.0.1  255.255.255.255   Auf Verbindung         127.0.0.1    306
  127.255.255.255  255.255.255.255   Auf Verbindung         127.0.0.1    306
     192.168.81.0    255.255.255.0   Auf Verbindung    192.168.81.105    281
   192.168.81.105  255.255.255.255   Auf Verbindung    192.168.81.105    281
   192.168.81.255  255.255.255.255   Auf Verbindung    192.168.81.105    281
        224.0.0.0        240.0.0.0   Auf Verbindung         127.0.0.1    306
        224.0.0.0        240.0.0.0   Auf Verbindung    192.168.81.105    281
  255.255.255.255  255.255.255.255   Auf Verbindung         127.0.0.1    306
  255.255.255.255  255.255.255.255   Auf Verbindung    192.168.81.105    281
===========================================================================
Ständige Routen:
  Keine
Run Code Online (Sandbox Code Playgroud)

连接到 vpn 后,虚拟网络设备将添加到系统中:

Ethernet-Adapter LAN-Verbindung 2:

   Verbindungsspezifisches DNS-Suffix: 
   Beschreibung. . . . . . . . . . . : Cisco Systems VPN Adapter for 64-bit Windows
   Physikalische Adresse . . . . . . : 00-00-00-00-00-02
   DHCP aktiviert. . . . . . . . . . : Nein
   Autokonfiguration aktiviert . . . : Ja
   IPv4-Adresse  . . . . . . . . . . : 192.168.71.186(Bevorzugt) 
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway . . . . . . . . . : 192.168.71.1
   DNS-Server  . . . . . . . . . . . : 10.2.20.12
                                       10.2.20.13
   Primärer WINS-Server. . . . . . . : 10.2.20.12
   Sekundärer WINS-Server. . . . . . : 10.2.20.13
   NetBIOS über TCP/IP . . . . . . . : Aktiviert

Drahtlos-LAN-Adapter Drahtlosnetzwerkverbindung:

   Verbindungsspezifisches DNS-Suffix: soho
   Beschreibung. . . . . . . . . . . : Intel(R) Centrino(R) Ultimate-N 6300 AGN
   Physikalische Adresse . . . . . . : 00-00-00-00-00-01
   DHCP aktiviert. . . . . . . . . . : Ja
   Autokonfiguration aktiviert . . . : Ja
   IPv4-Adresse  . . . . . . . . . . : 192.168.81.105(Bevorzugt) 
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway . . . . . . . . . : 192.168.81.254
   DHCP-Server . . . . . . . . . . . : 192.168.81.254
   DNS-Server  . . . . . . . . . . . : 208.67.222.222
                                       8.8.8.8
                                       195.66.0.3
   NetBIOS über TCP/IP . . . . . . . : Aktiviert
Run Code Online (Sandbox Code Playgroud)

路由表修改如下:

===========================================================================
Schnittstellenliste
 22...00 00 00 00 00 02 ......Cisco Systems VPN Adapter for 64-bit Windows
 15...24 77 03 20 82 20 ......Intel(R) Centrino(R) Ultimate-N 6300 AGN
===========================================================================

IPv4-Routentabelle
===========================================================================
Aktive Routen:
     Netzwerkziel    Netzwerkmaske          Gateway    Schnittstelle Metrik
          0.0.0.0          0.0.0.0   192.168.81.254   192.168.81.105     25
          0.0.0.0          0.0.0.0     192.168.71.1   192.168.71.186     21
        127.0.0.0        255.0.0.0   Auf Verbindung         127.0.0.1    306
        127.0.0.1  255.255.255.255   Auf Verbindung         127.0.0.1    306
  127.255.255.255  255.255.255.255   Auf Verbindung         127.0.0.1    306
     192.168.71.0    255.255.255.0   Auf Verbindung    192.168.71.186    276
   192.168.71.186  255.255.255.255   Auf Verbindung    192.168.71.186    276
   192.168.71.255  255.255.255.255   Auf Verbindung    192.168.71.186    276
     192.168.81.0    255.255.255.0   Auf Verbindung    192.168.81.105    281
     192.168.81.0    255.255.255.0     192.168.71.1   192.168.71.186    281
   192.168.81.105  255.255.255.255   Auf Verbindung    192.168.81.105    281
   192.168.81.105  255.255.255.255     192.168.71.1   192.168.71.186    281
   192.168.81.254  255.255.255.255   Auf Verbindung    192.168.81.105    100
   192.168.81.255  255.255.255.255   Auf Verbindung    192.168.81.105    281
     192.168.10.5  255.255.255.255   192.168.81.254    192.168.81.105    100
        224.0.0.0        240.0.0.0   Auf Verbindung         127.0.0.1    306
        224.0.0.0        240.0.0.0   Auf Verbindung    192.168.81.105    281
        224.0.0.0        240.0.0.0   Auf Verbindung    192.168.71.186    276
  255.255.255.255  255.255.255.255   Auf Verbindung         127.0.0.1    306
  255.255.255.255  255.255.255.255   Auf Verbindung    192.168.81.105    281
  255.255.255.255  255.255.255.255   Auf Verbindung    192.168.71.186    276
===========================================================================
Ständige Routen:
  Netzwerkadresse          Netzmaske  Gatewayadresse  Metrik
          0.0.0.0          0.0.0.0     192.168.71.1       1
===========================================================================
Run Code Online (Sandbox Code Playgroud)

如您所见,cisco vpn 客户端添加了一个具有低 Metrik 的默认路由,并将所有流量发送到隧道中。前一个默认路由没有被删除,但 AFAIR 只是没有使用,因为 vpn 的 Metrik 较低。此外,新的默认路由是永久的,这真的很烦人,因为它毫无意义,重新启动后 vpn-client 将不会运行,路由不应该再存在了。但谁知道思科是如何工作的 ;-)

让我开始这个挑战的是以下路线:

     192.168.10.5  255.255.255.255   192.168.81.254    192.168.81.105    100
Run Code Online (Sandbox Code Playgroud)

据我了解,这条路线使整个事情正常进行,因为那是整个 vpn-tunnel 必须使用这条路线将流量从真实接口中取出的路线。所以我想,修改路由来让默认流量从真正的接口返回到真正的网关应该不难,而只是从远程网络到 vpn 隧道的流量。

我首先删除默认路由,然后添加一个新的默认路由,就像在 vpn 连接之前一样。然后将特定路由添加到远程网络:

route DELETE 0.0.0.0
route ADD 0.0.0.0 MASK 0.0.0.0 192.168.81.254 IF 15
route ADD 10.2.31.0 MASK 255.255.255.0 192.168.71.1 IF 22
Run Code Online (Sandbox Code Playgroud)

之后路由表对我来说看起来很好:

===========================================================================
Schnittstellenliste
 22...00 00 00 00 00 02 ......Cisco Systems VPN Adapter for 64-bit Windows
 15...00 00 00 00 00 01 ......Intel(R) Centrino(R) Ultimate-N 6300 AGN
===========================================================================

IPv4-Routentabelle
===========================================================================
Aktive Routen:
     Netzwerkziel    Netzwerkmaske          Gateway    Schnittstelle Metrik
          0.0.0.0          0.0.0.0   192.168.81.254   192.168.81.105     26
        10.2.31.0    255.255.255.0     192.168.71.1   192.168.71.186     21
        127.0.0.0        255.0.0.0   Auf Verbindung         127.0.0.1    306
        127.0.0.1  255.255.255.255   Auf Verbindung         127.0.0.1    306
  127.255.255.255  255.255.255.255   Auf Verbindung         127.0.0.1    306
     192.168.71.0    255.255.255.0   Auf Verbindung    192.168.71.186    276
   192.168.71.186  255.255.255.255   Auf Verbindung    192.168.71.186    276
   192.168.71.255  255.255.255.255   Auf Verbindung    192.168.71.186    276
     192.168.81.0    255.255.255.0   Auf Verbindung    192.168.81.105    281
     192.168.81.0    255.255.255.0     192.168.71.1   192.168.71.186    281
   192.168.81.105  255.255.255.255   Auf Verbindung    192.168.81.105    281
   192.168.81.105  255.255.255.255     192.168.71.1   192.168.71.186    281
   192.168.81.254  255.255.255.255   Auf Verbindung    192.168.81.105    100
   192.168.81.255  255.255.255.255   Auf Verbindung    192.168.81.105    281
     192.168.10.5  255.255.255.255   192.168.81.254    192.168.81.105    100
        224.0.0.0        240.0.0.0   Auf Verbindung         127.0.0.1    306
        224.0.0.0        240.0.0.0   Auf Verbindung    192.168.81.105    281
        224.0.0.0        240.0.0.0   Auf Verbindung    192.168.71.186    276
  255.255.255.255  255.255.255.255   Auf Verbindung         127.0.0.1    306
  255.255.255.255  255.255.255.255   Auf Verbindung    192.168.81.105    281
  255.255.255.255  255.255.255.255   Auf Verbindung    192.168.71.186    276
===========================================================================
Ständige Routen:
  Keine
Run Code Online (Sandbox Code Playgroud)

但是,经过此修改后,我可以像使用 cisco vpn-client 添加的路由一样完美地连接到远程网络,但不能连接到 Internet。

由于我没有发现路由有任何问题,我再次检查,如果 cisco 弄乱了我的 DNS 系统,但在 WLAN 接口上没有受到影响。

Ethernet-Adapter LAN-Verbindung 2:

   Verbindungsspezifisches DNS-Suffix: 
   Beschreibung. . . . . . . . . . . : Cisco Systems VPN Adapter for 64-bit Windows
   Physikalische Adresse . . . . . . : 00-00-00-00-00-02
   DHCP aktiviert. . . . . . . . . . : Nein
   Autokonfiguration aktiviert . . . : Ja
   IPv4-Adresse  . . . . . . . . . . : 192.168.71.186(Bevorzugt) 
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway . . . . . . . . . : 192.168.71.1
   DNS-Server  . . . . . . . . . . . : 10.2.20.12
                                       10.2.20.13
   Primärer WINS-Server. . . . . . . : 10.2.20.12
   Sekundärer WINS-Server. . . . . . : 10.2.20.13
   NetBIOS über TCP/IP . . . . . . . : Aktiviert

Drahtlos-LAN-Adapter Drahtlosnetzwerkverbindung:

   Verbindungsspezifisches DNS-Suffix: soho
   Beschreibung. . . . . . . . . . . : Intel(R) Centrino(R) Ultimate-N 6300 AGN
   Physikalische Adresse . . . . . . : 00-00-00-00-00-01
   DHCP aktiviert. . . . . . . . . . : Ja
   Autokonfiguration aktiviert . . . : Ja
   IPv4-Adresse  . . . . . . . . . . : 192.168.81.105(Bevorzugt) 
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway . . . . . . . . . : 192.168.81.254
   DHCP-Server . . . . . . . . . . . : 192.168.81.254
   DNS-Server  . . . . . . . . . . . : 208.67.222.222
                                       8.8.8.8
                                       195.66.0.3
   NetBIOS über TCP/IP . . . . . . . : Aktiviert
Run Code Online (Sandbox Code Playgroud)

这是我的马死的地方,我需要你的帮助。有没有人可以给我一个关于我错过和/或理解错误的提示?那里有黑帽子吗?

小智 3

我几个月来也遇到同样的问题。我不得不断开连接并访问互联网。连接起来,这样我就可以访问公司资源......很痛苦。

\n\n

我的临时解决方案是在 Debian Linux 下安装 Sonatype Nexus (依赖项代理)并使用vpnc连接。通常你可以使用 apt-get/yum 等安装它。

\n\n

当这个解决方案还不够时,我在 Windows 计算机中安装了 vpnc,并在顶部安装了 vpnc-fe http://sourceforge.net/projects/vpncfe/(VPNc 前端)。

\n\n

我的配置需要一个名为“Force-NTT”的完美安全设置。请参阅此线程。稍后您需要将以下脚本放入 postconnect.bat 中:

\n\n

[复制以防线程中断]

\n\n

谢谢您,rodekerken!\n这是最终结果,无需手动修改即可打破分割路线:

\n\n
@echo off\nREM By: capt-tagon\nREM \nREM Post-Script.bat to take VPNC\'s Route Table into Windows 7 land. Erases bad route table entries, \nREM extracts gateway, assigned IP, Netmask, and Cisco split route entries and resubmits them to \nREM Windows 7 so the routing all works. Condensed from other entries on the VPNC-FE forae and combined\nREM with information gleaned from VPNC client for Linux to find all the passed parameters useful\nREM to making this work. Additional by rodekerken noted below, thank you for helping finish it out.\nREM\nsetlocal enabledelayedexpansion\necho.\necho Post-Script Begin\necho.\nREM Gather Connection Data\nREM \nREM Parameters passed have space at end, see "HELP SET" at Console Prompt for explanation of\nREM substring extraction\nREM Strip space from TUNDEV, INTERNAL_IP4_ADDRESS, VPNGATEWAY, CISCO_SPLIT_INC\nREM This will be broken if VPNC-FE is fixed to not export parameters with the trailing space.\nREM \nset MyTUNDev=%TUNDEV:~0,-1%\nREM By: rodekerken\nREM From the top of the router table printout, look for a line like\nREM 14...00 ff 5d b0 44 aa ......TAP-Win32 Adapter V9 to find the if number.\nREM A way to find out the interface number automatically and extractis this:\nfor /f "tokens=1 delims=." %%a in (\'route print ^|find "TAP-Win32"\') do set MyIF=%%a\nset MyIP=%INTERNAL_IP4_ADDRESS:~0,-1%\nset MyMask=%INTERNAL_IP4_NETMASK:~0,-1%\nset MyVPN=%VPNGATEWAY:~0,-1%\nREM Number of Routing Table Entries for Split Tunnel\nset MyCiscoSplit=%CISCO_SPLIT_INC:~0,-1%\nREM Date Time functions\nset ANSIDate=%date:~10%%date:~4,2%%date:~7,2%\nset StartTime=%time:~0,2%%time:~3,2%%time:~6,2%\nREM Display Connection Data\necho Tunnel Device : [%MyTUNDev%]\necho Tunnel IntFace: [%MyIF%]\necho Tunnel IPAddr : [%MyIP%]\necho Tunnel NetMask: [%MyMask%]\necho Tunnel VPN-GW : [%MyVPN%]\necho .\necho Date Connected: [%ANSIDate%]\necho Time Connected: [%StartTime%]\necho .\nREM Cisco Routes are 0 index, 6 Routes = 0-5\necho Cisco Split Routes: [%MyCiscoSplit%]\nREM Display Bad Route Table\necho.\necho Bad Route Table\nroute print | find "%MyIP%"\necho.\nREM Delete Bad Split Route entries and add back with proper Gateway.\nREM Extract Cisco routing table information to feed to "ROUTE ADD"\nREM Number of entries passed in Array Index CISCO_SPLIT_INC \nREM For x below, value is 0 to CISCO_SPLIT_INC - 1\nREM Address is passed in CISCO_SPLIT_INC_x_ADDR\nREM NetMask is passed in CISCO_SPLIT_INC_x_MASK\nREM\nREM By: rodekerken\nREM A way to loop and enumerate and evaluate the routes is like this:\nset /A MyCiscoSplit-=1\nfor /L %%i in (0,1,%MyCiscoSplit%) do (\n                set SplitAddr=CISCO_SPLIT_INC_%%i_ADDR\n                set SplitMask=CISCO_SPLIT_INC_%%i_MASK\n        for /f %%a in (\'echo !SplitAddr!\') do set SplitAddrEval=!%%a!\n        for /f %%a in (\'echo !SplitMask!\') do set SplitMaskEval=!%%a!\n        echo Route%%i !SplitAddrEval! !SplitMaskEval!\n        route delete !SplitAddrEval! >nul\n        route add !SplitAddrEval! mask !SplitMaskEval! %MyVPN% metric 1 if %MyIF% >nul\n)\nREM Display Corrected Route Table\necho.\necho Corrected Route Table\nroute print | find "%MyVPN%"\necho.\necho Post-Script End\necho.\n
Run Code Online (Sandbox Code Playgroud)\n\n

我还在“FOR”之后添加了这条路线:

\n\n
route add 1111.120.120.0 mask 255.255.255.0 0.0.0.0 metric 1 if %MyIF%\nroute add 1111.185.19.0 mask 255.255.255.0 0.0.0.0 metric 1 if %MyIF%\nroute add 10.0.0.0 mask 255.0.0.0 0.0.0.0 metric 1 if %MyIF%\n
Run Code Online (Sandbox Code Playgroud)\n\n

[请注意,前两条路线的地址不正确/虚假。无论如何你都需要改变它]

\n\n

为了让我的脚本重复工作,您需要创建一个包含删除路由的“disconnect.bat”:

\n\n
route delete 1111.120.120.0\nroute delete 1111.185.19.0\nroute delete 10.0.0.0\n
Run Code Online (Sandbox Code Playgroud)\n\n

只是我的 0.02\xe2\x82\xac

\n