Новые версии pppd, демона PPP для Linux, имеют поддержку,
которая позволит вам переносить пакеты IPX через последовательные
соединения PPP. Вам необходим по крайней мере демон версии
ppp-2.2.0d
. Смотрите
PPP-HOWTO
для детальной информации о том где найти его. При компиляции
pppd вы должны убедиться что вы разрешили поддержку IPX
добавив следующие две строки:
IPX_CHANGE = 1
USE_MS_DNS = 1
в файл: /usr/src/linux/pppd-2.2.0f/pppd/Makefile.linux
.
IPX_CHANGE
настраивает поддержку IPX в PPP. Определение
USE_MS_DNS
позволяет машинам с Microsoft Windows95 делать Name
Lookups (Поиск Имен).
Настоящий фокус чтобы заставить это все работать -- это знание как настраивать демона.
Существует много способов настройки, но я опишу только два о которых я получил какую-то информацию. Я никогда не пытался сделать это, так что рассматривайте это раздел как экспериментальный, и если у вас что-то получится дайте мне знать.
Первая вещь которую вам нужно сделать это настроить вашу Linux-машину как сервер IP/PPP. Не паникуйте. Это не так трудно. Далее, следуйте инструкциям в PPP-HOWTO и все должно быть ok. Когда вы сделаете это есть несколько простых изменений, которые вам нужны чтобы заставить работать IPX на той же конфигурации.
Один из первых шагов которые вы должны сделать -- это
настройка вашей Linux машины как маршрутизатора IPX, как это
описано в соответствующем разделе выше в этом документе. Вам не
нужно использовать команду ipx_route для интерфейса ppp
потому-что pppd сам настроит это для вас как он это делает с
IP. Когда у вас запущен демон ipxd он сам будеи
автоматически определять любые новые интерфейсы IPX и
распространять маршруты для них. В этом случае ваша машина будет
видна другим машинам автоматически при подсоединении.
Когда вы работаете как сервер, то вы несете ответственность за назначение сетевых адресов на каждое PPP-соединение, когда оно установлено. Это важный вопрос, каждое PPP-соединение будет являться сетью IPX и должно иметь уникальный сетевой адрес IPX. Это означает, что вы должны решить как вы будете назначать адреса и какими они будут. Простое решение заключается в выделении одного сетевого адреса IPX на каждое последовательное устройство, которое будет поддерживать IPX/PPP. Вы можете выдавать сетевые адреса IPX основанные на идентификаторе подключающегося пользователя, но я не вижу особенно хорошей причины чтобы делать это.
Я буду предполагать что у вас это сделано, и что вы имеете два последовательных устройства (модема), которые вы будете использовать. Адреса которые я присвоил в этом примере следующие:
устройство Сетевой адрес IPX
------ ------------------
ttyS0 0xABCDEF00
ttyS1 0xABCDEF01
Настройте ваш файл /etc/ppp/options.ttyS0
как
показано:
ipx-network 0xABCDEF00
ipx-node 2:0
ipxcp-accept-remote
и ваш файл /etc/ppp/options.ttyS1
как:
ipx-network 0xABCDEF01
ipx-node 3:0
ipxcp-accept-remote
Это скажет pppd выделить соответствующий сетевой
адрес IPX для соединения когда оно установлено, установить номер
локального узла в 2
или 3
и позволит удаленному узлу
переписать номер удаленного узла в тот который ему нужен. Заметим
что каждый из этих узлов являются шестнадцатиричными числами и
требуется 0x
а начале сетевого адреса, но не требуется в
начале адреса узла.
Существуют другие места в которых эта информация может быть
настроена. Если вы имеете только один модем, то запись должна
быть расположена в файле /etc/ppp/options
. В других
случаях эта информация может быть передана через командную строку
pppd.
Для проверки настройки сервера вам необходим уже работающий клиент. Когда клиент подсоединяется, входит в систему и запустится pppd, то он присвоит сетевой адрес, проверьте номер узла клиента этого сервера и согласуете номера узлов клиентов. Когда это будет выполнено и после того как ipxd определит новый интерфейс, клиент сможет устанавливать соединения IPX с удаленными машинами.
В настройке клиента необходимость настройки вашей Linux-машины как маршрутизатора IPX зависит от того имеете ли вы локальную сеть для которой вы хотите выступать как маршрутизатор или нет. Если у вас автономная машина, подключенная к серверу IPX/PPP, то вам нет необходимости запускать ipxd, но если у вас есть локальная сеть и вы хотите чтобы все машины в этой сети могли использовать IPX/PPP маршрутизацию, то вы должны настроить и запустить ipxd как описано. Эта настройка более проста потому-что у вас нет множественных последовательных устройств, которые необходимо настраивать.
Простейшая конфигурация это такая, которая позволяет серверу обеспечивать всю информацию о настройке сети IPX. Эта конфигурация должна быть совместимой с конфигурацией сервера, описанной выше.
Далее вам необходимо добавить некоторые опции в ваш файл
/etc/ppp/options
:
ipxcp-accept-network
ipxcp-accept-remote
ipxcp-accept-local
Эти опции говорят pppd полностью работать пассивно и
принимать все настроечные детали от сервера. Вы можете установить
значения по умолчанию для серверов, которые не обеспечивают эти
детали добавлением записей ipx-network
и ipx-node
сходных с конфигурацией сервера.
Для тестирования клиента вам необходим работающий сервер к
которому можно подключиться. После того как вы подключились и
запустился pppd
вы должны увидеть детали настройки IPX
на вашем устройстве ppp0
когда вы запустите команду
ifconfig и вы должны мочь использовать
ncpmount.
Я не уверен должны ли вы добавлять маршруты IPX вручную, чтобы достичь удаленного файлового сервера. Вероятно да. Если кто-нибудь запустит такую конфигурацию сообщите мне я буду благодарен.