PDA

Bekijk de volledige versie : Полная инструкция по установке eMule на роутере



Igor Kit
14-05-2006, 13:39
Добрый день! Подскажите, пожалуйста, как настроить eMule?
Делаю так, как указано в форуме: NAT Setting -> Virtual Server -> Enable Virtual Server? - Yes -> Port Range 4662(4672), Local IP - адрес компа во внутренней сети, Protocol - TCP(UDP) -> Description - emule1(2). У меня ХР SP2, при первом запуске разблокировал eMule, но пробовал брандмауэр вообще отключать. Тест портов из eMule проваливается, соответственно статус Low ID. Если кто-то настроил, подскажите, может чего не так делаю? И в прошивке 1.9.2.7-7c есть ещё поле Local Port, что только ни указывал и пустым оставлял - Low ID :(

Tsvetkov
14-05-2006, 21:39
у вас куплен внешний Ip ?

Igor Kit
15-05-2006, 10:42
Нет, правда на моём тарифе он бесплатный. Значит в этом дело? Спасибо!

Lexus
18-12-2006, 09:27
Добрый день!

Вот есть желание подключить usb-диск к asus wl500gp, поставить и настроить на нем emule. Чтобы все качалось с выключенным компом.
Опишите пожалуйста, что и в какой последовательности надо сделать (или дайте ссылку).

Заранее, спасибо.

ice
18-12-2006, 10:33
Добрый день!

Вот есть желание подключить usb-диск к asus wl500gp, поставить и настроить на нем emule. Чтобы все качалось с выключенным компом.
Опишите пожалуйста, что и в какой последовательности надо сделать (или дайте ссылку).

Заранее, спасибо.

Самая правильная ссылка -> используйте поиск.

Lexus
18-12-2006, 12:27
Если бы нашел через поиск, то не стал бы создавать тему. Если не сложно, дайте ссылку.

ice
18-12-2006, 19:31
Если бы нашел через поиск, то не стал бы создавать тему. Если не сложно, дайте ссылку.

http://wl500g.info/showthread.php?t=2811&highlight=donkey

По подключению диска
http://wl500g.info/showthread.php?t=4440
+настройку с нуля можно почитать
+настройка торрента

Novochok
14-03-2007, 23:02
Здраствуйте. Помогите пожалуста установить и настроить emule на моем роутере. Заранее прошу прошения, так как тема уже повторялась не одноктатно. Но увы инглиш я знаю очень плохо и поэтому не понял как установить emule из иностранных топиков. Просьба описать всю процедуру по шагам (ввести то, нажать на ту кнопочку) ибо в этой области я нуб :( . Что откуда скачать, откуда скачать программу telnet :confused: (ссылочку пожалуста) и так далее... :) .

Думаю данная тема будет очень полезна руским пользователям, так что пожалуста не игнорируйте ее.
Заранее спасибо на помощь....
Версия прошивки 1.9.7.2
Девайс WL500g.Premium

Просьба не давать ссылок на не русские странички, ибо для меня они бесполезны :(

OverLocker
15-03-2007, 06:31
Я пока модем именно этот не знаю, но скажу что для работы осла нужно:
1. Открыть выбранные в осле исходящие порты на маршрутизаторе и файрволе в ОС. Лучше их сделать нестандартными, т.к. провайдеры часто режут траффик по стандартным.
2. С внешнего интерфейса сделать Port Forwarding (Port Mapping, Server Publication, проброс портов) на нужную машину этих же выбранных портов.

imdex
15-03-2007, 14:44
Для начала прошивку Олега надо поставить и прочитать вот эту (http://www.wl500g.info/showthread.php?t=5438) прикреплёныую тему.

al37919
16-03-2007, 13:16
P.S. Существенно более позднее дополнение (5/2007):
чтобы установить нормально работающий amule достаточно сделать ipkg install amule и далее заменить /opt/bin/amuled на файл, лежащий здесь: http://wl500g.info/showpost.php?p=52214&postcount=25 Этот файл решает проблему падения осла при попытке закачки файлов размером > 1Гб. Решение временное, будем надеяться, что его удастся в конце концов успешно загнать в репозитарий.
Для справки, обсуждение почему его не удается туда загнать здесь: http://wl500g.info/showthread.php?t=7789&page=3 начиная со стр. 3 и далее.
-------------------------------
Я бы не советовал начинать общение с роутером с такой задачи как установка осла. В принципе, могу лично подтвердить, что amuled работает на нем стабильно. Однако, к сожалению, не тот, который лежит в репозитарии optware и может быть установлен командой ipkg install amule . Тот стабильно только отдает, а при приеме вылетает так же стабильно. Так что для того, чтобы запустить amule на роутере нужно проделать комплекс мероприятий:
1. освоить основы linux
2. как уже сказано установить прошивку Олега.
3. установить debian в chroot
4. поставить дебиановский пакет amule-daemon

В результате получаем успешно работающего осла внутри этой белой коробочки, правда памяти ему все-таки маловато, через сутки работы у меня своп набирается метров под 40, так что следующим этапом можно задуматься об увеличении памяти до 128 метров. В общем роадмап примерно такой. :)

В виде конкретной рекомендации могу посоветовать программу putty (это telnet/ssh клиент), а далее пользоваться поиском в форуме и в гугле. Постепенно со всем этим вполне реально разобраться.

dfayruzov
06-04-2007, 10:26
Я в итоге предпочел пойти по "среднему" пути - поставил в шкафу БольшойКомпьютер с линуксом. :)

dimonb
06-04-2007, 12:19
я в англицкие форум писал результат работы со strace-ом:


write(8, "\1PW\376\316\337\1\35\4\346\345\252\260u+\320\223 3\36\\"..., 10240) = 10240
_llseek(8, 455772160, [455772160], SEEK_SET) = 0
write(8, "\242\365a%\341/\211]\320}:\352\264\2763mGz\f\265\217\177"..., 10240) = 10240
_llseek(8, 1206272000, [1206272000], SEEK_SET) = 0
write(8, "Sa\307\226\3321\36\306Z\241J\nha\27M\330\3140\213 \374\350"..., 10392) = -1 EFBIG (File too large)

после этого он и вылетает...

может и вправду проблема с uclibc?

еще немного поэксперементировал и выяснил, что он обламывается на файлах ровно в 1Gb.. (т.е. больше он не может закачать)

Может это наведет на какие мысли?

al37919
07-04-2007, 09:12
Глупый вопрос, а существует ли в нашей системе опция mount -o largefiles и если да, то включена ли она по дефолту (для кернелов 2.6 вроде точно да, а 2.4, что то не пойму).

dimonb
07-04-2007, 13:33
не слыхивал про такую опцию, но dd создает большие файлы без проблем..

al37919
07-04-2007, 19:54
Еще информация к размышлению. strace кроме EFBIG выдает еще и SIGXFSZ:


_llseek(11, 1108992000, [1108992000], SEEK_SET) = 0
write(11, "d\363\303\32\355\263x\261\327\2447\271\350\336\332 \302"..., 10240) = -1 EFBIG (File too large)
--- SIGXFSZ (File size limit exceeded) @ 0 (0) ---


с одной стороны подозрение вызывает lseek. Единственное место где он вызывается --- файл CFile.cpp, причем в форме lseek, которая может оказаться 32 и 64 битной. Однако, в Makefile определяется -D_FILE_OFFSET_BITS=64 в результате чего lseek превращается в корректный уже 64-битный _llseek , к тому же он возвращает успех. Так что похоже lseek не виноват.

Далее цитата из man 2 write:

EFBIG An attempt was made to write a file that exceeds the implementation-defined maximum file size or the process' file size limit,
or to write at a position past the maximum allowed offset.

Итак EFBIG могут вызвать 3 причины, а именно, попытки:
1) write a file that exceeds the implementation-defined maximum file size;
2) write a file that exceeds the process' file size limit;
3) write at a position past the maximum allowed offset.

