LINUX.ORG.RU

А может кто уже кропал такую штуку: два последовательных девайса, связанных друг с другом, НА ОДНОЙ МАШИНЕ


0

0

Нужно это для отладки plugin-а к pppd. Т.е. нужно, чтобы два pppd связывались друг с другом, но на одной машине (чтобы не соединять две разных машины нуль-модемным кабелем). Как мне видиться, нужно написать модуль для ядра, который будет перекидывать символы с одного своего "порта" на другой?

anonymous

Вы будете удивлены, наверное, что такой драйвер уже есть, называется: псевдотерминалы. Другое дело, что pppd по логике и практике на одной тачке поднимается, только не работает (т е пакеты по правилу рутинга идут от программы не через "шнурок", а сразу нужному интерфейсу внутри ядра, минуя pppd.).

vodz ★★★★★
()

А как их юзать? Мне не надо, чтобы пакеты шли, лишь бы фаза auth-up,ip-up была (т.е. до выдачи адресов).

anonymous
()

Кстати, я кажется, придумал. Надо взять машину с 2-мя компортами, соединить их нульмодемным шнурком и на осносной машине запустить dialin, а на vmware-овской гостевой машине dialout через другой com-порт. Будет работать; для чистоты эксперимента можно оторвать у гостевой ОС доступ к езеру.

vodz ★★★★★
()

Мля, а если нету ресурсов для вари? Неужели ничего сделать нельзя?

anonymous
()

Можно, написать свой user-level TCP/IP стек и либу для работы с ним, что-то типа socks и переписать pppd в user-level для поднятия этого виртуального стека. Оно вам надо? ;-)

vodz ★★★★★
()

Да кстати, мой дистрибут на дискетке требует ресурсов: 8Mb ОЗУ и 386-ю тачку. Какие нафиг суперные ресурсы под vmware? Или вы плугин под NT написали? ;)

vodz ★★★★★
()

Вы про какой дистрибутив? Vmware? Что-то я сильно сомневаюсь насчет 8 мегабайт. Видел лично, как все это говно тормозит под 64. А вообще хреново, что пакетики от пппд куда-то там "не туда" идут. ж( Причем тут тцп-стек? Задача дурацкая, примерно такого же уровня, как и loopback драйвер.Линух и тут сосет 8(.

anonymous
()

Нуу, это уже становится не интерессно разговаривать в таком ключе. Или это другой anonymous? Тормозит vmware если вы выдали под guest-OS максимально-возможное количество памяти - половину имеющейся Но кто вас это заставляет делать? Или вас не устраивает ~30% падение по CPU. Причем тут loopback? Все работает как надо. Если вы про перенаправление траффика, то это работает если пакеты идут извне, если внутри, то понятно, что как раз ваша задача через него (loopback) и будет работать, минуя pppd.

vodz ★★★★★
()

я думаю, два pppd вполне могут связываться друг с другом через pipe, так как они без труда работают с stdin

anonymous
()

Мля, действительно, становиться не интересно разговаривать. Мне нафиг не нужна вмваре, ее выкачивание и настройка. Мне нужно, чтобы два пппд работали друг с другом на одной машине. И ВСЕ. Если это нельзя сделать стандартными средствами (без всяких вмварей и прочего виртуального дерьма), следовательно линукс - сосет в данном вопросе. Потому как перелапачивать пол-ядра для такой пустяковинки нет смысла.

anonymous
()

Дяденька, ваша задача - дерьмо. Думать вначале надо, прежде чем выражаться. Последний китайский раз - pppd поднимаются, хоть через stdin, хоть через задницу. НО, пакеты через него не идут, и это ПРАВИЛЬНО: пусть есть тестовая задача, которая генерит траффик на некоторый адрес. Откуда ядру знать, что надо пустить эти пакеты не на адрес ppp1, у которого как раз он (этот адрес) и стоит в интерефейсе, а на адрес ppp0, а уж после него оно через этот ppp0 (через вашу черезжопную задачу) попадет на ppp1? Мдааа.

vodz ★★★★★
()

Странный вопрос. Откуда ядру знать, на какой: eth0 или eth1 послать пакет,а? В чем отличие для ппп? Тем более, что даже если в ЭТОМ ГОВЕННОМ ЛИНУКСЕ, КОТОРЫЙ НЕ ЗНАЕТ РАЗНИЦЫ МЕЖДУ ppp0 и ppp1 не идут ip-пакеты, это не так страшно - мне надо чтобы lcp-пакеты шли. И устанавливался pppN. Дальше уже пофигу, идет - не идет... А ваших претензий я так и не понял - можно конечно простить ядру, что он не знает, как перекидывать пакеты с ppp0 на ppp1 без доп.драйвера. Но если он не знает разницы между ними... п.с. в сорцах ядра не копался, так что не судите строго.

anonymous
()

И с eth тоже самое, если адрес принадлежит одному интерфейсу, то пакеты внутри одной взятой машины пойдут напрямую (причем через looback), а не будут идти ЧЕРЕЗ чего-то. Вот если устроить дополнительный внешний рутер, тогда можно сделать любое кольцо. Про то что вам надо протестировать только lcp я уже вам сказал, что получится.

vodz ★★★★★
()

И что получится? С утра башка плохо варит, просвяти.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.