Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» MS ISA Server (часть 1)

Автор: Lamerok
Дата сообщения: 02.02.2004 15:05
Cuba
Firewall Client обычно накатывается через групповуЮ политику домена. Проблема возникает только с машинами W9X. W2k , XP , W2k3 - накатываЮтся на ура. Если нужны подробность могу рассказать как это сделать. Пиши в ПМ
Автор: JohnnyBravo
Дата сообщения: 02.02.2004 23:44
помогите плз совсем начинающему, нужно ли делать ISA Server Enterprise Initialization?
буду ставить ису на домен контроллер вин2000 поднята AD, DHCP, DNS...
я так понял это надо делать тока если потом кластер из ис делать или я не прав?
Автор: TOHbI4
Дата сообщения: 03.02.2004 08:09

Цитата:
помогите плз совсем начинающему, нужно ли делать ISA Server Enterprise Initialization?
буду ставить ису на домен контроллер вин2000 поднята AD, DHCP, DNS...
я так понял это надо делать тока если потом кластер из ис делать или я не прав?

надо инциализировать. так получишь управление на базе групп и пользователей своего домена.
Автор: JcVai
Дата сообщения: 03.02.2004 08:33
JohnnyBravo
Если будешь поднимать много ISA серверов, то имеет смысл,
в противном случае - лучше оставить stand alone - работать будет быстрее
и не сильно зависеть от AD.

Цитата:
я так понял это надо делать тока если потом кластер из ис делать или я не прав?

Направление мыслей верное.
Кстати учти, что stand alone server можно поднять до уровня array,
а вот наоборот - только переустановка.


TOHbI4
RTFM
Автор: JohnnyBravo
Дата сообщения: 03.02.2004 11:58
JcVai

а TOHbI4 прав по поводу
"получишь управление на базе групп и пользователей своего домена" ?
Автор: Lamerok
Дата сообщения: 03.02.2004 14:02
Привет, народ! Вопрос по поводу работы ICQ под MAC OS X через ISA Server:
создал Client Set для определенных IP, кот установлены на MAC OS X. HTTP через IE и через Safari работает. ICQ ни в какуЮ не работает. Для Client Set разрешены все протоколы, вклЮчая ICQ и ICQ2000...
ICQ не работает ни с аутентификацией ни без нее через HTTPS , SOCS5...
Версия ICQ 3.4 for MAC OS X

Помогите советом.

Заранее 10X
Автор: JcVai
Дата сообщения: 04.02.2004 14:04
JohnnyBravo
Не совсем. Это ты и в режиме stand alone поимеешь.

Lamerok
А в свойствах "IP Packet Filters" "IP routing" включен?
Внутренний адрес ISA-сервера на mac-ах гейтом прописан?
Автор: Lamerok
Дата сообщения: 04.02.2004 14:08
JcVai

"IP routing" включен.

Цитата:
Внутренний адрес ISA-сервера на mac-ах гейтом прописан

соответственно...

не помогает
Автор: JcVai
Дата сообщения: 05.02.2004 08:32
Lamerok
Тогда ничего кроме туннеля, публикации или мэппинга портов посоветовать не могу.
Автор: Porolonchik
Дата сообщения: 05.02.2004 17:15

Цитата:
Внутренний адрес ISA-сервера на mac-ах гейтом прописан

Люди, подскажите популярно начинающему, что такое mac-адреса, как и для чего их прописывать в гейте (каком?)

Автор: Lamerok
Дата сообщения: 05.02.2004 18:21
Porolonchik

"а я то чего поперся ? я ж ведь читать не умеЮ " : )

читай выше

без обид.

сорри за оффтоп.
Автор: Cuba
Дата сообщения: 05.02.2004 23:48
Приветик всем
Уважаемые комрады, помогите малость... была такая цель у нас, это возможность удалённого запуска скрипта на иса сервере, с целью открытия инета на определенный комп. Дак вот даже скрипт люди нам написали, вроде всё хорошо.. но... скрипт по не понятным причинам то выполняется на сервере то нет. Как быть?
Столько денег выкинули человеку, а он написал что-то и смотался
Это файл rulez.vbs
Запускается таким макаром: rulez.vbs compname Allow(Deny) City(World)