Причем SIGXFSZ (File size limit exceeded), похоже, указывает на вариант №2.

Далее, существует такое понятие как лимиты ресурсов или RLIMIT, причем они используются в файле amule.cpp
, правда их там пытаются выставить в максимум.

Цитата из man 2 getrlimits , касаемо лимита размера файла, который может создать процесс:

RLIMIT_FSIZE
The maximum size of files that the process may create. Attempts to extend a file beyond this limit result in delivery of a
SIGXFSZ signal. By default, this signal terminates a process, but a process can catch this signal instead, in which case the
relevant system call (e.g., write() truncate()) fails with the error EFBIG.


Очень похоже на нашу ситуацию, по крайней мере оба ключевых слова (SIGXFSZ и EFBIG) присутствуют.

Чему же равен RLIMIT_FSIZE


#include <sys/time.h>
#include <sys/resource.h>
#include <stdio.h>

int main()
{
struct rlimit rl;
int res = getrlimit(RLIMIT_FSIZE, &rl);
printf("%ld %ld %d %ld\n", rl.rlim_cur, rl.rlim_max, sizeof(rlim_t), RLIM_INFINITY);
}


возвращает 2147483647 2147483647 4 2147483647
Это величина в байтах. Первое число т.н. soft rlimit , второе hard rlimit . Соответственно, при желании можем их установить, причем soft <= hard . Величины эти имеют тим rlim_t и являются 32-битными. Необходимо отметить, что у свежей suse они тоже четырехбитные (-1 -1 4 -1, что по сути есть то же самое). В результате непонятно как вообще в линухе можно работать с файлами более 2 Гб если лимит размера файла четырехбайтный. :)

