Welcome to eComStation.RU site!

Select your language: Russian English Deutch Spanish Italian Portuguese Czech Polish French

Frequently asked questions and answers:

eComStation.RU

ru · en · de · es · it · pt · cz · pl · fr
eComStation - это совершенно другая операционная система для PC (IBM OS/2 Warp)
Программы, новости, статьи, поддержка пользователей, оборудование, вопросы и ответы.
 
      Что такое OS/2?НовостиУстановкаОбновлениеПрименениеБудущееСообществоКупить    
(Карта сайта)

 
 
Отчет: OS/2 совместимое оборудование
Как получить драйверы OS/2 бесплатно

 
Обновление

 
Программы

 
(Санкт-Петербург)

 
Преимущества (1)

 
Разработчику (1)

 
(Пайпы программ)

 
Компании: (1)

 
История (1):

 
(Бонусы)

 
Советы:

 
(Барьеры и решения)

 
Технологии: (1)

 
(Применение в науке, лаборатории, ..)

 

 
Готовые решения:

 
Новая eComStation:

 
Будущее: (1)

 
(Ссылки на другие сайты)

 
(Картинка дня)

 
Артефакты OS/2

 
Гаджеты

 

Откройте для себя мир SocksD


TITLE: Откройте для себя мир SocksD

DATE: 2004-04-12 10:04:01

AUTHOR: Pavel Shtemenko

Безвременно скончавшемуся в xx00 году так и непознавшему OS/2 Максиму Каммереру посвящается

Откройте для себя мир

Открывай планету, называй ее своим именем ... робинзонь помаленьку ...

Вступление в мир

Я очень давно видел псису в настройке TCPIP "enable socks", обычно пропускал мимо глаз и даже не задумывался хоть раз ее использовать. Мне представлялось, да, чет типа прокси, мы обращаемся к нему и нас успешно посылают, но другими словами. Действительность оказалась куда хуже.

"Ну и ладно, - сказал он себе. - Ну и пусть... Хорошо бы найти цивилизацию, древнюю мудруюю.... И человеческую...."

Первый шаг

Он заключается в осознании что socks это не только "ценный мех", но еще "2-3 килограмма легко усвояивомого..." (c). Итак. Ставим SockD by Nickk; в минимальном варианте он требует только такого конфига:

[Global]                                                              
LogFile socks.log                   ; Главный лог, тут мы смотрим и если 
                                      есть ошибки пишем автору
UserLog sockuser.log                ; Тут контролируем кто собственно пользуется
MaxUsers 150                        ; А скока юзеров может одновременно 
                                      пользовать этот сокет демон
                                                                      
[Socks:mysocks]                                                       
Bind 0.0.0.0:1080                   ; Порт на котором он будет принимать ваши заявки

[User:mysocks]        
ip *                                ; Кому можно пользоваться этим
defrule allow                       ; И как

запустили, убедились что не упал (ну случаи разные бывают, обычно он не падает даже при угрозе ядерной войны). И вот теперь....

- Не знаю, - сказал Максим, - Я буду делать то, что мне прикажут знающие люди. Если понадобится, я займусь инфляцией. Если придется, буду топить субмарины ... Но свою главную задачу я знаю твердо

Главный шаг

Он заключается в вере (сегодня пасха) и включении псисы "enable socks", но для того что работало нормально надо и настроить нормально, то есть, вклчить псису, прописать UserID и пароль, далее прописать где ж собственно находится сервер и там еще есть кучка настроек, гланое правило в их настройке - везде писать одно и тоже. Конфигуратор вам создаст необходимые файлы и включит хождение через сокс без перезагрузки. А вот теперь.....

Странник промолчал, ворота были уже совсем близко

Райская жизнь

Вот дальше начинается полный улет, вам не нужны NAT, вам не нужны proxy, с любого конекта вы пройдете везде без всяких дополнительных настроек. Мечта? Реальность! Более того... на вас возможен такой прямой конект как DCC, за кучей NAT'ов (когда я показал это люниксойдам они были в ауте). То есть для ваших юзерей наступает голубая мечта серого гиганта - вы всем доступом управляете с одного места и можете переназначать как вам хочется простым изменением в конфиге и перестартом SockD (для этого совсем необязательно его убивать), и самое главное, юзери даже и не заметят что вы что-то меняли и будут думать, что только они подключены к инету. Более того, если вам всбрендилось законектится к другому провайдеру и он ессено хочет денег за внешний инет, а у вас на фирме или безлимитка или по меньшей мере платите не вы, то "enable socket" то ON!

