Cisco VPN'e bağlıyken yerel LAN erişimine nasıl izin verilir?


82

Cisco VPN'e bağlıyken yerel LAN erişimini nasıl sağlayabilirim?

Cisco VPN kullanarak bağlanırken, sunucu istemciye yerel LAN erişimini önleme talimatı vermesi gerekir.

Bu sunucu tarafı seçeneğinin kapatılamayacağını varsayarsak, Cisco VPN istemcisine bağlıyken yerel LAN erişimine nasıl izin verebilirim?


LAN trafiğini yakalamanın daha yüksek bir ölçümle yapılmasının basit bir rota sorunu olduğunu düşünürdüm, örneğin:

  Network 
Destination      Netmask        Gateway       Interface  Metric
   10.0.0.0  255.255.0.0       10.0.0.3        10.0.0.3      20  <--Local LAN
   10.0.0.0  255.255.0.0  192.168.199.1  192.168.199.12       1  <--VPN Link

Ve 10.0.x.x -> 192.168.199.12rotayı silmeye çalışmanın herhangi bir etkisi olmaz:

>route delete 10.0.0.0
>route delete 10.0.0.0 mask 255.255.0.0
>route delete 10.0.0.0 mask 255.255.0.0 192.168.199.1
>route delete 10.0.0.0 mask 255.255.0.0 192.168.199.1 if 192.168.199.12
>route delete 10.0.0.0 mask 255.255.0.0 192.168.199.1 if 0x3

Ve yine de basit bir yönlendirme sorunu olsa da, rota ekleme veya silme girişimleri başarısız olur.

Cisco VPN istemci sürücüsü hangi seviyede yerel bir yöneticinin makinelerini yönetme kabiliyetini geçersiz kılan ağ yığınında ne yapıyor?

Cisco VPN istemcisi sihir kullanamaz. Hala bilgisayarımda çalışan bir yazılım. Makinemin ağına müdahale etmek için hangi mekanizmaları kullanıyor? Bir IP / ICMP paketi ağa ulaştığında ne olur? Ağ kümesinde paket nerede yeniliyor?

Ayrıca bakınız


Düzenleme: Henüz denemediğim şeyler:

>route delete 10.0.*

Güncelleme: Cisco eski müşterilerini terk ettiğinden, AnyConnect (HTTP SSL tabanlı VPN) lehine, çözülmemiş olan bu soru tarihin kalıntısı olarak bırakılabilir.

İleride , aynı problemi yeni müşterileri ile çözmeye çalışabiliriz .


1
VPN Bağlantısı daha düşük bir ölçüme sahiptir ve bu nedenle yerel rotanızdan önce denenir. Yerel yerel ağınızın metrik değerini artırmak büyük olasılıkla yerel yerel ağınızı devre dışı bırakacaktır. VPN tüm trafiği tünel yapacak şekilde yapılandırılmamışsa, ana alt ağınızı değiştirerek bir çözüm olabilir. Bu VPN üzerinden erişmeniz gereken IP'ler nelerdir? VPN tarafındaki 10.0.0.0'ın tamamı bu mu?
pberlijn

Kulağa çok hoş geliyor gibi gelebilir; daha yüksek olanın metrik = olduğunu düşündüm .
Ian Boyd


2
Cisco AnyConnect de tarif OpenConnect alternatif çok uyumlu müşteri ile ikame edilmiş olabilir serverfault.com/a/664097/104573
Vadzim

Yanıtlar:


53