Код:
const fpcActionAllow=0
const fpcRuleActionPermit=0
const fpcAppliesToClientSets=2
const fpcSpecifiedProtocols=1
const fpcAllIpTraffic=0
const fpcArrayScope=0
const fpcSpecifiedDestinationSet=3

Set Args=Wscript.Arguments
Set Isa=CreateObject("FPC.Root")
Set Array1=Isa.Arrays.GetContainingArray
Set ProtocolRules=Array1.ArrayPolicy.ProtocolRules
Set ContentRules=Array1.ArrayPolicy.SiteAndContentRules
Set Servers=Array1.Servers
Set Session1=Servers.GetContainingServer.FirewallSessions

CompName=Args(0)
CompAction=Args(1)
CompDest=Args(2)
'Wscript.Echo "Computer:" & CompName & vbCrLf & "Action:" & CompAction & vbCrLf & "Destination:" & CompDest

For Each Rule in ProtocolRules
If Rule.Name=CompName Then
ProtocolRules.Remove(CompName)
ProtocolRules.Save
End If
Next

For Each Ses in Session1
If Ses.ClientComputerName=CompName Then
Ses.AbortSession()
Ses.Refresh
End If
Next

For Each Content in ContentRules
If Content.Name=CompName Then
ContentRules.Remove(CompName)
ContentRules.Save
End If
Next

Set ContentRule=ContentRules("deny_content")
index=1
For Each CR in ContentRule.ClientAddressSetsExcluded
If ContentRule.ClientAddressSetsExcluded.Item(index)=CompName Then
ContentRule.ClientAddressSetsExcluded.Remove(index)
ContentRule.Save
else
index=index+1
End If
Next

If CompAction="Allow" Then
If CompDest="City" Then
Set ProtocolRule=ProtocolRules.Add(CompName)
ProtocolRule.Action=fpcActionAllow
ProtocolRule.AppliesToMethod=fpcAppliesToClientSets
ProtocolRule.Enabled=True
ProtocolRule.ProtocolSelectionMethod=fpcAllIpTraffic
ProtocolRule.ClientAddressSetsUsed.Add (CompName)
ProtocolRule.SetAppliesAlways()
ProtocolRule.Save
Set ContentRule=ContentRules.Add(CompName)
ContentRule.Action=fpcRuleActionPermit
ContentRule.AppliesToMethod=fpcAppliesToClientSets
ContentRule.Enabled=True
ContentRule.SetDestination fpcSpecifiedDestinationSet, CompDest
ContentRule.ClientAddressSetsUsed.Add(CompName)
ContentRule.SetAppliesAlways()
ContentRule.Save

Else
Set ProtocolRule=ProtocolRules.Add(CompName)
ProtocolRule.Action=fpcActionAllow
ProtocolRule.AppliesToMethod=fpcAppliesToClientSets
ProtocolRule.Enabled=True
ProtocolRule.ProtocolSelectionMethod=fpcAllIpTraffic
ProtocolRule.ClientAddressSetsUsed.Add(CompName)
ProtocolRule.SetAppliesAlways()
ProtocolRule.Save
Set ContentRule=ContentRules("deny_content")
ContentRule.ClientAddressSetsExcluded.Add(CompName)
ContentRule.Save
Set ContentRule=ContentRules.Add(CompName)
ContentRule.Action=fpcRuleActionPermit
ContentRule.AppliesToMethod=fpcAppliesToClientSets
ContentRule.Enabled=True
ContentRule.SetDestination fpcSpecifiedDestinationSet, CompDest
ContentRule.ClientAddressSetsUsed.Add(CompName)
ContentRule.SetAppliesAlways()
ContentRule.Save
End If
Else

End If

Автор: JcVai
Дата сообщения: 06.02.2004 08:45
Porolonchik
Не путай MacOS и Mac-адрес.

Cuba
Ага, флудера поймали... где тут мои кирзачи... )
Попробуй сервисы после скрипта перегружать.
Автор: Lamerok
Дата сообщения: 06.02.2004 10:30
Отцы! СледуЮщий вопрос:
Создал Client Set , внес туда ip своей рабочей станции (WXP) отклЮчил у себя Firewall Client.
На Client Set создал правило протоколов Allow All.
ICQ даже не пытается конектится?
В чем может быть трабла?
Есть какие нить соображения?

