Форум: "Сети";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];
ВнизОтключить интернет Найти похожие ветки
← →
Den[NSP] (2003-08-12 01:29) [0]Пару раз вопрос уже поднимался (в архиве форума нашел), но ничего толкового так и не предлагалось.
Требуется из своей программы отключить инет на локальном компе. Комп подключен к инету ПО ЛОКАЛЬНОЙ СЕТИ, т.е. в настройках TCP/IP указан адрес основного шлюза и все запросы отправляются на него.
Так вот, требуется запретить передачу данных по определенным портам (всем кроме NetBIOS, ICMP)
Лучше всего конечно перекрыть порты, т.е. сделать что-то вроде фильтра пакетов. Но возможны и другие варианты...
Кто поможет с этим? (совет, исходник, линк)
← →
Reindeer Moss Eater (2003-08-12 11:27) [1]Требуется из своей программы отключить инет на локальном компе.
Где должна работать эта программа?
На компьютере жертвы?
На компьютере-шлюзе?
На компьютере третьего лица?
← →
Verg (2003-08-12 12:22) [2]
> Лучше всего конечно перекрыть порты, т.е. сделать что-то
> вроде фильтра пакетов.
...в просторечье FireWall.
Я думаю, что начиная с Win2K можно наверно откопать способ отключать протоколы в сетевых интерфейсах без перезагруки компа, но если ты отключишь TCP/IP, то ни о каком ICMP и речи уже быть не может.
← →
Den[NSP] (2003-08-13 02:17) [3]to Reindeer Moss Eater ©:
Программа - клинет системы управления компьютерным клубом (не совсем клуб конечно, но идея та же) Следовательно программа должна работать на каждом компьюере клуба кроме одного, на котором работает серверная часть программы.
Вариант с контролем на шлюзе не подходит, т.к. к серверу нет доступа. На нем настроен NAT, а на всех клиентах в качестве основного шлюза указан адрес этого сервера.
to Verg ©:
Нет, именно фильтр пакетов... фильтр пакетов - всего лишь часть полноценного firewall.
Никто и не говорил про Win2K... система должна работать на Win9x, но в будущем клиенты будут переведены на NT и хотелось бы сохранить функциональность программы.
А в 9х отключить интерфейс без перезагрузки вряд ли получится...
И вообще, отключение TCP/IP не подходит, т.к. мне нужно оставить доступ к локальной сети (в частности - сетевой печати).
Где-то в архиве нашел предложение убивать один из маршрутов в таблице маршрутизации (0.0.0.0), а при необходимости восстанавливать его.
Это конечно вариант, но я не уверен в его надежности.
Единственная проблема - как управлять таблицей из своей программы (не используя командную строку - WinExec и т.п.)
И вообще, где хранится локальная таблица маршрутов?...
← →
Verg (2003-08-13 07:58) [4]Ну, допустим для 98 можно использовать ф-ии типа
CreateIpForwardEntry
DeleteIpForwardEntry
EnableRouter
GetBestInterface
GetBestRoute
GetIpForwardTable
GetRTTAndHopCount
SetIpForwardEntry
UnenableRouter
← →
Reindeer Moss Eater (2003-08-13 09:21) [5]Вариант с контролем на шлюзе не подходит, т.к. к серверу нет доступа.
Замечательно. Посетители клуба сами управляют своим доступом в сеть, потому что у хозяев клуба нет доступа к своему собственному шлюзу.
На нем настроен NAT, а на всех клиентах в качестве основного шлюза указан адрес этого сервера.
Так ведь NAT не сам по себе живет. Он реализован каким-то ПО. К нему тоже доступа нет у администрации?
← →
Anatoly Podgoretsky (2003-08-13 10:19) [6]Den[NSP] (13.08.03 02:17) [3]
Только на шлюзе, нет доступа, кто мешает поставить отдельный компьютер и на нем файрвол или прокси, главное что бы были две интерфейсные карты, иначе вся работа насмарку. Дешевый Линукс на завалящем компьюере и всего делов.
← →
Den[NSP] (2003-08-14 06:18) [7]to Reindeer Moss Eater ©:
Это не совсем клуб, как я и писал...
Шлюз настроен у провайдера, т.е. свич локалки соединен со свичем провайдера (хотя трудно сказать что там за железо у него), а свич прова в свою очередь со шлюзом... Так что к серверу доступ исключен.
to Anatoly Podgoretsky ©:
Это конечно разумный вариант, но как я буду из своей проги управлять прокси-сервером? (Уже была такая необходимость в другом проекте, управление WinGate... кое-как криво сделал включение/отключение учеток, но больше я так извращаться не буду...)
К тому же я к администрированию этой локалки отношения не имею... Я только пишу программу. (Да и вряд ли контора разорится на дополнительный сервак, контора государственная с "государственным" финансированием...)
Verg ©:
Насколько я вижу по названиям некоторые функции вполне могл ибы пригодиться...
Но я уже нашел подходящий вариант, кто-то давно советовал в форуме по похожуму вопросу: выставить TTL в 1 или даже в 0 (в первом случае скорее всего будет работать разрешение имен через DNS провайдера, во втором будет обрубаться все что за пределы локалки...). Работает замечательно в 9x и NT... Функция реализована в IPHlpAPI.dll.
Спасибо всем принимавшим участие в обсуждении...
← →
Anatoly Podgoretsky (2003-08-14 07:31) [8]Den[NSP] (14.08.03 06:18) [7]
Так как будет доступ до файрвола/прокси то управление возможно, при том полнейшее, в данной задаче прокси не обязателен, достоаточно простого файрвола и маршрутизации. Пакет или пропускается или нет, при том даже NAT не требуется.
Какую конкретно использовать программу или самому написать выбор стоит за тобой. Для данной задачи достаточно 486 компьютера с минимумом памяти, например FreeSco не требуется даже диск
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.015 c