Дополнение. А вот, кстати, где сидит 1 Гигабайт. Если запустить strace amuled -f, т.е. прописать его с самого начала, а не атачить к pid-у, то как раз и наблюдается то о чем я писал выше. Этот код выполняется в файле amule.cpp . А вот изменить то эти цифры что-то ни хрена не получается.


getrlimit(RLIMIT_DATA, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0
setrlimit(RLIMIT_DATA, {rlim_cur=1073741823, rlim_max=1073741823}) = 0
getrlimit(RLIMIT_FSIZE, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0
setrlimit(RLIMIT_FSIZE, {rlim_cur=1073741823, rlim_max=1073741823}) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
setrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
getrlimit(RLIMIT_RSS, {rlim_cur=7401488, rlim_max=4735824}) = 0
setrlimit(RLIMIT_RSS, {rlim_cur=720283552, rlim_max=2147449912}) = 0

Дополнение 2. Короче дело в следующем. Как и предполагалось в начале виноваты искривления uclibc . Максимальное значение RLIMIT_FSIZE равное RLIM_INFINITY определяется в ней для части архитектур как (~0UL), а для второй части, в т.ч. mipsel как (~0UL>>1) . А setrlimit для перестраховки делает еще раз >>1 Отсюда и берется 1Гб. Если закомментировать одну строчку (избавиться от setrlimit, который в общем то на хрен не нужен), то проблема исчезает:

strace после операции (getrlimit оставлен чисто для контроля):

getrlimit(RLIMIT_DATA, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0
getrlimit(RLIMIT_FSIZE, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
getrlimit(RLIMIT_RSS, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0

Причем, как ни странно, вместо ожидаемого увеличения объема от 1 до 2 Гб, похоже проблема снялась совсем и, наконец, заработал LFS (aMule, кстати, не дает поставить на загрузку ссылку больше 4Гб ни под mipsel ни под виндой):

_llseek(13, 4205578240, [4205578240], SEEK_SET) = 0
write(13, "\210\302\2568\10\25\322\16\225\350!\372\200OQ\6x\3 26\362"..., 10240) = 10240
_llseek(13, 4205598720, [4205578240], SEEK_SET) = 0
write(13, "\216\35{\312\347\305\271\247\243{\206\202\357\254\ 311`"..., 10240) = 10240
_llseek(13, 4205608960, [4205608960], SEEK_SET) = 0
write(13, "\36\250\2732;\354C!\356\232\376\352\365\202\177,~h \233"..., 10240) = 10240

al37919
08-04-2007, 07:27
Патч получился очень содержательным.

dimonb
08-04-2007, 16:36
спасибо, что разобрался :-) ждем ебилдов, как говорят у нас на родине.. ipkg-пакетов то есть :-)

Oleg
08-04-2007, 17:50
oleo отдайте этот патч и попросите пересобрать.

al37919
14-04-2007, 07:39
Сборка официального билда оказалась делом непростым. У меня все успешно откомпилировалось и работатет как надо, а билд oleo пока не снимает ограничений. :( Чем отличаются наши системы компиляции я не понимаю. Единственное что бросается в глаза сразу --- мой amuled имеет размер 3.6Мб, а у oleo 3.2Мб ... Я делал кросс-компиляция согласно первой половине этой инструкции http://www.nslu2-linux.org/wiki/Optware/AddAPackageToOptware

В любом случае, источник проблемы найден.setrlimit работает неправильно, oleo это признал. Однако, новый официальный билд без прямого вызова setrlimit имеет тоже неверные лимиты.

Поскольку на данный момент я являюсь вроде как единственным держателем работающего бинарника, то решил выложить его здесь для тестирования. А может он и работает корректно только у меня? Этот файл откомпилирован на основе amule-2.1.3-6 путем удаления одной строки в файле amule.cpp

2dimonb:
не запостишь результат
strace amuled -f 2> log
для моего бинарника и для бинарника из amule-2.1.3-7 в части касающейся getrlimit (4 строки порядка 100 строк от начала)

dimonb
16-04-2007, 08:36
Примерно следующий результат:



getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
setrlimit(RLIMIT_STACK, {rlim_cur=2147448808, rlim_max=0}) = 0
getrlimit(RLIMIT_DATA, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0
getrlimit(RLIMIT_FSIZE, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0
getrlimit(RLIMIT_RSS, {rlim_cur=7401488, rlim_max=9443488}) = 0

al37919
16-04-2007, 10:08
Спасибо, я так понимаю это мой билд. Вроде все отлично. А amuled из amule-2.1.3-7.ipk из официального репозитория optware что дает?

dimonb
16-04-2007, 10:54
официальная сборка:



getrlimit(RLIMIT_STACK, {rlim_cur=716175296, rlim_max=719845052}) = 0
setrlimit(RLIMIT_STACK, {rlim_cur=2147448808, rlim_max=0}) = 0
getrlimit(RLIMIT_DATA, {rlim_cur=716175296, rlim_max=720246656}) = 0
getrlimit(RLIMIT_FSIZE, {rlim_cur=716175296, rlim_max=720246656}) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=716175296, rlim_max=720246656}) = 0
getrlimit(RLIMIT_RSS, {rlim_cur=7401488, rlim_max=9443488}) = 0

al37919
16-04-2007, 11:30
Огромное спасибо. Результаты практически идентичны моим. А то у меня закрались сомнения не задаются ли эти константы на этапе выполнения. Уж больно неожидано возникли эти новые 700Мб. Значит проблема полностью воспроизводится. А дальше уже надежда на oleo, т.к. фиксить тулчейн мне пока не по силам. :)

dimonb
16-04-2007, 12:36
Да незачто :-)


Вообще очень странная картинка получается..
setrlimit никто не делает, а getrlimit возвращается разный... какая-то несуразица

Wizardaman
04-11-2008, 12:48
Простите за столь тупой вопрос полнейшего ламера. Подскажите, что куда вписать в 500gp с прошивкой от Олега (последней) чтобы избегать lowid встроенными средствами роутера не пользуюсь, хочу просто скачать то, что мне нужно, но как то не получается пока что. Спасибо.
Конфиг - роутер с динамическим IP провайдера (Доминанта СПб), ноут по wifi также с динамическим ip присваеваемым роутером при соединении.

al37919
04-11-2008, 15:13
осел на ПК за роутером?
тогда проброс портов в виртуальном сервере через веб интерфейс.

Wizardaman
04-11-2008, 16:44
осел на ПК за роутером?
тогда проброс портов в виртуальном сервере через веб интерфейс.

да,на ноуте.
чтосделать я понял, а вот как???:confused:

Wizardaman
04-11-2008, 16:48
Понимаю, что править нужно на вкладке (см. скрин) новот что этодля меня загадка,так и не смог разобраться, вечно при тесте портов из eMule , тест проваливается.

al37919
04-11-2008, 18:43
в муле заходим настройка -> соединение -> соединение. Вверху указаны два порта --- один tcp, другой udp

Wizardaman
04-11-2008, 19:14
в муле заходим настройка -> соединение -> соединение. Вверху указаны два порта --- один tcp, другой udp

извиняюсь а свою тупость, а что с ними дальше делать?

al37919
04-11-2008, 19:29
однако, вбить в приведенный вами скриншот.

первое поле --- номер порта
далее --- ИП куда прокидывать
далее --- можно поставить тот же что в первом поле
далее --- протокол
остальное не важно

нажать add

повторить для второго порта

apply
finish

Wizardaman
04-11-2008, 19:56
Наверное я полная тупица, но сделал как понял, скрины прилагаю, итог на последнем скрине. В чем туплю? Спасибо.

vectorm
04-11-2008, 20:01
Ээээ ... так нельзя! на каждый комп своя порция портов! внешних, внутренние могут быть одинаковыми.
Роутер понять не может - куда ему слать данные.

Wizardaman
04-11-2008, 20:12
Ээээ ... так нельзя! на каждый комп своя порция портов! внешних, внутренние могут быть одинаковыми.
Роутер понять не может - куда ему слать данные.
так ip динамически присваиваются при подключении компа к роутеру, как сделать что куда написать? вообще не понимаю, пытался на portforward что-то понять, но у меня с русским и такой терминологией то плохо, а тут еще и англицкий:confused::confused::confused:

DfDf
04-11-2008, 20:30
Включите на роутере UPnP, в emul'ах тоже и забудьте про проброс портов - за вас это сделает UPnP. В системе, ессно, тоже надо включит поддержку UPnP (в висте она, по-моему, сразу есть, в XP надо добавлять в пару кликов).

Wizardaman
04-11-2008, 20:33
Включите на роутере UPnP, в emul'ах тоже и забудьте про проброс портов - за вас это сделает UPnP. В системе, ессно, тоже надо включит поддержку UPnP (в висте она, по-моему, сразу есть, в XP надо добавлять в пару кликов).

а можно для тупых чуть поподробнее. спасибо. система ХР


Включите на роутере UPnP, в emul'ах тоже и забудьте про проброс портов - за вас это сделает UPnP. В системе, ессно, тоже надо включит поддержку UPnP (в висте она, по-моему, сразу есть, в XP надо добавлять в пару кликов).

как я понимаю на роутере уже включено, а дальше?

DfDf
04-11-2008, 20:39
А дальше в emule. Ось-то какая? Виста или XP? Судя по скриншоту - XP на Самсунге )
Поэтому Пуск-Панель управления-Установка и удаление программ-Добавить/удалить компонент Windows-Сетевые сервисы-Тынц галочку у пунктов с UPnP и клиент поиска и управления интернет-шлюзами. Путь неточный, т.к. перевожу с английского - не люблю локализованные продукты.

Wizardaman
04-11-2008, 21:05
А дальше в emule. Ось-то какая? Виста или XP? Судя по скриншоту - XP на Самсунге )
Поэтому Пуск-Панель управления-Установка и удаление программ-Добавить/удалить компонент Windows-Сетевые сервисы-Тынц галочку у пунктов с UPnP и клиент поиска и управления интернет-шлюзами. Путь неточный, т.к. перевожу с английского - не люблю локализованные продукты.