Anyconnect ile ilgili sorun, önce yönlendirme masasını değiştirdikten sonra bebek bakıcılığını değiştirir ve el ile değiştirirseniz düzeltir. Bunun için bir geçici çözüm buldum. Sürüm 3.1.00495, 3.1.05152, 3.1.05170 ve 3.1 ailesinde muhtemelen başka bir şeyle çalışır. Diğer sürümlerle çalışabilir, en azından benzer bir fikir, kodun yeniden yazılmadığını varsayarak çalışmalıdır. Neyse ki bizim için Cisco, bebek bakıcısını “bebek uyanık” çağrısını ortak bir kütüphaneye koydu. Yani fikir şu ki, eylemi LD_PRELOAD üzerinden vpnagentd ile önlüyoruz.

  1. İlk önce bir dosya oluşturuyoruz hack.c:

    #include <sys/socket.h>
    #include <linux/netlink.h>
    
    int _ZN27CInterfaceRouteMonitorLinux20routeCallbackHandlerEv()
    {
      int fd=50;          // max fd to try
      char buf[8192];
      struct sockaddr_nl sa;
      socklen_t len = sizeof(sa);
    
      while (fd) {
         if (!getsockname(fd, (struct sockaddr *)&sa, &len)) {
            if (sa.nl_family == AF_NETLINK) {
               ssize_t n = recv(fd, buf, sizeof(buf), MSG_DONTWAIT);
            }
         }
         fd--;
      }
      return 0;
    }
    
  2. Sonra böyle derleyin:

    gcc -o libhack.so -shared -fPIC hack.c
    
  3. libhack.soCisco kütüphane yoluna kurun :

    sudo cp libhack.so  /opt/cisco/anyconnect/lib/
    
  4. Ajanı getirin:

    /etc/init.d/vpnagentd stop
    
  5. Gerçekten kapalı olduğundan emin olun

    ps auxw | grep vpnagentd
    

    Değilse, kill -9sadece emin olmak için.

  6. Sonra LD_PRELOAD=/opt/cisco/anyconnect/lib/libhack.so vpnagentd'in çağrıldığı yere ekleyerek /etc/init.d/vpnagentd dosyasını düzeltin:

    LD_PRELOAD=/opt/cisco/anyconnect/lib/libhack.so /opt/cisco/anyconnect/bin/vpnagentd
    
  7. Şimdi aracıyı başlat:

    /etc/init.d/vpnagentd start
    
  8. AnyConnect kendileriyle uğraştığından iptables'ları düzeltin:

    iptables-save | grep -v DROP | iptables-restore
    

    Burada yalnızca belirli LAN ana bilgisayarlarına erişime izin vermek için daha gelişmiş bir şey yapmak isteyebilirsiniz.

  9. Şimdi rotaları istediğiniz gibi düzeltin, örneğin:

    route add -net 192.168.1.0 netmask 255.255.255.0 dev wlan0
    
  10. Gerçekten orada olup olmadıklarını kontrol edin:

    route -n
    

Bu hack'ün daha önceki ve daha basit bir sürümü yalnızca "0;" döndüren bir işlev verdi. - poster, şu ana kadar gözlemlediğim tek yan etkinin, vpnagentd’in en üste göre% 100 CPU kullandığı, ancak genel CPU’nun yalnızca% 3 kullanıcı ve% 20 sistem olduğunu ve sistemin mükemmel bir şekilde tepki gösterdiğini belirtti. Anladım, her ikisi de hızlı bir şekilde boşta dönerken bir döngüde iki seçim yapıyor gibi görünüyor, ama asla okunmuyor veya yazmıyor - LD_PRELOAD ile kestiğim çağrının okunması gerekiyordu sanırım daha temiz bir yol olabilirdi. bunu yapmak, ama şu ana kadar benim için yeterince iyi. Birinin daha iyi bir çözümü varsa, lütfen paylaş. "

Önemsiz kesmede sorun, tek bir CPU çekirdeğinin sürekli olarak% 100 olmasına neden oldu ve vpn bağlantınızın aktif olup olmadığına göre donanım cpu iş parçacığını etkili bir şekilde azaltın. Kodun yaptığı seçimlerin, yönlendirme tablosu değiştiğinde vpnagentd verilerini gönderen bir netlink soketinde olduğunu fark ettim. vpnagentd, netlink soketinde yeni bir mesaj olduğunu fark ediyor ve bununla uğraşmak için routeCallBackHandler'i çağırıyor, ancak önemsiz kesmek yeni mesajı silmediği için tekrar tekrar çağrılmaya devam ediyor. yukarıda verilen yeni kod netlink verilerini temizler, böylece% 100 CPU'ya neden olan sonsuz döngü olmaz.

