LINUX.ORG.RU
ФорумTalks

Поттеринг сломал мне интернеты

 , , ,


0

2

Привет, ЛОР, есть одна электрочиталка. Раздавал ей интернет с десктопа через usbnet. Полтора года всё работало, потом ВНЕЗАПНО перестало. Ничего не трогал, не менял - то за фигня? Ещё раз перепроверил - правила iptables в порядке, /proc/sys/net/ipv4/ip_forward - в порядке. Читалка с десктопа пингуется, десктоп с читалки пингуется. Но форвардиться пакеты не хотят. Два вечера тупил в iptables, -j LOG, -j TRACE - пакеты дропаются после nat prerouting. Что за лабуда? Уже думал, мой провайдер рехнулся и стал детектить NAT по TTL. Но нет, во всех виртуалках интернет как работал, так и работает. И наконец выясняю, что systemd-networkd в версии 220 ТИХО И НЕЗАМЕТНО стал отключать net.ipv4.conf.<интерфейс>.forwarding по умолчанию. То есть, sys.net.ipv4.forward = 1 в /etc/sysctl.conf теперь не работает. И вот ко мне приехали обдейты и починили исправно работающий интернет. Блджад, эти обмудки так и будут ломать всё, что ещё не сломано? Обратная совместимость - чеааа? Желаю им кроваво захлебнуться собственными кишками из ануса. И всему редхату до кучи. Хоть бы они уже отсудили себе копирайт на слово «линукс», чтоб все остальные его наконец-то форкнули и перестали тащить туда всякое говно.



Последнее исправление: leave (всего исправлений: 1)
Ответ на: комментарий от intelfx

Отдельная (от остальных компонентов systemd)? Да

Нет. Отдельной (от остальных компонентов systemd) она станет после того, как сможет работать без «компонентов systemd». Скажем, сможет работать с независимой (от авторов systemd) реализацией init.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

Нет на твоё «нет».

Согласно твоей логике, любая программа, использующая хотя бы один из системных вызовов ядра Linux, не является «отдельной от ядра Linux». Это заведомо не так, следовательно, где-то в твоих рассуждениях ошибка.

intelfx ★★★★★
()
Ответ на: комментарий от Manhunt

Вероятно, ты возразишь на тему того, что «системный вызов можно зареимплементить в другом ядре и программа продолжит работать». Но интерфейсы systemd тоже можно зареимплементить.

Помимо того, мы путаем понятия «отдельная программа» и «независимая сущность». Первое означает лишь, что оно представляет собой отдельный бинарь и выполняется в отдельном адресном пространстве (и это очевидно так). Со вторым уже есть вопросы: например, независимость в какую сторону?

Я утверждаю, что выполняется независимость в сторону «systemd не зависит от networkd». О независимости в обратную сторону (которой нет) исходно речи не шло.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

Вероятно, ты возразишь на тему того, что «системный вызов можно зареимплементить в другом ядре и программа продолжит работать».

Это не гипотетическая возможность, а использующийся на практике способ запуска таких программ: https://www.freebsd.org/doc/handbook/linuxemu.html

Но интерфейсы systemd тоже можно зареимплементить.

С практической точки зрения это бессмысленно, поскольку интерфейсы между компонентами systemd нестабильны. Лёня открытым текстом сформулировал это в отношении systemd-logind

Именно эта нестабильность и непредсказуемость делает networkd неотделимым от остального systemd. Systemd — это монолит, в том же смысле, в каком груда совместно развиваемых и вызывающих друг друга Си-шных функций является монолитом. Да, внутри у них там есть логическое деление, есть определенная структура, вот только отделить одно от другого не получится.

Я утверждаю, что выполняется независимость в сторону «systemd не зависит от networkd».

Ты хотел сказать, что реализация init из состава systemd пока ещё может работать без networkd? С такой формулировкой соглашусь.

Что же касается самого systemd, то вот тут английским по белому написано: «systemd is a suite of basic building blocks for a Linux system ..... include a ..... daemons to manage simple network configuration». Это явная зависимость, не так ли?

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от Manhunt

Это не гипотетическая возможность, а использующийся на практике способ запуска таких программ: https://www.freebsd.org/doc/handbook/linuxemu.html

Я не спорю.

С практической точки зрения это бессмысленно, поскольку интерфейсы между компонентами systemd нестабильны. Лёня открытым текстом сформулировал это в отношении systemd-logind

Ты обобщаешь один случай на все остальные.

Именно эта нестабильность и непредсказуемость делает networkd неотделимым от остального systemd.

Я не спорю с тем, что в текущем виде networkd нельзя запустить в системе без systemd. Вот только речь исходно шла совсем не об этом.

Ты хотел сказать, что реализация init из состава systemd пока ещё может работать без networkd? С такой формулировкой соглашусь.

Реализация init и все прочие компоненты. Да, именно об этом был мой первый комментарий в этом треде.

Что же касается самого systemd, то вот тут английским по белому написано: <...> Это явная зависимость, не так ли?

Не так. Ты опять путаешь systemd-как-проект и systemd-как-программу. Здесь сказано, что networkd входит в проект systemd, и ничего больше.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Ты опять путаешь systemd-как-проект и systemd-как-программу.

Ну так в ОП, очевидно, речь идёт про systemd-как-проект.

Manhunt ★★★★★
()
Ответ на: комментарий от intelfx

Ядро ОС это ж не простая программа, оно является опорой для всех программ вообще, иначе, пришлось бы писать внутри каждой прожки свое ядро, да и вообще, как бы они меж собой общались. Так что про ядро это мимо кассы.

А вот сисьдэ используя ядро, вендорлочит своими компонентами все основные штуки, не оставляя при этом альтернативы. Но это уже изъезженая тема, я не хочу в неё проваливаться. Скажу только, что меня пугает именно вендорлок сисьдэ, а не то что он удобен или не удобен.

deep-purple ★★★★★
()
Ответ на: комментарий от Manhunt

Да, но мы говорим про зависимость/независимость, а это понятие определено только между двумя программами (в отличие от понятия вхождения/невхождения).

intelfx ★★★★★
()
Ответ на: комментарий от deep-purple

Я-то понял и вынужден констатировать, что ты не прав. Вернее, прав, но то, о чём ты говоришь — нормальный процесс (и, на мой взгляд, очень даже правильный).

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

Я утверждаю, что выполняется независимость в сторону «systemd не зависит от networkd»

окей, на том и порешим. Но давай договоримся, что если через полгода networkd станет обязательным, ты признаешь, что твои слова не стоят ровным счетом ничего.

leave ★★★★★
()
Ответ на: комментарий от leave

Если networkd станет обязательным, я очень сильно удивлюсь, но как бы про будущее время я ничего не говорил и влияния на это самое будущее не имею.

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