Comments 50
В неумелых руках это уязвимость, я предпочитаю использовать для экспериментов отдельные виртуалки Hyper-V.
Нельзя в одну упряжку впрячь и Окна и пингвина. Ибо сие несуразно есть. ;-)
Ну добавят они автоматическое и, скорее всего, кривое копирование правил из винды в iptables — легче будет разве? По-моему, то, что они не стали влезать в iptables фича, а не баг.
По-моему, установивший wsl человек должен сам понимать, что делает.
Почему должен понимать? Я вот недавно качал докер для десктопа, там написано было обновить wsl2, про политики фаерволов ни слова
Почему должен понимать? А почему не должен?
имхо если уж ты берешь в руки нож (wsl2), то должен понимать, что можно порезаться. Берешь докер — тоже нужно понимать, что это не виндовый инструмент.
Давайте повышать уровень осознанности и делать систему для умных, а не для дураков. А то так можно дойти до выпуска только тупые ножей, чтобы никто не порезался.
Вы не поверите… Google "столовые ножи Ришелье".
сорри, а вы хотите, чтобы вам на каждой микроволновке писали "кошек сушить нельзя"?
Меня пугает, что конечный пользователь не хочет думать самостоятельно, а ждет, что за него обо всём подумают авторы, производители, любой кто-то другой, но не он сам.
Разве wsl2 дырявая?
А в этой вашей книге случаем не написано, что докер дырявый? Или Linux ядро? Зачем вам знать о конфигурировании Linux, о каких-то там namespaces, cgroups, следить за появлением уязвимостей. Почему RedHat не поставляет готовых конфигов.
А докер и в wsl подчиняется правилам линуксового файрвола. Внезапно потому, что докера не существует вне Linux. А так берите выше, что уж там. Любая линуксовая программа в wsl2 тогда должна подчиняться виндовым политикам, а дефрагментатор должен уметь ext4.
Ну так не уводите тогда тему. Должна ли винда уметь фильтровать трафик глобально от wsl2 — да должна. Должна ли она понимать, что в wsl2 выполняется и понимать во всякие докеры — нет не должна. Так понятно?
Вы не можете понять почему в ветке комментариев про докер, я пишу о докере?
Вас не смущает, что компонент винды проверяли на дистрибутиве Ubuntu?
Ну то есть внезапно оказывается, что Ubuntu — это компонент винды?
Архитектура поменялась. Раньше было взаимодействие через ядро Windows (и wsl БЫЛ компонентом Windows), а теперь взаимодействие идет через виртуальную сеть. Логично, что теперь это другое взаимодействие и теперь wsl2 — это виртуалка внутри Windows. Зачем вы хотите убедить пользователей, что это должно быть не так? Зачем вы хотите, чтобы wsl2 был компонентом Windows, когда по сути он таковым не является. Смотрите ниже, как из wsl2 нельзя достучаться до хоста по 127.0.0.1. Это тоже править?
Или пусть лучше пользователи осознают разницу между wsl и wsl2?
Посмотрите на первый комментарий к этой статье. Потому что не всем нужно то, что нужно вам.
Если вы не понимаете сути wsl2, и не хотите даже разбираться как оно работает, то не стоит называть его дырявым. Скорее это дырявая винда, которая не умеет пользоваться wsl2.
Вы так рассуждаете, словно это единственная потенциальная уязвимость в винде.
Почему должен понимать?
WSL это инструмент не юзера, а инструмент разработчика.
А чем разработчику Linux не подходит?
Linux, несмотря на все усилия предпринимаемыми десятилетиями уже, всё равно отстает по удобству от MacOS и Windows.
Это конечно не означает, что пользоваться Linux совсем нельзя.
Но до сих пор приходится сталкиваться… вот нужно было мне подключиться к интернету в дороге через сотовую связь — в Linux для этого пришлось кучу танцев с бубнами проделать (для которых, к слову, нужен доступ к интернету для инструкций), потратил 3 часа, плюнул, перезагрузился в Windows и
все заработало сразу.
И да, в Linux это не завелось ни через Wi-Fi ни через прямое подключение к смартфону по кабелю, ни через прямое подключение к USB-модему. В Windows всё заработало сразу же для любого из трёх упомянутых выше способов. Железо хорошее и не старое. ОС Linux свежая.
P.S.:
Плотно использую unix-системы с 2004 года как админ и как разрабочик.
Полагаю, я всё же смог бы разобраться, если бы потратил еще времени. Но у меня есть куда потратить эти часы времени. На работу. Или на хобби. Или на семью. Или на спорт.
Но не на то, чтобы бороться со своим инструментом.
И какова целевая платформа разработки?
Если целевая платформа десктопный Linux с GUI, то тут и вопросов нет, нужно использовать для разработки Linux. Но это не про WSL.
WSL — это про то если целевая платформа серверный Linux.
И тут использование локального Linux далеко не всегда помогает.
Даже нередко вводит в заблуждение типа «а у меня всё работает, почему у вас там на сервере не работает — не знаю».
Просто потому что софтовая конфигурация сервера серьезно отличается от конфигурации Linux'a разработчика. Другое ядро, другие установленные пакеты, другая конфигурация системы.
Для идеальной проверки как будет функционировать разрабатываемое вами ПО на Linux-сервере вам всё равно нужно тестировать это ПО в изолированной среде (типа Docker хотя бы или в полноценной виртуальной машине).
Так что на чем разрабатывать — не зависит от целевой платформы.
Исключение только разработка под десктоп Linux, тут разумно использовать Linux и разработчику.
И да, в Linux это не завелось...ну тут есть положительная обратная связь — доля линукса маленькая, поэтому разработчики забивают на linux-версии софта/драйверов, поэтому на линуксе работает не всё или через жопу, поэтому линукс не подходит для пользователей, поэтому доля линукса маленькая… Дело не в том, что линукс плохой, а в монополии MS. Собственно, именно ради сохранения status quo MS вместо поддержки posix делают WSL.
И да, в Linux это не завелось…
ну тут есть положительная обратная связь — доля линукса маленькая, поэтому разработчики забивают на linux-версии софта/драйверов, поэтому на линуксе работает не всё или через жопу, поэтому линукс не подходит для пользователей, поэтому доля линукса маленькая…
Да какая разница рядовому пользователю, у которого отладка Линукса — не хобби? Какая ему разница объективная там причина или необъективная?
очень странно, что у вас не завелся интернет в Linux.
А что это был за дистрибутив?
Я ещё хочу заметить, что криворукие разработчики очень часто верстали сайты под IE6 в те далекие времена, когда трава была зеленее.
Боюсь, что вы либо нарвались именно на таких разработчиков, которые умеют только в винду, либо выбрали линукс, который не умете готовить. Ну или нашли единичные грабли, которые никак не отражают общей тенденции.
У меня был обратный случай: Win Vista на ноуте отказывалась подключаться к любому WiFi, который ей был неизвестен. Ну то есть примерно 6-8 точек можно было добавить в список, а потом как отрезало. И помогал только сброс до заводских настроек.
И что? Теперь винда — это никуда не годный кусок дерьма?
Кстати, вам напомнить, что если вы хотите мультизагрузку, то виндовый загрузчик не умеет устанавливаться рядом с линуксовым? Как думаете, это потому что винда такая мегаудобная, что другие ОС не нужны в принципе?
А что это был за дистрибутив?
Ubuntu
либо выбрали линукс, который не умете готовить
Я на юниксах с 2004 года.
Но сам факт, что в 2020 году Ликус все еще, согласно вашим словам, «нужно уметь готовить», хотя у нормальных ОС такие банальные вещи заводятся из коробки — в этом и проблема.
ОС — давно уже инструмент не только для разработчика, а для простого пользователя.
Не должно быть таких проблем даже рядом.
Не хочу я тратить время борьбу с ОС. У меня другие хобби.
И поэтому я выбираю ОС, что экономит мне кучу времени в своей настройке.
Но если кто-то любит ковыряться в своей ОС, — не возражаю. Это его личное дело.
Странность в том, что я вот только сегодня раздал интернет с андроида на ноут со свежей Ubuntu через WiFi. И заняло это не больше пяти минут. Либо ваш опыт сильно устарел, либо вы вытались делать это каким-то нетрадиционным способом в силу профдеформации. Либо на Ubuntu вы раздавали инет, которого не было, а появился прием как раз тогда, когда вы загрузили Винду.
Ваш частный опыт ни разу не подтверждает, что Ubuntu хуже Win10.
Я знаю тех, кто не ездит в метро, потому что заболевает. У них сила самоубеждения слишуом велика. Мне кажется у вас такое же предвзятое отношение к Linux.
Если бы MS на ставила палки в колеса с документами, загрузчиком, входом в домен для почты, то многие разработчики сидели бы под линуксом и горя бы не знали.
Моя точка зрения.
Ваш частный опыт ни разу не подтверждает
Как и ваш частный опыт не подтверждает обратного.
Так я на основе своего опыта не делаю категорических утверждений типа "виндовый десктоп для людей, а линуксовый — для гиков и не ценящих свое время".
Мне кажется, что такое утверждение ни на чем не основано в 2020.
А ведь вас читают молодые люди. И они потом с пеной у рта могут отстаивать вашу категоричную точку зрения.
Так я на основе своего опыта не делаю категорических утверждений типа «виндовый десктоп для людей, а линуксовый — для гиков и не ценящих свое время».
У меня порядка 15 лет опыта подъема десктопов на X11 и пр. друзьях Linux.
Должен констатировать, что и сейчас всецело полагаться на десктопный Linux нельзя.
В ситуациях с проверенным кругом ПО/железа Linux вполне юзабелен.
Чего нельзя сказать про общий случай.
Но своя ниша у Linux есть.
1) поддержка Линукс сильно зависит от железа, где-то всё работает из коробки, а где-то нет.
2) ну и заявлять что Windows из коробки работает всегда — это тоже не правда.
Конечно, есть разные вероятности.
Ну вы же знаете истину.
Где больше и лучше поддержка, а где больше вероятность нарваться на проблемы.
P.S.:
На серверах у меня всё прекрасно работает на FreeBSD/Linux еще с 2004.
Но на десктопе.
Делал уже множество подходов в разные годы.
Всё надеялся, что вот уже допилили.
Но то модем, то принтер, то какой софт, то еще какие-то проблемы.
Linux хорошо работает, но только в довольно узком диапазоне.
Ну так я ставил wsl для докера, а не сам по себе
По IP на 127.0.0.1
Подозреваю, нужно какой другой адрес указывать. Руки не доходили разобраться.
Но может кто знает готовое решение?
Ну или скриптом доставать адрес из resolv.conf (автогенерируемого).
Посмотрите, какой адрес назначен вашему компу в соответствующей виртуальной сети и используйте его. В моём случае адаптер называется vEthernet (WSL) и имеет адрес 172.22.80.1 с маской 255.255.240.0.
В моем же случае пинговать даже локальную Windows из под WSL не получается. Хотя к глобальной сети доступ из под WSL есть.
Проблемы перевода и громких заголовков, увы. Не распространяются правила исходящих соединений. С точки зрения файрвола и всех систем ваша WSL — отдельный компьютер. Соответственно, входящие соединения от WSL файрволом фильтруются. По этой же причине и не работает 127.0.0.1 — для WSL по этому адресу отвечает сама WSL, а для основной системы — основная система.
Интересно, когда вирусы начнут поднимать wsl и частично жить там…
Как там с другими виртуалками с этим же гипервизором, ограничивает ли Win10 их трафик?
WSL1 был без гипервизора, там естественно все соединения проходили через систему.
В частности, именно первичный раздел (кроме случая редко AFAIK установленых на клиентских ПК сетевых адаптеров с SR-IOV) реализует всю функциональность виртуального коммутатора, направлющего трафик в нужную VM. Так что, весь сетевой трафик WSL2 проходит через Win10. Более того, в Windows для коммутатора Hyper-V (extensible switch) уже реализована возможность фильтрации этого трафика через стандартную WFP (которую, в частности использует и брандмауэр Windows).
Так что отказ от фильтрации трафика WSL2 через бранмауэр Windows вызван не технической невозможностью а решением производителя Win10, возможно — просто из-за нежелания тратить ресурсы на модификацию кода брандмауэра.
С помощью подсистемы Windows для Linux 2 (WSL2) обходятся ограничения штатного файервола Windows 10