Bir şey işe yaramazsa, gdb -p $(pidof vpnagentd)ekli bir kez yapın:

b socket
c
bt

ve hangi aramayı aradığınızı görün. O zaman hangisini kesmek istediğinizi tahmin edin, hack.c'ye ekleyin ve yeniden derleyin.


4
Bu bir dahi. OSX üzerinde çalışmasını sağlamaya çalışıyorum ve bir sorum var: geçersiz kılacak yöntemin adlandırıldığını nasıl bildin _ZN27CInterfaceRouteMonitorLinux20routeCallbackHandlerEv?
donturner

2
@donturner Deneyin nm /opt/cisco/anyconnect/lib/libvpnagentutilities.dylib | grep routeCallbackHandlerEvve sonra bulacaksınız__ZN25CInterfaceRouteMonitorMac20routeCallbackHandlerEv
McKelvin 5:15

Ben gpd ile vpnagentd ekleyerek ve çeşitli kesme noktaları ayarlayarak anladım.
Sasha Pachev 28:15

@McKelvin , Ubuntu altındaki AnyConnect cihazıma nm /opt/cisco/anyconnect/lib/libvpnagentutilities.sodöner nm: /opt/cisco/anyconnect/lib/libvpnagentutilities.so: no symbols, böylece sembol tablosu bilgisi olmadan üretilir. Bunu nasıl aldın?
yeğeni

@SashaPachev vpnagentd'de sembol bilgisi olmadan nasıl hata ayıklayabilirsiniz?
yeğeni

11

Bu ÇOK katılır, ancak VMWare Player veya benzerini kullanarak minimum VM oluşturursanız ve Cisco AnyConnect VPN istemcisini çalıştırırsanız, VMWare sanal ağ bağdaştırıcılarını kullanarak istediğiniz gibi yönlendirmeyi ayarlamak veya sadece kullanmak VM, Cisco SSL VPN üzerinden gerekli kaynaklara erişim için ve gerçek makinenizden "sürükle / bırak" dosyaları almalıdır.


7

Shrew Soft VPN yazılımı da, Ian Boyd'un önerdiği gibi benim için hile yaptı .

Cisco VPN istemci profillerini alabilir. Cisco VPN Client 5.0.05.0290 versiyonunu kullandım ve Shrew VPN'i (versiyon 2.1.7) kurduktan ve Cisco profilini içe aktardıktan sonra, Shrew VPN bağlantısı (veya ek bir Shrew VPN bağlantısı yapılandırması olmadan kurumsal VPN'e bağlanırken yerel LAN'a erişebildim. yazılım).


Bu android için mevcut olsaydı şaşırtıcı olurdu.
Gabriel Fair

1
2019'dan geliyorum ve işe yarıyor !!!!!!
Sergey Povisenko

5

Yukarıdaki güzel kesmek için Sasha Pachev'e teşekkürler .

vpnagentdayrıca yapılan değişikliklerin üzerine yazarak çözümleyiciye bulaşır /etc/resolv.conf. Sonunda buna karşı yarışı kazanarak çözdüm:

#!/bin/bash

dnsfix() {
    [ -f /etc/resolv.conf.vpnbackup ] || echo "Not connected?" >&2 || return 0 # do nothing in case of failure
    while ! diff -q /etc/resolv.conf /etc/resolv.conf.vpnbackup #>/dev/null
    do
         cat /etc/resolv.conf.vpnbackup >/etc/resolv.conf
    done
    chattr +i /etc/resolv.conf
    diff -q /etc/resolv.conf /etc/resolv.conf.vpnbackup >/dev/null 
}

while ! dnsfix
do
    echo "Retrying..."
    chattr -i /etc/resolv.conf
done

chattr -i /etc/resolv.confBağlantıyı keserken unutma .

Yukarıdaki rota yönteminde olduğu gibi geri aramayı keserek çözmeye çalışıyorum ancak karşılık gelen geri aramayı veya yöntemi henüz bulamıyorum.

Güncelleme1 / 2: Çözümleyici dosyası değişikliklerini izlemek için API kullanan bir straceaçıklama . Oradan itibaren yokuş aşağı oldu. İşte ek kesmek:vpnagentdinotify

