magnify
Home arrow 2009 arrow Январь
formats

Триггеры в Windows XP на VPN-соединения

Опубликовано: 31.01.2009 Автор: в

Иногда складывается не очень удобная ситуация, если в Windows настроено два VPN соединения. Одно на доступ в Интернет, другое — в корпоративную сеть. Но вот беда, если туннель на Интернет уже поднят, то он «отваливается» при поднятии копоративного туннеля, ясное дело по причине измненения таблицы маршрутов. Захотелось от этого избавиться, и, в конечном счете, удалось это сделать. Помогло в этом создание триггера на событие сетевого подключения.

В Windows XP c триггерами на событиями работает программа eventtriggers.exe.

Рассмотрим пример. Интернет соединение работает и включено. Мы хотим в то же самое время запустить корпоративное сетевое подключение. но при этом оставив рабочим Интернет. Схема такова:

  1. Отключаем в свойствах TCP/IP корпоративного VPN-подключения использование основного шлюза в удаленной сети (Свойства->Сеть->Cвойства TCP/IP->Дополнительно->Использовать основной шлюз в удаленной сети), чтобы после соединения не заменялся маршрут по умолчанию
  2. Выданный после подключения IP-адрес прописываем маршрут для той сети, куда нужен доступ. Например, выдался IP 192.168.0.1, нам нужно попасть в сеть 10.0.0.0/16. Тогда команда добавления маршрута будет выглядеть: route add 10.0.0.0 mask 255.255.0.0 192.168.0.1

Главная задача — назначить триггер на событие активизации сетевого подключения, после срабатывания которого нужно достать полученный IP-адрес и прописать нужный маршрут.

Для этого создаем триггер (ID события в моем случае был 20158, но его можно легко посмотреть в журнале событий):

eventtriggers /create /eid 20158 /tr route /tk «c:\routes.bat» /ru user /rp password

где /eid — ID события, /tr — название триггера, /tk — команда, выполняющаяся после срабатывания триггера, /ru — имя пользователя сеанса, /rp — его пароль

Просмотреть созданные триггеры можно командой eventtriggers /query /v

Удалить все созданные триггеры: eventtriggers /delete /tid *

Теперь создаем bat-файл, который будет доставать полученный IP и прописывать нужный маршрут. Его содержание:

for /F «tokens=2 delims=:» %%r in (‘ipconfig^|findstr /r «192\.168\.»‘) do @if not %%r==»» route add 10.0.0.0 mask 255.255.0.0 %%r

Можно наверняка сделать и по другому, но это первое, что пришло на ум.

Если нужно несколько маршрутов, то, думаю, подправить этот скрипт не составит труда.

Все, теперь после «поднятия» VPN-подключения будет выполняться c:\routes.bat, который пропишет нужный маршрут.

  1. http://www.windowsfaq.ru/content/view/179/57
  2. http://www.osp.ru/win2000/2005/01/177435
  3. http://www.osp.ru/win2000/2005/02/177535
 
Просмотров: 2 215 | Комментариев нет  comments 
formats

Установка Xen 3.3.1 на Debian Etch

Опубликовано: 30.01.2009 Автор: в

Сегодня поделюсь процессом установки свежего на данный момент дистрибутива Xen 3.3.1 на Debian Etch. Мне пришлось устанавливать гипервизор из исходных текстов, поскольку хотелось использовать поддержку блочных устройств (tap:aio), чего нет в текущей версии пакетов Xen для Debian Etch и Lenny.

Вкратце напомню, что такое Xen. Xen — это монитор виртуальных машин, который работает в паравиртуальном режиме (PV) или в режиме аппаратной виртуализации (HVM). Для работы в паравиртуальном режиме необходим модифицированные ядра ОС, для работы в режиме аппаратной виртуализации необходима ее поддержка со стороны центрального процессора (технологии Intel VT или AMD Secure Virtual Machines).

В моем случае процессор поддерживал технологию Intel VT, поэтому были доступны также преимущества и аппаратной виртуализации.

Процесс установки (проводился на чистой, только что установленной и обновленной системе Debian Etch ):

1. Подготовка

# Создаем каталог для сборки
mkdir -p /home/xen/build
cd build
# Устанавливаем необходимые для сборки пакеты
# (что-то может оказаться лишним)
apt-get install iproute bridge-utils python-twisted binutils zlib1g-dev python-dev transfig bzip2 screen \
ssh debootstrap libcurl3-dev libncurses5-dev x-dev build-essential gettext gawk pciutils-dev libc6-xen \
libsdl1.2-dev mercurial libvncserver-dev bin86 bcc
# Скачиваем исходные тексты Xen
wget http://bits.xensource.com/oss-xen/release/3.3.1/xen-3.3.1.tar.gz
tar -xvzf xen-3.3.1.tar.gz
# Скачиваем исходные тексты модифицированного для Xen ядра
hg clone http://xenbits.xensource.com/linux-2.6.18-xen.hg
cd xen-3.3.1

2. Сборка и установка

# Собираем Xen в локальный каталог ./dist
# !!!ВНИМАНИЕ!!! Для того, чтобы в HVM-режиме запускалась FreeBSD нужно в make
# добавлять VMXASSIST=n
# это необходимо проделать только в том случае, если используется технология Intel VT
make dist
# Устанавливаем скомпилированное ядро и модули для dom0 и сам гипервизор
make install
# Обновляем rcX
update-rc.d xend defaults

3. Настройка ядра
Если необходимо подправить ядро, то делаем следующее:

# Конфигурируем
make linux-2.6-xen-config CONFIGMODE=menuconfig
# Собираем и ставим новое ядро
make linux-2.6-xen-build
make linux-2.6-xen-install

4. Зависимости

# Обновляем зависимости
depmod 2.6.18.8-xen
# Создаем новый ramdisk
cd /boot
mkinitramfs -o initrd.img-2.6.18.8-xen 2.6.18.8-xen

5. GRUB
Добавляем в /boot/menu.lst новую секцию для загрузки скомпилированного ядра. В моем случае это выглядело таким образом:

 title Xen 3.3.1 / Debian GNU/Linux, kernel 2.6.18-8
 root (hd0,0)
 kernel /boot/xen-3.3.gz dom0_mem=14G
 module /boot/vmlinuz-2.6.18.8-xen root=/dev/cciss/c0d0p1 ro console=tty0
 module /boot/initrd.img-2.6.18.8-xen
 savedefault

После этого перезагружаемся в новое ядро, запускаем xend (/etc/init.d/xend start) и можно начинать создавать виртуальные машины.

Ссылки:

  1. http://xen.org
  2. http://wiki.xensource.com/xenwiki
  3. http://xgu.ru/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:Xen
 
Просмотров: 2 069 | 2 комментария  comments