Cuba
Я в VB не силен... Что должен делать этот скрипт? Обрисуй, что ты хочешь добиться?

Добавлено
Я запостил тему по MAC OS + ISA Server - если у кого будут соображения как все это завести пишите сЮда http://www.forum.ru-board.com/topic.cgi?forum=8&topic=5958#1
Автор: Cuba
Дата сообщения: 06.02.2004 10:37
JcVai

Цитата:
Ага, флудера поймали... где тут мои кирзачи...


Цитата:
Попробуй сервисы после скрипта перегружать.

WoW
вроде заработало.. !! так... тогда как можно в этот скрипт внести чтобы после каких либо изменений делался рестарт? видимо в скрипте это не работает да? =(

Добавлено
Lamerok

Цитата:
Я в VB не силен... Что должен делать этот скрипт? Обрисуй, что ты хочешь добиться?

Есть сервак с исой (он же гейт в инет). У мня интернет кафе.
Мне нужно удалённо дать исе знать, что какому то компу открыть интернет.
сейчас это сделано вот таким образом: на левой машине выполняется команда, коннект к иса серверу с админовскими правами, запуск этого файла с параметрами:
rulez.vbs Computer Allow (Deny) World
Автор: JcVai
Дата сообщения: 06.02.2004 12:22
Cuba

Цитата:
как можно в этот скрипт внести чтобы после каких либо изменений делался рестарт?

В конце скрипта добавь запуск батника типа:

Цитата:
Set WshShell = WScript.CreateObject("WScript.Shell")
WSHShell.Run "%comspec% /c d:\ISAServer\restart.cmd",2

В котором уже будет:
====restart.cmd============
net stop w3proxy
net stop w3schdwn
net stop fwsrv
net stop isactrl
net start isactrl
net start w3proxy
net start w3schdwn
net start fwsrv
exit
================

Цитата:
видимо в скрипте это не работает да?

Видимо ISA настройки из реестра читает только при старте.
Автор: Lamerok
Дата сообщения: 06.02.2004 12:31
JcVai

Цитата:
тогда ничего кроме туннеля, публикации или мэппинга портов посоветовать не могу


что ты этим хотел сказать?
при чем тут это, если icq не конектится по 80 порту.....
SecureNAT не работает не только на маках но и на WXP


Автор: JcVai
Дата сообщения: 06.02.2004 13:32
Lamerok
Например мэппинг портов, использующихся icq-клиентом.
Автор: Lamerok
Дата сообщения: 06.02.2004 15:14
JcVai
каким образом?
Автор: Cuba
Дата сообщения: 07.02.2004 05:10
JcVai

Цитата:
В конце скрипта добавь запуск батника типа:

Окей, сделал.. вроде работает.. но такой вопрос:
А если у людей в этот момент идёт поток информации, т.е. допустим кто-то играет сидит, по протоколу udp идёт инфа, и тут раз рестарт сервисов.. у них это как будет отображаться? как простая потеря пакетов или просто обрыв соединения в момент рестарта?

Добавлено
JcVai

Цитата:
В котором уже будет:
====restart.cmd============
net stop w3proxy
net stop w3schdwn
net stop fwsrv
net stop isactrl
net start isactrl
net start w3proxy
net start w3schdwn
net start fwsrv
exit
================


Может из этого списка можно что нить убрать лишнее?
Ну например оставить только рестарт fwsrv? или isactrl (кстати, что это такое?)
Автор: zzzolegzzz
Дата сообщения: 09.02.2004 12:32
Cuba

Цитата:
Может из этого списка можно что нить убрать лишнее?
Ну например оставить только рестарт fwsrv? или isactrl (кстати, что это такое?)


Это не поможет, конкретно за соединения отвечает w3proxy, все остальное - "лишнее" так сказать ... ну еще может быть fwsrv - файерволл (если им пользуешься).

Попробуй применять скрипты и при этом играться с рестартом сервисом (не все сразу. а в разных комбинациях) - может и откопаешь что, заодно тут напишешь - что получилось ...
Автор: Cuba
Дата сообщения: 09.02.2004 14:11
Ну что же.. я копался копался и вот к чему пришёл. Рестарт сервисов на самом деле не

помогает, а наоборот при рестарте все клиенты у которых были соединения с инетом

вылетают
Опишу сам процесс удаленного управления иса сервером:
1. Есть иса сервер под windows 2003 server. Стоит домен, сам сервер контролер домена и

соответственно гейт в инет.
2. В этой же локалке есть компьютеры, с одного из них идут команды на открытия и

закрытия интернета на определенный айпи в локалке.
Конкретнее:
Есть комьютер с именем admin. На нём стоит программа psexec
Определённая программа на этом компьютере выполняет команду:

Код: c:\psexec\psexec.exe \\isaserver -u Administrator -p password cscript

c:\scripts\rulez.vbs %compname% Allow World
Автор: JcVai
Дата сообщения: 09.02.2004 15:16
Lamerok
Через IP Packet Filters или Server Publishing Rules

Cuba

Цитата:
как будет отображаться? как простая потеря пакетов или просто обрыв соединения в момент рестарта?

Сам уже догадался, что пойдет обрыв соединения и переподключение.


Цитата:
Может из этого списка можно что нить убрать лишнее? Ну например оставить только рестарт fwsrv? или isactrl

Зависит от того, что ты меняешь этими политиками.


Цитата:
(кстати, что это такое?)

Это "низкоуровневые" названия сервисов ISA Server-а:
Microsoft Firewall
Microsoft ISA Server Control
Microsoft Scheduled Cache Content Download
Microsoft Web Proxy


Цитата:
Рестарт сервисов на самом деле не помогает

В смысле правила не применяются???


Цитата:
сервер не даёт выполнить команду пользователю так как не хватает прав. Однако странно иногда даёт а иногда не даёт. Наверное этот вариант отпадает.

1. Попробуй через пускать через telnet (может psexec некорректно обрабатывает системные переменные и/или т.п.)
2. А вы паузу то выдерживаете при запуске скрипта для нескольких машин?
А то сервисы стартовать не успевают, как вы их опять "валите".
В таком случае, лучше их перезагрузку вынести из скрипта в батник,
который пускать уже после, отдельной командой.
Автор: Cuba
Дата сообщения: 10.02.2004 10:44
JcVai

Цитата:
В смысле правила не применяются???

Т.е. как я вверху и написалчто непонятно или скрипт не выполняется или иса сервер не принимает скрипт... т.е. просто в иса серваке не появляются новые правила и всё и в ком причина этого не понятно.

Цитата:
1. Попробуй через пускать через telnet (может psexec некорректно обрабатывает системные переменные и/или т.п.)

telnet на сколько я знаю не может автоматически скрипт выполнять... т.е. всё равно придёться ручками что-то вводить. А в psexec можно всё в командную строку вписать чтобы вопросов никаких не было. Или я ошибаюсь? telnet'ом ни разу не пользовался просто


Цитата:
2. А вы паузу то выдерживаете при запуске скрипта для нескольких машин?
А то сервисы стартовать не успевают, как вы их опять "валите".
В таком случае, лучше их перезагрузку вынести из скрипта в батник,
который пускать уже после, отдельной командой.

Как я понял, перезагрузка сервисов не нужна для этого скрипта. Так как если при выполнении скрипта правило всё таки появилось, то перезагрузка не нужна, интернет всё таки открывается этому айпи.

Т.е. цель такая, узнать в чём дело или в скрипте или в иса серваке. Ну если у кого то ещё какие идеи есть я токо рад буду их выслушать Как удалённо запустить скрипт для исы сервака Может и вправлу psexec "глючит"
Автор: Porolonchik
Дата сообщения: 10.02.2004 16:51
Cuba

Цитата:
Как удалённо запустить скрипт для исы сервака

А не проще использовать возможности Terminal Server'а+Подключение к удалённому рабочему столу???
Автор: NEED
Дата сообщения: 11.02.2004 11:47
Народ, а кто знает, как создавать плагины для исы? В смысле запрограммить я и сам могу. Нужно знать, как плагин подключить и как передаются данные из плагина и в плагин.
Автор: JcVai
Дата сообщения: 11.02.2004 13:57
NEED
В инсталяционном наборе есть sdk, где все основное расписано с примерами.
Подключаются так:

Код:
/*++
Copyright (c) 2000 Microsoft Corporation. All rights reserved.
--*/
#import "msfpccom.tlb" rename_namespace("ISALIB") named_guids
#include "msfpccom.h"
// This will be the filter GUID.
const char StrGuid[] = "{87F18571-C71D-4a2f-9111-9E0927A00B51}";
// This is the filter's relative path to ISA root.
// E.g. If ISA is in "\Program files\Microsoft ISA Server" Then
// you should copy your WebResponseModifier.dll to
// <ISA installation point>\WebResponseModifier.dll
// (Typically <ISA installation point> will be \program files\isa)
const char FilterRelativePath[] = "WebResponseModifier.dll";
HRESULT RegisterWebFilter(bool fRegister);
/////////////////////////////////////////////////////////////////////////////
// DllRegisterServer - Adds entries to the system registry
STDAPI DllRegisterServer(void)
{
HRESULT hr = RegisterWebFilter(true);
return FAILED(hr) ? S_FALSE : S_OK;
}
/////////////////////////////////////////////////////////////////////////////
// DllUnregisterServer - Removes entries from the system registry
STDAPI DllUnregisterServer(void)
{
HRESULT hr = RegisterWebFilter(false);
return hr;
}
static HRESULT RegisterWebFilter(bool fRegister)
{
HRESULT hr;
// Get instance of filter admin object.
hr = CoInitialize(NULL);
if (FAILED(hr))
{
return hr;
}
else
{
ISALIB::IFPCPtr pIISA;
hr = CoCreateInstance(
CLSID_FPC,
NULL,
CLSCTX_SERVER,
IID_IFPC,
(void**)&pIISA);
if (FAILED(hr))
{
CoUninitialize( );
return hr;
}
ISALIB::IFPCArraysPtr pIISAArrs = pIISA->Arrays;
ISALIB::IFPCArrayPtr pIISAArr = pIISAArrs->GetContainingArray();
ISALIB::IFPCExtensionsPtr pIExtensions = pIISAArr->Extensions;
ISALIB::IFPCWebFiltersPtr pWebFilters = pIExtensions->WebFilters;
ISALIB::IFPCWebFilterPtr pFilter;
if (fRegister)
{
_bstr_t bstr(StrGuid);
try
{
pFilter = pWebFilters->Add(bstr,"Web Filter",FilterRelativePath,ISALIB::fpcFilterPriority_Medium,ISALIB::fpcFilterDirectionBoth);
pFilter->PutDescription("Filter Description");
pFilter->PutVendor("Microsoft");
pFilter->PutVersion("3.0");
// pFilter->PutEnabled(TRUE);
}
catch(_com_error& err)
{
if(err.Error() != HRESULT_FROM_WIN32(ERROR_ALREADY_EXISTS))
{
hr = E_FAIL;
}
}

if (pFilter)
{
pFilter->Save();
}
}
else
{
try
{

pWebFilters->Remove(StrGuid);
}
catch(_com_error& err)
{
if(err.Error() != HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND))
{
hr = E_FAIL;
}
}

}
pWebFilters->Save();
pWebFilters->Refresh();

}
CoUninitialize( );
return hr;
}
Автор: Cuba
Дата сообщения: 12.02.2004 05:08
Porolonchik

Цитата:
А не проще использовать возможности Terminal Server'а+Подключение к удалённому рабочему столу???

Мне нужно автоматизировать это.

Добавлено
Странно, но вот из под админа ставит сейчас всегда, а вот из под другого нет
Я же psexec админом захожу, под админом запускаю... в чём проблема то
Может кто нить другую програмку посоветует?
Автор: JcVai
Дата сообщения: 12.02.2004 10:10
Cuba
Создать набор правил на ISA и, используя оснастку,
включать/выключать (если работа по расписанию не устраивает).
Автор: Trex
Дата сообщения: 12.02.2004 17:49
Народ !
у меня тут в соседнем топике проблемы и выяснилось что с ISA
вот топик:
http://forum.ru-board.com/topic.cgi?forum=8&topic=5845#1
"Помогите люди добрые, сами мы не местные"@С

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970

Предыдущая тема: Всё о DNS


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.