int _ZN18CFileSystemWatcher11AddNewWatchESsj(void *string, unsigned int integer)
{
  return 0;
}

Bu , aracı için tüm dosyaları izlemeyi devre dışı bıraktığı için, biraz fazladan bir izin verilir . Ama iyi çalışıyor gibi görünüyor.

Aşağıdaki vpn client wrapper betiği tüm işlevselliği bir araya getirir (bu ek kesmeyi içerecek şekilde güncellenmiştir). chattrartık kullanılmıyor / gerekli değil.

Güncelleme 3: Koddaki sabit kullanıcı adı / şifre ayarları. Şimdi vpn.confaşağıda açıklanan formatta bir dosya kullanıyor (ve sadece root izinleri).

#!/bin/bash

# Change this as needed
CONF="/etc/vpnc/vpn.conf"
# vpn.conf format
#gateway <IP>
#username <username>
#password <password>
#delete_routes <"route spec"...> eg. "default gw 0.0.0.0 dev cscotun0"
#add_routes <"route spec"...> eg. "-net 192.168.10.0 netmask 255.255.255.0 dev cscotun0" "-host 10.10.10.1 dev cscotun0"

ANYCONNECT="/opt/cisco/anyconnect"

usage() {
    echo "Usage: $0 {connect|disconnect|state|stats|hack}"
    exit 1
}

CMD="$1"
[ -z "$CMD" ] && usage

ID=`id -u`

VPNC="$ANYCONNECT/bin/vpn"

dnsfix() {
    [ -f /etc/resolv.conf.vpnbackup ] || echo "Not connected?" >&2 || return 0 # do nothing in case of failure
    while ! diff -q /etc/resolv.conf /etc/resolv.conf.vpnbackup >/dev/null
    do
         cat /etc/resolv.conf.vpnbackup >/etc/resolv.conf
    done
#    chattr +i /etc/resolv.conf
    diff -q /etc/resolv.conf /etc/resolv.conf.vpnbackup >/dev/null 
}

case "$CMD" in
    "connect")
        [ $ID -ne 0 ] && echo "Needs root." && exit 1
        HOST=`grep ^gateway $CONF | awk '{print $2}'`
        USER=`grep ^user $CONF | awk '{print $2}'`
        PASS=`grep ^password $CONF | awk '{print $2}'`
        OLDIFS=$IFS
        IFS='"'
        DEL_ROUTES=(`sed -n '/^delete_routes/{s/delete_routes[ \t\"]*//;s/\"[ \t]*\"/\"/g;p}' $CONF`)
        ADD_ROUTES=(`sed -n '/^add_routes/{s/add_routes[ \t\"]*//;s/\"[ \t]*\"/\"/g;p}' $CONF`)
        IFS=$OLDIFS

        /usr/bin/expect <<EOF
set vpn_client "$VPNC";
set ip "$HOST";
set user "$USER";
set pass "$PASS";
set timeout 5
spawn \$vpn_client connect \$ip
match_max 100000
expect { 
    timeout {
        puts "timeout error\n"
        spawn killall \$vpn_client
        exit 1
    }
    ">> The VPN client is not connected." { exit 0};
    ">> state: Disconnecting" { exit 0};
    "Connect Anyway?"
}
sleep .1
send -- "y\r"
expect { 
    timeout {
        puts "timeout error\n"
        spawn killall \$vpn_client
        exit 1
    }
    "Username:"
}
sleep .1
send -- "\$user\r"
expect { 
    timeout {
        puts "timeout error\n"
        spawn killall \$vpn_client
        exit 1
    }
    "Password: "
}
send -- "\$pass\r";
expect eof
EOF
        sleep 2
        # iptables
        iptables-save | grep -v DROP | iptables-restore

        # routes
        for ROUTE in "${DEL_ROUTES[@]}"
        do
#            echo route del $ROUTE
            route del $ROUTE
        done
        for ROUTE in "${ADD_ROUTES[@]}"
        do
#            echo route add $ROUTE
            route add $ROUTE
        done

        # dns
        while ! dnsfix
        do
            echo "Try again..."