Зеф продрался через живую изгородь и вышел на дорогу. через плечо у него висел автомат, и издали было видно, что Зеф зол, ничего не понимает и сейчас....

Похмелье

Заключается в том что не все в мире гладко, то есть некоторые сервисы работать таки не будут, ну например tracerte, не будет работать VNC пока вы не пропишете direct x.x.x.x mask.mask.mask.mask, то есть думать что вы делаете ессено это не отменяет.

Ты многое что забыл, сказал Странник.

Рулезы

В SocksD возможны плагины и вот, любезно предоставленная автором SockD, информация по их применению:

Возможные плугины:

  • ULONG  _System dllinit(struct extern_options * args, 
    void (_System * extlog)(ULONG level, char * message));
    Вызывается при загрузке плугина. extlog - функция которую плагин 
    может использоваться для вывода в общий лог socksd.
    args - аргументы для данного плугина из секции [ext] следующего вида:
    
    struct extern_options 
    {
    	struct extern_options * next;
    	char * name;
    	char * value;
    };
    
  • ULONG _System auth(ULONG * id, ULONG internal_socket, char * login, ULONG direction);
    Вызывается для аутентификации пользователя
    Возвращает его уникальный идентификатор, используемый для последующих 
    вызовов плугинов (параметр id)
    Возврат 0 - удачно, иначе - неудачно, 
    direction = 0 для сервер стороны, 1 - для клиент стороны
    
  • ULONG _System dynauth(struct sockaddr_in * client_addr, char * method);
    Вызывается для выбора метода аутентификации, возвращаемой в method.
    Возврат 0 - удачно, иначе - неудачно, 
    
  • ULONG _System passwordauth(ULONG * id, struct sockaddr_in * client_addr,
    const char * login,const char * password);
    Вызывается для парольной аутентификации
    Возвращает его уникальный идентификатор, используемый для последующих 
    вызовов плугинов (параметр id)
    Возврат 0 - удачно, иначе - неудачно, 
    
  • ULONG _System handlepacket(ULONG id, ULONG internal_socket, ULONG external_socket, 
    unsigned char * buf, ULONG * len, ULONG direction, ULONG iftcp);
    Вызывается на каждый проходящий через сервер пакет
    direсtion: 0: client->server; 1: server->client
    iftcp: 1: tcp, 0: udp
    Возврат 0 - удачно, 1 - дропнуть пакет, 2 - закрыть соединение, 
    
  • ULONG _System codepacket(ULONG id, unsigned char * buf, ULONG * len, 
    ULONG direction);
    Вызывается для шифровки, расшифровки пакета
    direсtion: 0: client->server; 1: server->client
    Возврат 0 - удачно, иначе - неудачно, 
    
  • ULONG _System ext_rules(ULONG id, struct sockaddr_in * client_addr, 
    ULONG addr, USHORT port, char type, struct socks_list ** socks);
    Вызывается для проверки, можно ли клиенту ходить по указанному адресу.
    Может возвращать адрес следующего в цепочке сокс сервера в socks параметр.
    Возврат 0 - удачно, иначе - неудачно, 
    
  • ULONG _System ext_dest(ULONG id, struct sockaddr_in * client_addr, 
    struct map_dests ** dest, struct socks_list ** socks);
    Вызывается для выбора адреса назначения при портмаппинге
    Может возвращать адрес следующего в цепочке сокс сервера в socks параметр.
    Возврат 0 - удачно, иначе - неудачно, 
    
  • ULONG _System shutdown(ULONG id);
    Вызывается для шатдауна соединения
    

Сразу замечу, что если вы хотите употребить свой плугин, то вам его необходимо будет описать в конфиге в секции [Global] как:

InitOrdinal 33

где цифра означает номер ординала присвоеного при линковке вашей функции dllinit, но при этом вы еще должны указать собственно DLL, пример пример этого находится в sockd,cfg поставочного комплекта. Старик Бромберг тоненько взгвизнул и шарахнулся в сторону повалив стул - Кто здесь? - завопил он лихорадочно шаря лучом вокруг себя. - Кто это? Да я это, я! - отозвался Экселенц еще более брюзгливо,. - И перестаньте вы трястись.

