20120919
АИАС Директор 4.5.5 и Linux
20100709
Гибридные сокеты
comm_open: socket failure: (43) Protocol not supportedОшибка в бруазере была
Система вернула: (43) Protocol not supported
20090905
Автоконфигурация прокси
Задача:
Сделать так чтобы настройки прокси-сервера на переносимых за пределы корпоративной сети компьютерах автоматически выставлялись на использование прокси когда компьютер внутри сети, и прямое соединение с интернет когда компьютер вне ее.
Решение:
Исследование показывает что не все браузеры адекватно отрабатывают определение собственного ip-адреса при исполнении .pac файла. Написано серверное решение, cgi-скрипт на языке perl, который в зависимости от адреса узла определяет какую версию файла выдать. Файл автонастройки прописан в свойствах MacOS и в настройках Opera. В Firefox выставлена настройка "Автоматически определять настройки прокси для этой сети", в сети настроен wpad, как по dhcp, так и по dns. Поддержка в IE не проверялась, но теоретически должно работать.
Исходный код скрипта:
!/usr/bin/perl
print "Content-type: application/x-ns-proxy-autoconfig\n\n";
my $remote = $ENV{'REMOTE_ADDR'};
if ($remote =~ /^192\.168\./) {
print <<EOF;
function FindProxyForURL(url, host) {
if (shExpMatch(url, "*.mydomain.ru/*")) {return "DIRECT";}
if (shExpMatch(url, "*.mydomain.ru/*:*")) {return "DIRECT";}
return "PROXY 192.168.1.2:3128";
}
EOF
} else {
print <<EOF;
function FindProxyForURL(url, host) {
return "DIRECT";
}
EOF
}
Добавлено в настройка apache (не совсем верно с точки зрения MIME):
AddType proxy/pac .dat
AddType proxy/pac .da
...
Action proxy/pac /cgi-bin/pac.cgi
Созданы пустые файлы в корне http-сервера:
wpad.dat
wpad.da
Создана запись cname в DNS где wpad.ms45.edu.ru указывает на сервер отдающий wpad.dat.
20090722
MacOSX 10.5 server quotactl
Иногда у меня создается впечатление что все вокруг умные, а я один тут в белом хожу как дурак. Я не нашел почему в моем экземпляре MacOS для управлением квотами есть только edquota, а quotactl нету. И библиотеки quotactl кажется тоже нету, хотя в C я не силен. Но edquota не удобна тем что плохо поддается автоматизации через всякие скриптики которые переделывают квоты 9000 пользователям за раз.
В общем я написал на перле ересь которая принимает аргументы как quotactl, потом вызывает edquota и делает что надо. Ценность этого продукта можете оценить сами: тут.
Строили и наконец построили
Для работы связки SLES 10 + OES 2 + NSS + afptcpd <=> Mac OS 10.5 сделано следующее:
- Чтобы убрать мертвозависания сервера, обновлен OES2. (Неожиданное решение, правда? Что характерно, разбиение рейда и установка NSS на отдельный том не устраняло мертвозавискний.)
- Чтобы убрать ошибки при которых MacOS и afptcpd начинали не сходиться в принципах именования файлов и из за этого не работало копирование/удаление, в свойствах тома NSS установлен namespace=unix ( с помощью nssmu)
Я не знаю, может все это очевидные вещи... Которые написаны в Novell-ских мануалах? А может быть тайное знание старейшин, которое по крупицам нужно собирать по novell-ским форумам?
По прежнему туманно в королевстве.
20090717
Особенности afptcpd потерявшего суффикс .nlm
При отладке afptcpd портированного под SLES вместе с OES2 выяснилось несколько любопытных особенностей.
- Изначально включена опция кросспротокольной блокировки файлов. Кроме полезных вещей, она не позволяет записывать удалять некоторые типы файлов (проблема появлялась при копировании любых файлов которые на самом деле папки, таких как .pkg или .app из под MacOS 10.5, копирование останавливалось на файле с названием Icon, удалить его после этого не выходило). Отключение опции устраняет проблему.
- Изначально включена опция передачи всей информации о правах. Ее применение в моем случае порождало много-много сообщений об ошибке в лог (после того как я включил логирование ошибок, разумеется). Переключение в режим передачи только основной информации о правах существенно (в 2 раза) снизило количество ошибок.
- В некоторых случая вскоре после перезапуска (/etc/init.d/novell-afptcpd restart) сервиса сервер зависает наглухо. Зависают X-ы, зависает ssh, зависает веб-сервер... Все, в общем то, зависает. Только пинги тихо идут.
Неисключено что последняя проблема вызвана тем что вопреки рекомендациям NSS том и системный том с помощью evms установлены на один физический диск. Неисключено что нам придется переделать рейд и вынести из него один диск под систему. Но объяснять оставшуюся проблему с копированием и удалением файлов этим я как то не решаюсь(ошибка -50 на клиенте, все том же MacOS 10.5, при копировании, точные симптомы которой выяснить пока не удалось - все зависло после одного из перезапусков afptcpd).
В королевстве туманно.
OES2 такой разный
Не всегда хотят дружить программки от novell для SLES и для NetWare, ой не всегда.
Например, при установке OES2 в существующее дерево где master-репликой является NetWare сервер, не захотели настраиваться AFP и CIFS. Дело в том что настроечные скрипты на Shell, которые Yast запускает при настройке этих сервисов (из /opt/novell/afptcpd/bin/*.sh) не хотят дружить с LDAP-сервером NetWare, и говорят что соединиться с ним не могут. Yast же выдает ошибку "here are no password policies currently defined in eDirectory. To associate policies to users, plase re-configure AFP later using YaST after adding password policies and users to eDirectory. AFP configuration will continue."
Проблема решается выносом из настройки LDAP адресов NetWare сервера (чтобы скрипты соединялись на SLESовский eDirecroty), либо переписыванием скриптов так чтобы вне зависимости от парметров командной строки подставлялся нужный сервер, либо запуском скриптов руками. Я сделал первое, пока не жалею.