#            chattr -i /etc/resolv.conf
        done

        echo "done."
        ;;
    "disconnect")
#        [ $ID -ne 0 ] && echo "Needs root." && exit 1
        # dns
#        chattr -i /etc/resolv.conf

        $VPNC disconnect
        ;;
    "state"|"stats")
        $VPNC $CMD
        ;;
    "hack")
        [ $ID -ne 0 ] && echo "Needs root." && exit 1
        /etc/init.d/vpnagentd stop
        sleep 1
        killall -9 vpnagentd 2>/dev/null
        cat - >/tmp/hack.c <<EOF
#include <sys/socket.h>
#include <linux/netlink.h>

int _ZN27CInterfaceRouteMonitorLinux20routeCallbackHandlerEv()
{
  int fd=50;          // max fd to try
  char buf[8192];
  struct sockaddr_nl sa;
  socklen_t len = sizeof(sa);

  while (fd) {
     if (!getsockname(fd, (struct sockaddr *)&sa, &len)) {
        if (sa.nl_family == AF_NETLINK) {
           ssize_t n = recv(fd, buf, sizeof(buf), MSG_DONTWAIT);
        }
     }
     fd--;
  }
  return 0;
}

int _ZN18CFileSystemWatcher11AddNewWatchESsj(void *string, unsigned int integer)
{
  return 0;
}
EOF
        gcc -o /tmp/libhack.so -shared -fPIC /tmp/hack.c
        mv /tmp/libhack.so $ANYCONNECT
        sed -i "s+^\([ \t]*\)$ANYCONNECT/bin/vpnagentd+\1LD_PRELOAD=$ANYCONNECT/lib/libhack.so $ANYCONNECT/bin/vpnagentd+" /etc/init.d/vpnagentd
        rm -f /tmp/hack.c
        /etc/init.d/vpnagentd start
        echo "done."
        ;;
    *)
        usage
        ;;
esac

1
Sizin hack bildiriminiz, AnyConnect 3.1.14018 kurulumumdaki yeni hata (2017-02-25) sorunumu çözdü, bu sayede yeni bir terminal penceresi veya GNU ekranı açtığımda bağlantım kesilecek. Bir nedenden dolayı / var / run / utmp izliyor. Daha fazla değil, teşekkürler!
Martin Dorey,

Güzel. Bazen "fazladan" senin arkadaşın olabilir. :-)
Mauro Lacy

4

Şirketim hala bu vpn'yi kullanıyor. Vpnc istemcisi basitçe iptables ayarlarını şu şekilde değiştirir:

# iptables-save
# Tarafından oluşturuldu iptables-save v1.4.10 Sun 17 Haz 14 14:12:20 2012
* filtre
: GİRİŞ DAMLA [0: 0]
: ÖN KABUL [0: 0]
: ÇIKIŞ DAMLA [0: 0]
-Bir GİRİŞ -s 123.244.255.254/32 -d 192.168.0.14/32 -j KABUL 
-BİR GİRİŞ -i tun0 -j KABUL 
-Bir GİRİŞ -i lo0 -j KABUL
-Bir GİRİŞ -J DAMLA 
-Bir ÇIKIŞ -s 192.168.0.14/32 -d 123.244.255.254/32 -j KABUL ET 
-Bir ÇIKIŞ -o tun0 -j KABUL ET 
-Çıkış -o lo0 -j KABUL 
-Bir ÇIKIŞ -J DAMLA 
COMMIT

Vpn trafiği hariç hepsini filtreler.

Filtreyi iptables-save içeren bir dosyaya getirin, gereksinimlerinize uyan INPUT ve OUTPOUT erişim hatlarını ekleyin ve dosyayı iptables-restore ile yeniden uygulayın.

örneğin, 192.168.0’da yerel bir şebekeye erişmek için

