Настройка Cisco VPN Anyconnect для одновременного использования VPN и локальной сети

Я хочу использовать VPN и LAN-доступ одновременно (используя локальные принтеры, SMB-акции, …) Теоретически задача должна быть простой:

  1. Все локальные IP-адреса (192. *) должны перейти непосредственно к eth0, а остальные – к виртуальному устройству. Поскольку я получаю статический «глобальный» IP-адрес от VPN, не будет никакой двусмысленности, и маршрутизация не будет сложной.

  2. Должно быть 2 DNS-сервера: локальный и тот, который предоставляется через vpn.

Когда вы не подключены к VPN, у меня есть 3 маршрута (dest, router, iface):

  • 192. *, *, eth0
  • link-local, *, eth0
  • default, natrouter.local, eth0

При подключении к VPN у меня есть 5 маршрутов:

  • asa-1.vpn., (ipofnatrouter), eth0
  • 141., *, cscotun0
  • 192. *, *, eth0
  • link-local, *, eth0
  • default, 211.vpn., cscotun0

таким образом, он должен иметь доступ к локальной сети, но при проверке локального IP-адреса (даже с правами root) я получаю

ping: sendmsg: Operation not permitted 

Как я могу выполнить эту работу с (X) Ubuntu 10.10 и Cisco Anyconnect VPN?

Обратите внимание, что, поскольку Michał Šrajer дал обходной путь, я теперь ищу предполагаемое решение (с помощью config xml). Даже при редактировании /opt/cisco/vpn/profile/AnyConnect-TargetVPN-Default.xml он получает /opt/cisco/vpn/profile/AnyConnect-TargetVPN-Default.xml с каждым установленным VPN-соединением. Я играл с <LocalLanAccess> и <PPPExclusion> как упоминалось в документации (PDF) без каких-либо заметных успехов.

Переопределение /etc/resolv.conf с соответствующей конфигурацией для lan и vpn позволяет vpanagentd потреблять все процессоры. Поскольку клиент vpn изменяет этот файл при запуске, необходимо изменить его «вживую». В качестве обходного пути я использую модифицированный файл /etc/hosts .