сделал.
-Пожалуйста, подождите, идет проверка ваших портов eMule...
-85.235.223.49 (85.235.223.49)
-Тестируем TCP соединение...
-Тест TCP провалился! Нет смысла тестировать UDP.
не помогло
все правильно сделал? после "тынц" кнопочек в пунктов в трее значок рутера вылез и пропал

DfDf
04-11-2008, 21:47
сделал.
после "тынц" кнопочек в пунктов в трее значок рутера вылез и пропал

чтобы он там оставался, в сетевых подключения поставить галку "Показывать иконку в трее, когда подключен" у "Подключение к Интернету".
Там же в "Настройках" можно увидеть проброшенные порты.

PS. В роутере порт форвардинг убрали, надеюсь?

Wizardaman
05-11-2008, 06:23
Ну вроде все сделал как нужно, ан нет, не фурычит, что еще нужно подправить, а еще значок рутера так и не появляется, при загрузке он есть и "Подключение к интернету" висит в сетевых соединениях, но очень быстро пропадает и его заново не вытащить.

lagshmi
08-11-2008, 10:17
Как поставить и правильно настроить?
Заранее спасибо:-)

mikhail2013
02-11-2013, 19:46
Добрый вечер. Прочитал уже немало тем на этом форуме. Решения моей проблемы косвенно нашёл, но всё больно мудрённо. Вопрос в следующем, как при помощи графического интерфейса на роутере, без всяких там сложных команд открыть и настроить порты для программы Emule?

972197229723

Ничего не работает при этих настройках.

mikhail2013
02-11-2013, 21:03
Так ни у кого не получилось пробросить порты или все забили?