# Tarafından oluşturuldu iptables-save v1.4.10 Sun 17 Haz 14 14:12:20 2012
* filtre
: GİRİŞ DAMLA [0: 0]
: ÖN KABUL [0: 0]
: ÇIKIŞ DAMLA [0: 0]
-Bir GİRİŞ -s 123.244.255.254/32 -d 192.168.0.14/32 -j KABUL 
-Bir GİRİŞ -s 192.168.0.0/24 -d 192.168.0.14/32 -j KABUL
-BİR GİRİŞ -i tun0 -j KABUL 
-Bir GİRİŞ -i lo0 -j KABUL 
-Bir GİRİŞ -J DAMLA 
-Bir ÇIKIŞ -s 192.168.0.14/32 -d 123.244.255.254/32 -j KABUL ET 
-Çıkış -s 192.168.0.14/32 -d 192.168.0.0/24 -j KABUL
-Bir ÇIKIŞ -o tun0 -j KABUL ET 
-Çıkış -o lo0 -j KABUL 
-Bir ÇIKIŞ -J DAMLA 
COMMIT

2
Yanlış, rotasını eklemek o kadar kolay değil .. Denedim ve işe yaramadı .. VPN istemcisi, değiştirmenize izin vermeyen çekirdek yönlendirme tablosunun kontrolünü alarak VPN istemcisi
Satish

3

Bu konuda haber var mı?

Cisco VPN istemci sürücüsü hangi seviyede yerel bir yöneticinin makinelerini yönetme kabiliyetini geçersiz kılan ağ yığınında ne yapıyor?

Tamamen katılıyorum ve aynı şeyi merak ediyordum.

Neyse, yüklemek için yönetici ayrıcalıkları gerektiren bir uygulama ve çalışır durumdayken yaptığınız şeyi çok iyi filtreleyebilir ...

Windows'daki girişimlerim de başarısız:

route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 metric 1
 OK!

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.230     21 <-- LAN
          0.0.0.0          0.0.0.0    192.168.120.1    192.168.120.3      2 <-- VPN

Haha. Burada 20'nin altında hiçbir metrik görünmüyor.


Linux söz konusu olduğunda, bu ( petefreitag.com/item/753.cfm ) güvenlik duvarının da dahil olduğunu gösteriyor gibi görünüyor.
Marki

2
ShrewSoft VPN'i buldum. Bir Cisco IPSec VPN sunucusuna bağlanabilir ve VPN sunucusu yöneticisinin kendi ağımla bağlantısının kesilmesi talebini göz ardı eder. ( Ayrıntılı talimatlar için superuser.com/questions/312947/… adresine bakın. ) Bu soruyu yanıtlamamasına rağmen, geçici bir çözümdür. Not : ShrewSoft VPN sadece IPSec için çalışır; SSL VPN ile çalışmaz (yani daha yeni Cisco AnyConnect VPN istemcisi)
Ian Boyd

3

Doğru anladım mı bilmiyorum ama önce anlayışımı açıklığa kavuşturuyorum:

Yerel bir LAN’nız (örneğin, 10.0.0.0/16 ve uzak bir Cisco VPN Sunucusu (örneğin, 64.0.0.0/16) var. VPN sunucusuna Cisco VPN istemcisi üzerinden bağlanmak istiyorsunuz ve LAN erişimine erişmek için, bu durumda, tüm 10.0.xx / 16’yı VPN bağlantısından ayırmak isterseniz). Mac istemcisinde aşağıdaki yol eklenmeli:

/sbin/route add -net 10.0 -interface en1

en1, LAN'ınıza bağlı olduğunuz arabirimdir. Aynı şeyi Windows ve Linux'ta da ekleyebileceğinizi biliyorum.


3
Mac istemcisi için +1; bu benim için geçerli değil. Ve bu komut işe yarayabilirken, Cisco istemcisi oluşturulduktan kısa bir süre sonra onu silebilir (Cisco istemcisi herhangi birinin rota değiştirmesini engelliyor gibi görünüyor)
Ian Boyd

2

Yorum ekleyemediğim için buraya yazıyorum. Windows üzerinde çalışıyorum.

Sanal Makine kullanarak ve VM içinde AnyConnect'i çalıştırdıktan sonra VM'yi çalışma ortamınızla şirket ağı arasında arabulucu olarak kullanın, eğer "sevgili" BT departmanınız VPN'den 0.0.0.0'a giderse, hatta yerel ağınız (bu dahil) Yerel PC'niz ile VM arasında VPN (sic!) üzerinden yönlendirilir.