Восторги

Естественно, восторги от работы оси в режиме socks: двойные - демоном, который написал Nickk, ну и обычные тем, что уже уже второй десяток лет ось не перестает радовать своими возможностями.

Материалы:

  • Док - ну вообще никах (малтшик зука, ваш выход)
  • Сигарет - полпачки
  • Электронов - 10^-39
  • Автор статьи - 1
  • Автор Sockd - 1
  • Ртутный термометр для измерения наколько у меня далеко зашел грипп - 1
  • Кошки для восполнения расходуемого статического электричества - 2

Как и водится у меня, большая часть употреблямых материалов не нанесла вреда окружающей среде и по возможности рециклирована, к сожалению могу заметить, что моя повышенная температура приблизила "тепловую смерть" вселенной на 2^-456 минут.



Попробуй программу:

DVD/CD Toys - запись DVD и CD дисков. Легко установить, легко управлять. SATA, USB, SCSI

Комментарии:

Владимир Стрельников
2004-04-13 12:00:14

Всетаки, из-за того что этот os2ldr и является детектом устройств - в часности усб принтеров...

А пришло время jfs уже старая и прошло время значительное - может и не увидеть эту инфу.(Как отмазка - почему не в тему)

Pavel Shtemenko
2004-04-15 16:04:47

По теме этого урла я еще компался примерно в 2000 году ;-) Где-то на RU/2 есть статья на эту тему.

Oleandr
2004-04-26 10:48:12

2Pavel - А может ли Oracle ходить в "носках", если он на оси сидит?

Alexander Lapshin
2004-04-30 13:22:51

Кстати, родной SocksD также "крут" и не падуч. Также умеет DialOnDemand. Т.е. при обращении к серверу запускает CMD'шник. Также показывает статистику загрузки в реалтайме.

Больше Socks'ов хороших и разных!!!

Всех с наступающими праздниками!!!

ErOs2
2004-04-30 18:23:50

2 Alexander Lapshin - а разве бывает "родной SocksD"? Что-то я в тисипях такого не вижу...

Pavel Shtemenko
2004-05-01 22:12:38

to Oleand, думаю что да, пока мне еще не встретилась софтина (общего пользования) которая не ходит через сокс при включенном соксе

Dmitriy
2004-05-16 18:01:43

Паш, кстати вопросец по твоему соксу. Он почему-то в лог пишет довольно кучи мусора, что не может создать какой-то мутекс и при этом соединения через него не проходят.

Самое интересное в том, что он работает несколько дней без проблем, а потом так заклинивает (в смысле, срубай не сруба, все равно работать не хочет), что спасает только ребут оси.

Pavel Shtemenko
2004-05-18 19:52:09

2 Dmitriy А с автром общатся не пробовал ? ;-) У меня штатный аптайм ~месяц (дале уже проблемы електричества), пока ни в чем криминальном замечен не был

Dmitriy
2004-05-28 21:23:19

Пробовал не помогает. Обратной связи 0.

Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).


Ваше имя:

Ваш E-Mail:

CODE:
......

  

Ваш комментарий:


eComStation 2.0 поддерживает компьютеры с ATOM и i3/i5/i7 + современные качественные прозрачные иконки

Статьи

Операционная система
Программное обеспечение
Оборудование
Для разработчика
Разное
Колонка редактора


Готовая eComStation на SSD диске

 





Последний активный опрос: Какая высота барьера RPM?

IBM OS/2 Warp

 
Обучение новичков

Отчет: OS/2 совместимое оборудование

 
Статьи


   
  Почему eComStation?
Возможности
Особенности
Применение
Ролики и скриншоты
   eComStation для
для бизнесменов
для студентов и инженеров
для продавцов компьютеров
сообщество пользователей
   Разработчик
Распространить программу
Описание API, библиотеки
Начать новый проект
Конкурсы
   Программы
Он-лайн каталог
Выбрать через eCo Market
   Служба поддержки
Отправить вопрос
Купить eComStation
Вопросы и ответы
Обучение новичков
 
 
© 2001 - 2014 eCo Software, All rights reserved
eComStation is a registered trademark of Serenity Systems International
OS/2 Warp is a registered trademark of IBM Corporation
 

 

 
Картинка дня: