![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Соединение с IB [IB6.x]
xmrz © (2003-07-06 15:36:00)Здравствуйте уважаемые Мастера!
У меня такой вопрос:
На сервере (ASPLinux 9.0) interbase 6.0. IB работает - это я выяснил при помощи isql на самом сервере.
Не могу подключиться к серверу по сети (WIN9X) ни через IBConsole ни через isql.
В log на сервере пишется
"connection rejected by remote interface to ". Как законнектиться правильно?
KDS (2003-07-07 13:15:00) [1]localhost.localdomain root
это не вылечит, а может только навредить
тоесть ты даешь серверу права суперпользователя
повышаешь его полномочия. Это небезопасно,
особенно если ктото влезет чужой.
И еще немаловажная деталь: забудь что такое Интербэйз
на дворе гуляет бесплатный и более продвинутый FireBird
с неограниченым количеством одновременных подключений и т.д.
он полностью совместим с ИБ
так что сменить его не составит труда
может быть и проблема с подключениями пролечится этим
качни (www.ibase.ru) одну и туже сборку для Линуха и для виндовз
KDS (2003-07-07 13:05:00) [2]я прописал своей красной шапочке таким образом:
/etc/hosts.allow(тут пишутся разрешения)
ALL: 127.0.0.1, 10.0.0.
тоесть разрешить доступ ко всем службам (АЛЛ) для
локалхост(самого себя сервера 127.0.0.1)
и внутренней подсети 10.0.0.1-10.0.0.255
точка в конце (10.0.0.) означает, что после нее может стоять что угодно. Или же можно перечислить все полные адреса через запятую.
в файле /etc/hosts.deny(тут пишутся запреты)
ALL: ALL
(все отовсюду запрещаю, чтобы из других сетей в нашу не лазили через инет)
в /etc/hostsперечисляю все наши компы из внутренней подсети по именам таким образом
127.0.0.1 localhost
10.0.0.10 ibserv (сам сервак)
10.0.0.6 vovan
10.0.0.1 gena
10.0.0.13 director
и в таком формате далее
xmrz (2003-07-07 11:52:00) [3]>>KDS
А как выглядит "разрешение" в /etc/hosts.allow?
Я ставил разрешение во вновь созданном файле /etc/hosts.equiv
localhost.localdomain root
KDS (2003-07-07 11:26:00) [4]на www.ibase.ru есть пара хороших статей по установке ФБ/ИБ на линукс. Там рассмотрены возможные проблемы и пути их решения.
От себя хочу добавить след.:
1)На машине-клиенте должна лежать клиентская библиотека gds32.dllгденить в системном каталоге или рядом с программой. Версия клиента должна соответствовать версии сервера(рекомендуется)
2) в клиентском файле services должна быть обязательно строка
gds_db 3050/tcp # InterBase Server
И перевод строки (Энтер в конце) обязательно!!!
у винХП он прячется тут C:\WINDOWS\system32\drivers\etc
3) на сервачке "netstat -a" должен показывать что слушается порт 3050
4) а так же прописать там доступ к этой службе. У меня это в файле /etc/hosts.allow Если есть файервол - там тоже разрешить.
xmrz (2003-07-07 11:02:00) [5]>>Johnmen
В Linux "/" - точка монтирования, там нет разделения на диски.
Johnmen (2003-07-07 10:28:00) [6]>> connect "first:/opt/interbase/examples/employee.gdb"
>user "sysdba" password "masterkey";
Почему-то не указан локальный диск, где БД...:)
xmrz (2003-07-07 10:21:00) [7]>sunrider
Именно так оно и есть. Я думаю что проблема может быть с правами пользователей, по тому что в лог пишется
"connection rejected by remote interface for" и не указывается кому.
Что я мог пропустить?
sunrider (2003-07-07 01:51:00) [8]Я обычно прописываю на Windows машине IP адрес (на пример при работе через BDE), типа : "192.168.2.3:/opt/local/info.gdb"
Все работает. Если first - имя сервера, попробуй в hosts
на Windows машине прописать алиас, например:
192.168.2.3 first
Естественно адрес в твоей сети.
hosts лежит для ME и 98 в папке Windows, для NT,2000,XP-
Windows\system32\etc\drivers
xmrz (2003-07-07 00:20:00) [9]>>Pat
в консоли под WINME:
> isql
> connect "first:/opt/interbase/examples/employee.gdb" user "sysdba" password "masterkey";
в IBConsole тест TCP/IP проходит нормально (именно на 3050 порту - gds_db) test passed!
в консоли под Linux:
>isql
> connect "home:/base/mybase.gdb" user "sysdba" password "masterkey";
- всё нормально! Соединяет, выполняю запросы..
ГДЕ брать бубен? :)
Pat (2003-07-06 23:58:00) [10]>ping работает с обеих сторон
ping-то работает, но он по другому порту идет. ПО умолчанию IBase "сидит" на 3050 порту. Напиши простенькую прогу с использованием TClientSocket, TServerSocket или чего-нить похожего, и попоробуй законнектить их на 3050 порту. Если коннект пройдет удачно - бери бубен :)
P.S. А как строка коннекта выглядит?
xmrz (2003-07-06 22:31:00) [11]Проблема не в шифровании. В библиотеке libcrypt.so есть и DES и MD5. В обратную сторону же он связывается нормально!
Кроме того при запуске interbase под Linux
./ibmgr -start
в log пишется то же сообщение адресованое root, а на экран выдаётся что то типа "can not start server" хотя по факту interbase стартует и работает.
По данным с ibase.ru по-умолчанию используется DES.
Cranium (2003-07-06 22:09:00) [12]А каое шифрование используется на Линуксовой машине? Это важно..
xmrz (2003-07-06 21:54:00) [13]И еще:
с WIN хоста в IBConsole тест TCP/IP проходит нормально (но в log file пишется то же самое).
с Linux сервера нормально происходит соединение с IBase сервером установленном на WIN хосте.
По аналогичной теме в интернете нашел кучу аналогичных вопросов, но к сожалению без ответа. Был совет дописать в hosts.equal >> +localhost root - не помогоает.
Ведь у кого-нибудь по-любому сервер на Linux"e стоит и всё нормально!
xmrz (2003-07-06 18:03:00) [14]>>
Для доступа к базе доступ к ресурсам не нужен.
ping работает с обеих сторон. Что можно еще предпринять?
Pat (2003-07-06 17:20:00) [15]>ресурсы
IBase через порты работает...если я правильно понял смысл ресурсов
Скорее всег кто-то не дает приконнектиться. Настраивай сеть.
Till (2003-07-06 15:42:00) [16]Просто у тя Самба не настроена она позволяет мащинам с Виндоусз видеть твои ресурсы, так что разбирайся с Самбой!