Слип
Разработчик(и) | Дэнни Гаспаровски, Келли Прайс (оператор) |
---|---|
Первоначальный выпуск | 30 марта 1995 г. |
Стабильная версия | 1.0.17
/ 8 января 2006 г. |
Операционная система | Unix-подобный |
Платформа | учетная запись оболочки |
Тип | Коммутируемый доступ |
Лицензия | BSD-подобная модифицированная лицензия BSD из 4 пунктов |
Веб-сайт | slirp.sf.net |
Slirp (иногда пишется с заглавной буквы SLiRP ) — это программа которая эмулирует соединение PPP , , SLIP или CSLIP с Интернетом с использованием текстовой учетной записи оболочки . Его первоначальная цель в значительной степени устарела , когда выделенные коммутируемые соединения PPP и широкополосный доступ в Интернет стали широко доступными и недорогими. Затем он нашел дополнительное применение при подключении мобильных устройств, таких как КПК , через их последовательные порты . Еще один важный вариант использования — пирсинг/ переадресация портов брандмауэра . [1] [2] Типичное использование Slirp создает сетевое соединение общего назначения через сеанс SSH , в котором переадресация портов ограничена. Другой вариант использования — создание внешнего подключения для непривилегированных контейнеров.
Использование
[ редактировать ]Учетные записи оболочки обычно позволяют использовать только командную строку или программное обеспечение с текстовым интерфейсом , но, войдя в учетную запись оболочки и запустив Slirp на удаленном сервере, пользователь может преобразовать свою учетную запись оболочки в сетевое соединение общего назначения SLIP/PPP, что позволит им запускать любое приложение на основе TCP/IP , включая стандартное программное обеспечение с графическим интерфейсом, такое как ранее популярный Netscape Navigator на своем компьютере . Это было особенно полезно в 1990-е годы, поскольку простые учетные записи оболочки были менее дорогими и/или более широко доступными, чем полные учетные записи SLIP/PPP. [3]
В середине 1990-х годов многие университеты предоставили с коммутируемым доступом своим преподавателям, сотрудникам и студентам учетные записи . Эти соединения только через командную строку стали более универсальными благодаря SLIP/PPP, что позволило использовать произвольные приложения на основе TCP/IP. В Интернете было опубликовано множество руководств по использованию университетских коммутируемых соединений со Slirp. Использование программного обеспечения для эмуляции TCP/IP, такого как Slirp, и его коммерческого конкурента TIA , было запрещено некоторыми поставщиками учетных записей оболочки, которые считали, что его пользователи нарушают свои условия обслуживания или потребляют слишком много трафика . [4] [5]
Slirp также полезен для подключения КПК и других мобильных устройств к Интернету: подключив такое устройство к компьютеру, на котором работает Slirp, через последовательный кабель или USB , мобильное устройство может подключиться к Интернету. [6]
Ограничения
[ редактировать ]В отличие от настоящего соединения SLIP/PPP, обеспечиваемого выделенным сервером, соединение Slirp не подчиняется строго принципу сквозного соединения, предусмотренному набором интернет-протоколов . Удаленный конец соединения, работающий под учетной записью оболочки, не может выделить новый IP-адрес и направить на него трафик. [7] Таким образом, локальный компьютер не может принимать произвольные входящие соединения, хотя Slirp может использовать переадресацию портов для приема входящего трафика для определенных портов .
Это ограничение похоже на ограничение трансляции сетевых адресов . он может обеспечивать повышенную безопасность В качестве побочного эффекта , а также обеспечивать соблюдение политик и действовать как брандмауэр между локальным компьютером и Интернетом. [7]
Текущий статус
[ редактировать ]Slirp — это бесплатное программное обеспечение, лицензированное первоначальным автором по BSD-подобной модифицированной лицензии BSD из 4 пунктов. После того, как первоначальный автор прекратил его поддерживать, Келли Прайс взяла на себя обязанности сопровождающего. [8] После 2006 года выпусков от Келли Прайс не было. Сопровождающие Debian взяли на себя некоторые задачи по обслуживанию, такие как модификация Slirp для правильной работы на 64-битных компьютерах. [9] В 2019 году [10] более активно поддерживаемый репозиторий Slirp использовался slirp4netns для обеспечения сетевого подключения для непривилегированных контейнеров без root и виртуальных машин.
Влияние на другие проекты
[ редактировать ]Несмотря на то, что Slirp в значительной степени устарел, он оказал большое влияние на сетевые стеки, используемые в виртуальных машинах и других виртуализированных средах. Устоявшейся практикой подключения виртуальных машин к сетевому стеку хоста было использование различных механизмов внедрения пакетов . Raw-сокеты , являющиеся одним из таких механизмов, изначально использовались для этой цели, но из-за множества проблем и ограничений позже были заменены устройством TAP .
Внедрение пакетов — это привилегированная операция, которая может представлять угрозу безопасности , которую внедрение устройства TAP решило лишь частично. Реализация NAT на основе Slirp позволила решить эту давнюю проблему. Было обнаружено, что Slirp имеет полную реализацию NAPT в виде автономного кода пользовательского пространства , тогда как другие механизмы NAT обычно встроены в стек сетевых протоколов и/или не взаимодействуют с ОС хоста при выполнении PAT (используют собственный порт). диапазонов и требуют внедрения пакетов). Проект QEMU принял соответствующие части кода пакета Slirp и получил разрешение от его первоначальных авторов на повторное лицензирование его по лицензии BSD из трех пунктов. [11] Такое изменение лицензии позволило многим другим проектам FOSS использовать части Slirp, предоставленные QEMU, что было (и до сих пор) невозможно с исходной кодовой базой Slirp из-за проблем совместимости лицензий. Некоторые из известных последователей — проекты VDE и VirtualBox .
См. также
[ редактировать ]- PPP-демон
- Интернет-адаптер — коммерческий продукт, конкурирующий со Slirp.
Ссылки
[ редактировать ]- ^ Ридо, Франсуа-Рене (2001), Мини-HOWTO по пирсингу брандмауэра, Безопасное решение: пирсинг с использованием ssh
- ^ JDIMPSON (2008), pppsshslirp: создайте сеанс PPP через SSH с удаленным компьютером, к которому у вас нет прав root.
- ^ Джим Нобл (1 августа 1996 г.). «Почти Интернет с SLiRP и PPP» . Linux-журнал . Проверено 28 августа 2009 г.
- ^ Крейг Дж. Миллер (15 марта 1995 г.). «Межразумное обсуждение TIA на TENET» . Проверено 31 августа 2009 г.
- ^ «Обновление Интернета для всех (раздел 1.5)» . Фонд электронных границ . Сентябрь 1994 года . Проверено 31 августа 2009 г.
- ^ Келли Прайс. «Домашняя страница проекта технического обслуживания Slirp» . Проверено 31 августа 2009 г.
- ^ Jump up to: а б Глен Ризор (21 февраля 2001 г.). «Мини-HOWTO по эмулятору SLIP/PPP» . Проверено 29 августа 2009 г.
- ^ Келли Прайс. «Часто задаваемые вопросы по Слиппу» . Проверено 28 августа 2009 г.
- ^ «Список журнала изменений Debian» . Проверено 28 августа 2009 г.
- ^ «Релизы — rootless-containers/slirp4netns» . 04.01.2019.
- ^ «[Qemu-devel] Удалите пункт о рекламе из лицензии slirp» .
Внешние ссылки
[ редактировать ]- Slirp Maintenance Project , официальный сайт последних версий Slirp.
- Последняя версия Slirp (1.0.17) от Debian