@Sasha Pachev tarafından gönderilen çözümü uygulamaya çalıştım, ancak sonunda fonksiyonun başında 0 döndürmek için. Sonunda dinamik kütüphane ile kavga ettikten sonra yönlendirme tablolarını benim ihtiyacım doğrultusunda değiştirebildim ama görünüşe göre bu yeterli değil!

Kurallarım bölünmüş tünel oluşturma konusunda doğru gibi görünse de, yine de Genel Arıza alıyorum. Çözebildiğiniz gibi benzer bir problemle karşılaştınız mı?

  • İnternet ağ geçidim 192.168.163.2
  • Şirketin ağına My geçidi 10.64.202.1 (böylece bütün 10'dur . . * Ben "comapny yönettiği" olarak ele alt ağ)

Yönlendirme tablom şimdi böyle görünüyor (VPN açıkken yapılan manuel değişikliklerden sonra)

görüntü tanımını buraya girin

henüz ping sonucu takip ediyor

C:\Users\Mike>ping -n 1 10.64.10.11
Reply from 10.64.10.11: bytes=32 time=162ms TTL=127

C:\Users\Mike>ping -n 1 8.8.8.8
PING: transmit failed. General failure.

C:\Users\Mike>ping -n 1 192.168.163.2
General failure.

Referans için, aşağıda VPN bağlantısı kesildiğinde rota tablosu nasıl görünmektedir (değiştirilmemiş)

görüntü tanımını buraya girin

ve bu, masaya VPN bağlandığında (değiştirilmemiş) böyle görünür, bu durumda ping yapmaya çalışırken 8.8.8.8sadece zaman aşımına uğradım (şirketin güvenlik duvarı trafiğin intranetin dışına çıkmasına izin vermediğinden)

görüntü tanımını buraya girin


DLL'i yamalamakta zorluk çekiyorum, birisi bir kopyasını alabilir veya hangi ofsetleri değiştirmem gerektiğini biraz daha ayrıntılı olarak açıklayabilir mi?
Sean C

1

Cisco AnyConnect SSL VPN kullanırken yönlendirme tablolarının kontrolünü korumak isteyenler için OpenConnect'i inceleyin . Her ikisi de Cisco AnyConnect SSL VPN'i destekler ve yönlendirme tablosu girişlerini bozmaya veya 'güvenli' hale getirmeye çalışmaz. @Vadzim , yukarıdaki bir yorumda buna itiraz ediyor .

AnyConnect Güvenli Mobilite İstemcisi'ni yama dışında her şeyi denedikten sonra, Windows'ta başarıyla OpenConnect GUI ile değiştirebildim . Bu, yerel kaynaklarla bağlantıyı korumamı sağladı (ve yönlendirme tablosunu güncelledi).

OpenConnect'i Windows'ta kullanıyorum ama aynı zamanda proje sayfasına göre Linux, BSD ve macOS'u (diğer platformlar arasında) destekliyor .


1
Bu benim için çalıştı. Ancak kuruluşum bir belirteç kullanıyor, bu yüzden şifre her seferinde farklı. Bu yüzden "parti modunu" açmak zorunda kaldım - aksi takdirde ilk şifreyi kaydedecek ve yeniden kullanacak.
Gabriel Luci

0

Ağ geçidi olan girişleri kaldırmayı deneyin, 10.64.202.13eğer ping 8.8.8.8çalışıp çalışmadığını birer birer ekleyin ve hangisinin soruna neden olduğunu belirleyin.

DLL'i nasıl yama yaptınız? Yönlendirme tablosunu bile değiştiremiyorum çünkü 0.0.0.0VPN ağ geçidini geri eklemeye devam ediyor .


1
Bir soru hakkında açıklamaya veya ek bilgilere ihtiyaç duyarsanız, lütfen cevabınıza eklemek yerine bir yorum gönderin. Teşekkürler.
Matthew Williams

mevcut sorulara yorum eklememe izin vermiyordu.
Tony
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.