|
ArcaOS 5.0 Русская версия
Пакет русификации ArcaOS 5.0 OS/2 давно доступен.
Поддерживается любая версия: 5.0, 5.0.1, 5.0.2.
eCo Software может выпустить и другие пакеты
(Немецкий, Голландский, Бразильский Португальский, Испанский, Шведский и т.д.)
|
Откройте для себя мир 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 минут.
Попробуй программу:
|
Как создать зашифрованный диск? NDCrypt - плагин для NetDrive.
|
Комментарии: Владимир Стрельников 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. |
Прокомментируйте эту статью (напоминаем, автор работал над текстом несколько недель, уважайте мнение других).
|
eComStation 2.0 может быть установлена на компьютер с Windows 7. см. советы в eCSFAQ или Руководство по установке. |
|
|
|
Готовая eComStation на SSD диске
Последний активный опрос: Какая высота барьера RPM?
[Google]
|
IBM OS/2 Warp
|