Slashdot Mirror


SystemD Gains New Networking Features

jones_supa writes A lot of development work is happening on systemd with just the recent couple of weeks seeing over 200 commits. With the most recent work that has landed, the networkd component has been improved with new features. Among the additions are IP forwarding and masquerading support (patch). This is the minimal support needed and these settings get turned on by default for container network interfaces. Also added was minimal firewall manipulation helpers for systemd's networkd. The firewall manipulation helpers (patch) are used for establishing NAT rules. This support in systemd is provided by libiptc, the library used for communicating with the Linux kernel's Netfilter and changing iptables firewall rulesets. Those wishing to follow systemd development on a daily basis and see what is actually happening under the hood, can keep tabs via the systemd Git viewer.

42 of 553 comments (clear)

  1. Fuck Me by MightyMartian · · Score: 5, Interesting

    Christ almighty, this beast is a fucking monster. What's next, a shell and a userland?

    Glad I'm heading to FreeBSD. Linux is going down the tubes.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
    1. Re: Fuck Me by chill · · Score: 5, Funny

      Shell and userland? What do you think it is, Emacs?

      --
      Learning HOW to think is more important than learning WHAT to think.
    2. Re:Fuck Me by Trepidity · · Score: 4, Informative

      You might be surprised to find that FreeBSD's jails have their own network-virtualization features too.

    3. Re:Fuck Me by MightyMartian · · Score: 5, Insightful

      I'm sure they do. But FreeBSD doesn't have a massive init system intruding itself into every single aspect of the operating system.

      Just what the fuck is SystemD supposed to be?

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    4. Re:Fuck Me by mlts · · Score: 5, Informative

      I try to stay out of the systemd fray... but it goes against the core of UNIX... which is the KISS principle.

      Init should start tasks, possibly stick them into jails or containers, and set resource limitations. Having something do everything including the kitchen sink is just asking to get hacked down the road unless millions of dollars are spent on source code audits.

      As an IT person, results are important. What does systemd provide that previous mechanisms didn't. Parallel startup? I don't boot servers that often where asynchronous startup of processes is a big issue. Resource limits? Doable with the shell script that gets plopped into /etc/rc.d. I'm just not seeing the benefit, but what I am seeing is a gigantic amount of code which touches the entire system, giving me concerns about security and stability, and there have been a number of articles on /. about systemd, to the point where people are even forking distros just so they don't have to deal with it.

    5. Re:Fuck Me by phantomfive · · Score: 5, Informative

      Just what the fuck is SystemD supposed to be?

      A services manager, actually. It starts and stops services on the system, and if they go down, it optionally restarts them. The fact that many services need to start when the system starts is somewhat incidental to the purpose of systemD.

      On top of the services manager, they've built a lot of services. Here is the video that explains launchD, which is heavily copied by systemD.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:Fuck Me by MightyMartian · · Score: 4, Insightful

      I want an init system. I cannot fathom why an init system needs to do IP forwarding and routing.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    7. Re:Fuck Me by Trepidity · · Score: 4, Informative

      It's a process supervisor / service management system. Booting the machine isn't really the most difficult job of such a system, just the special case of starting some things on boot. More of the work goes into the non-boot case, and at the moment a lot of interest is in container-based virtualization. The kernel cgroups system provides the basic primitives for building such systems: hierarchical process groups, resource limits, etc., but you need a userspace layer to make it usable, e.g. managing creation/destruction of containers (and their associated networking, resources, etc.). Systemd is the userspace layer.

      There are fairly similar approaches in other Unixes, though with pros and cons. Solaris uses SMF, and OSX uses launchd, both of which replaced more old-school shell-script-based systems for similar reasons. FreeBSD has toyed on and off with porting launchd from OSX, but the porting effort stalled. For the moment it relies on a more "DIY" solution where it's up to the sysadmin to maintain a tangle of shells scripts plugging things together, e.g. integrating jail management with resource constraints (RCTL), services, and networking. All the pieces are there, but either you write your own shell scripts to glue them together, or you can use something like cbsd. That has some pros and cons as well.

    8. Re:Fuck Me by MightyMartian · · Score: 5, Interesting

      Yes, I can see it now. A stripped Linux kernel will boot, and then in turn will boot the SystemD-OS. The whole thing will be like DOS 3.3 and Windows 3.1, except CONFIG.SYS and AUTOEXEC.BAT will be binary files that require special userland tools to decode and manipulate.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    9. Re: Fuck Me by unixisc · · Score: 5, Funny

      Couldn't we port Emacs on SystemD and have a complete OS?

    10. Re:Fuck Me by Anonymous Coward · · Score: 5, Funny

      the fact that systemD integrates itself so closely with my GNU^H^H^HSystemD/Linux as PID 1 with a crapload of bloat (that leads to irrecoverable crashes that are marked as wontfix), is against the unix philosophy of doing one thing and doing it good.

      Sounds like it does do one thing and one thing well: break systems and cause giant slashdot threads. Oh wait, that's two things. It does need more focus after all.

    11. Re:Fuck Me by phantomfive · · Score: 5, Informative

      No, it's not, you're wrong. It's ripping off OSX's launchD. He's an Apple copier, not a Microsoft copier (and as far as system design goes, that is much, much better; launchD is infinity times cleaner than Service Control Manager).

      --
      "First they came for the slanderers and i said nothing."
    12. Re:Fuck Me by sexconker · · Score: 4, Funny

      I'm not sure, but it will soon have an email client/server and the ability to publish PDFs.

    13. Re:Fuck Me by ArsonSmith · · Score: 4, Insightful

      Umm, installing SystemD is the trendy thing to do. Criticizing it comes from the learned wisdom of people that have been doing this for a very long time.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    14. Re: Fuck Me by irussel · · Score: 5, Funny

      you would still need a decent text editor.

    15. Re:Fuck Me by Guy+Harris · · Score: 4, Informative

      Apparently, you're the idiot, because the fact that systemD integrates itself so closely with my GNU^H^H^HSystemD/Linux as PID 1

      The features discussed by this article aren't implemented in a program that runs with a PID of 1.

      I wish a different name had been chosen for the project that includes, as one of its components, an init daemon named "systemd"; it probably would have avoided some bad press and confusion.

      Perhaps those other components were designed under the assumption that the daemon named "systemd" would start them, tying them to that daemon, so maybe that's the rationale for calling the project "systemd" (or "SystemD").

    16. Re:Fuck Me by BronsCon · · Score: 5, Interesting

      Even worse, try requiring LDAP (not just making it an option when an account isn't found locally, actually requiring it) for logins on a system booting via SystemD. Have your recovery media handy, you'll have to boot from it in order to remove the LDAP requirement when SystemD can't su because the network isn't up yet (or, if the LDAP server is localhost, slapd hasn't started because, guess what, it needs to su to its configured user during its init process).

      Major issue affecting Ubuntu and, as far as I know, all Debian-based systems. The workaround should be simple: allow local account logins right up until TTYs actually become available, regardless of configuration. But, apparently, LDAP isn't considered important, so this has been an issue for as long as Debian has used SystemD and will likely remain so until Debian moves on to something else.

      The current "recommended" workaround is a pair of ifup/down scripts that requires LDAP when the interface is up and makes it optional when it interface is down, which is great until your system crashes or you lose power and the "optional" config doesn't get applied. Then, it's time to whip out the recovery media so you can manually change the config and have a bootable system again. Needless to say, I refuse to implement that hack of a fix.

      Instead, I ended up leaving LDAP optional, with a single user able to sign in, locally only, who can only su, and a local admin account that can only sudo and su, but can't log in. At least that minimizes the risk of not being able to unilaterally change either user's password across multiple systems in a timely manner; an attacker knowing the password for the user who can log in locally would have to be at the machine, and they still couldn't do anything without also knowing the username and password of the user who can sudo+su. In the end, I guess I get the benefit of being able to log in to said machines even when the LDAP server is unavailable, but it still shouldn't be necessary to implement such workarounds.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    17. Re:Fuck Me by Trepidity · · Score: 4, Informative

      Putting it in pid1 is mostly driven by cgroups (the Linux kernel's hierarchical process-grouping/resource-management system). The initial kernel design for cgroups was that it was a shared resources managed via a pseudofilesystem (cgroupfs), but the developers of that subsystem seem to have decided that design was unworkable, and are moving towards a design where there can be exactly one userspace controller of the cgroups system at any given time. That more or less has to also be the process supervisor, or else you can't really do sensible things with tying resource-management to services (and increasingly, containers). And that all has to happen when the system is brought up, too. So either it needs to be in PID1, or it needs to be in several PIDs that are tightly coupled via an IPC mechanism. The systemd designers consider the second design more complex and error-prone. See e.g. here, plus a third-party comment here.

    18. Re: Fuck Me by turbidostato · · Score: 4, Funny

      "Couldn't we port Emacs on SystemD and have a complete OS?"

      You'd still lack a decent editor.

    19. Re:Fuck Me by Anonymous Coward · · Score: 5, Insightful

      Or the echo chamber could be wrong about PID 1.

      Like all great lies, it includes a bit of truth:

      1. More lines of code equals more bugs.
      2. The systemd project has lots of lines of code.
      3. PID 1 must be super reliable or bad things will happen.

      So far so good right? Stay tuned for the lie:

      4. All of systemd is in PID 1. Therefore systend's PID 1 must be buggy and dangerous.

      It's about as right as including Bash's line count in a discussion about sysvinit PID1. But don't take my word for it. Echo on bro.

    20. Re:Fuck Me by allfieldsrequired · · Score: 4, Interesting

      As an IT person, results are important. What does systemd provide that previous mechanisms didn't. Parallel startup? I don't boot servers that often where asynchronous startup of processes is a big issue. Resource limits? Doable with the shell script that gets plopped into /etc/rc.d. I'm just not seeing the benefit, but what I am seeing is a gigantic amount of code which touches the entire system, giving me concerns about security and stability, and there have been a number of articles on /. about systemd, to the point where people are even forking distros just so they don't have to deal with it.

      Thank you, these are pretty much exactly my thoughts as well. I am very happy that all the systemd people have found a project to be productive in, and I appreciate some of the things they are trying to do. However, I run a large server farm, I don't need any containers, I don't need parallel boot, and so far, I have seen that they are highly adept at politicking their way into acceptance by various mainstream distro's as a default, and sometimes only init system.

      I recently had to recompile Nginx on Ubunty Trusty in order to add some module, and this broke due to an unsatisfied systemd library dependency. Wait, what? Nginx now magically needs to be linked to systemd to compile? The madness is complete in my eyes.

      I have since started playing around with Alpine Linux, which is a breath of fresh air in many ways, and barring any unforeseen issues, we will probably slowly migrate our fleet to Alpine. I resent the fact that I am forced to divert time, effort, and resources away from our jobs to deal with this shit. Part of my motivation in using Linux extensively is freedom of choice. The choice to go and roll my own distro isn't the kind of choice I signed up for though. Ubuntu was mostly nice, mostly functional, mostly stable and has mostly up to date packages for everything I need. With Debian, and so Ubuntu, chosing SystemD as a default, and especially looking at all the acrimony surrounding the issue in Debian, I am very fucking worried about where Linux is going to go in the next few years.

      I wish I had more time to get into BSD....

    21. Re:Fuck Me by Barsteward · · Score: 4, Informative

      It does have a built in logger that stores in binary but you can still have rsyslog running as per normal if you wish to configure it so you are not stuck with binary only logging. The binary logging is on operation long before rsyslog can be started and long after it finishes and its more comprehensive. Thats the lovely bit about configuration

      --
      "The hands that help are better far than lips that pray." - Robert Ingersoll (1833-1899)
  2. Re:Will SystemD feature creep ever stop ? by 0123456 · · Score: 4, Funny

    I heard the new SystemD Office word processor will be awesome.

  3. Re:Will SystemD feature creep ever stop ? by MightyMartian · · Score: 4, Insightful

    SystemD is the joke that isn't funny. This is just getting ridiculous. Pottering and his band of evil worms are literally trying to intrude their piece of shit Window-esque system into absolutely every corner of Linux. I'm getting out of LInux entirely. If I wanted to run Windows, I'd run fucking Windows.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  4. systemd... by aardvarkjoe · · Score: 5, Insightful

    systemd seems dead set on becoming an alternative operative system.

    Which wouldn't be a bad thing if it wasn't ruining perfectly good operating systems like Debian while it grows.

    I've stuck with Debian for a pretty long time (since around 2000) mostly because I know how everything works. But in the last year running testing, more and more frequently I'll find that something has been yanked out and replaced by something harder to use and understand. Maybe it's finally time to switch to BSD instead.

    --

    How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
    1. Re:systemd... by MarkRose · · Score: 4, Informative

      Routers are probably the first thing you want to change. I don't use FreeBSD, but it features zero copy networking for insanely fast routing, which Linux does not.

      --
      Be relentless!
  5. Re:Will SystemD feature creep ever stop ? by MightyMartian · · Score: 5, Funny

    Just wait for SystemD VM Hypervisor. It will be SystemDs all the way down.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
  6. I love /. clickbait by MikeTheGreat · · Score: 4, Funny

    Y'know, for all it's flaws, warts, and Dice-y-ness, I think it's a good sign that the clickbait here is stuff about systemd.
    Seriously - on other websites they'll drive up pageviews by posting something like "This just in: politicians you disagree with are EVIL!! EEEEEEVIIIIIL!".

    What whips up the /. crowd into a frothy frenzy?
    Systemd :)

  7. New mobile OS by Russ1642 · · Score: 4, Funny

    Samsung is coming out with a new line of phones that run SystemD instead of Android.

  8. What has happened to Linux? by Anonymous Coward · · Score: 5, Interesting

    What the hell is happening to the Linux ecosystem?

    I've been a user of it for a couple of decades now. Although it wasn't perfect, for years it provided a better environment for me than Windows or even OS X could provide.

    But that's really started to change maybe within the past 5 years. The first major debacle I can think of is GNOME 3. They went out of their way to ignore everything good about GNOME 2, and instead forced all sorts of stupid ideas upon us.

    Firefox is the next debacle I can think of. It's a lot like GNOME 3 in many ways. There was a good, reliable, usable browser in Firefox 3.5. Then it all went to hell in Firefox 4 and beyond.

    Now we have systemd, which is obviously dumb in pretty much all respects. It just doesn't fit within the Linux ecosystem at all. That's probably why it's so disruptive.

    What makes systemd worse, though, is the impact it has had on pretty much all of the major Linux distros. Pretty much all of the most usable and useful ones (sorry, Slackware, this excludes you) have switched to it, with horrible results.

    The stability of my Debian testing system has gone down the shitter since they switched to systemd some time ago. I've had more problems properly booting my system in the past six months than I had in the 15 years prior to systemd getting installed.

    I'm torn at this point. I'm probably going to buy a Mac and move to OS X for my personal system, while moving all of my servers over to FreeBSD as soon as I can. I'm pretty sure that I'm done with Linux at this point. I just don't think the ecosystem can be salvaged. So much good software has been ruined.

    1. Re:What has happened to Linux? by amiga3D · · Score: 5, Insightful

      I think they intend to bring stability and unity to Linux by eliminating modularity and choice.

  9. Noob developers don't know when to stop coding by Anonymous Coward · · Score: 4, Insightful

    When the only tool you have is a hammer, every problem is a nail.

    Noob coders who simply throw more and more code and "problems" are a perfect example. They don't know when to stop coding up solutions in search of problems.

    Systemd devs are a perfect example.

  10. Re:Will SystemD feature creep ever stop ? by Anonymous Coward · · Score: 4, Informative

    I've already had it fail to boot on one system and fail to shut down on another. It failed to unmount disks because they were "in use" by systemd, and this resulted in filesystem corruption on the hard power-off.

  11. Systemd has been great for *BSD. by Anonymous Coward · · Score: 4, Interesting

    Systemd is truly the best thing that has ever happened to the BSD community.

    Systemd alone is making Linux totally unsuitable for serious use. So what are people doing when a formerly-stable distro like Debian adopts systemd and becomes a disaster? They're moving to FreeBSD, OpenBSD, NetBSD, Dragonfly BSD and PC-BSD.

    Just today we find out that DigitalOcean now supports FreeBSD. There's clearly a very bright future ahead for the BSDs.

    And it's clear now that Linux is on its way out. While Linux and Linux systems will still be around for some time, of course, everyone important who made Linux great in the past is fleeing from it. We're moving to BSD, because unlike the Linux community, the BSD community does things right. Something like systemd would never be taken seriously by them.

    1. Re:Systemd has been great for *BSD. by Aighearach · · Score: 4, Insightful

      I hope so, it is always nice for a big group of haters to have a mass-migration. It is a lot healthier than to stay and whine. Those that leave can enjoy their greener grass, and those that stay have them off the lawn. Everybody wins.

      If you hate systemd, don't use it. Problem solved!

  12. FYI: FreeBSD now available on Digital Ocean by CrashNBrn · · Score: 5, Interesting

    I asked a few months back now, about the possibility of BSD on Digital Ocean due to all of the SystemD shenanigans of late. Got an email notification today that FreeBSD droplets are now available on Digital Ocean. It will be interesting to see if other VPS/Linux providers follow suit.

    CB.

  13. Re:Will SystemD feature creep ever stop ? by knorthern+knight · · Score: 5, Informative

    > Why do you care how other people build their Linux systems?

    I don't. If Poettering and company had simply forked GNOME Lenna-X off of GNU Linu-X, there wouldn't be all this complaining. The problem is that Poettering and company have hijacked mainstream linux that almost all linux users use and changed it into something unrecognizable. udev is now built into systemd. The "udev install process" on Gentoo consists of building systemd, but only installing the udev portion. That's why the eudev fork. And some people are running with busybox/mdev in place of udev.

    Then there's also dbus, which is being rammed into the kernel. Gnumeric was a great spreadsheet a couple of years ago. But now it's picking up GNOME dependancies all over the place, including dbus. And Skype now requires PulseAudio, another piece of crud from Lennart.

    --

    I'm not repeating myself
    I'm an X window user; I'm an ex-Windows user
  14. Re:Stop. Just fucking STOP by Anonymous Coward · · Score: 5, Insightful

    Where do you get that idea? There's no IP forwarding and masquerading in the init process. That all happens in the networkd process.

  15. Re:Time to have them fork off by reikae · · Score: 5, Funny

    The viola will depend on PulseAudio so you'll have to include that too.

  16. systemd is hypocritical by beaverdownunder · · Score: 5, Interesting

    It annoys me that someone like Poettering, who only had PulseAudio come into use because of the ability distributions had to easily change core operating system components (and wouldn't have had the existing audio-subsystem been entrenched), would then proceed to develop something specifically intended to lock down its own existence and prevent its replacement by something else. It's hypocritical.

    While I totally understand why he did it -- nobody wants to put a great amount of time into something only to have it superseded -- it flies in the face of open source in general, where you contribute to an evolving 'thing', and that while your specific contribution may not exist in the future, you can be happy that you took part in the evolution of the whole, and not feel the need to stamp your face on it for perpetuity.

    It also sets a dangerous precedent. What's going to be locked down next, in the name of stability, or speed, or whatever else (when it's really about someone trying to 'make their mark'?) Do we lock down the file system? Only one file system for Linux, full stop? Do we lock down the network transports? The window manager? The terminal? The command-line applications?

    Then what? Do we then create a global committee, made up of people who maintain the existing components (of course), to make decisions about those components and whatever's left into the future?

    I mean, yes, I agree in that case something else will surely (and quickly) rise in Linux's place (I mean, who wants to put in the time to help projects who only exist to serve their creator's vanity) but it seems a shame that Linux should end this way.

  17. Re:All Linux distros will look like this by turbidostato · · Score: 5, Interesting

    "Here, in Lennart's own words"

    No, *this* are Lennart's own words:
    let's summarize what we are trying to do:
    * We want an efficient way that allows vendors to package their software
    * We want to allow end users and administrators to install these packages on their systems, regardless which distribution they have installed on it.
    * We want a unified solution that ultimately can cover updates for full systems, OS containers, end user apps, programming ABIs, and more.
    * We want our images to be trustable (i.e. signed). In fact we want a fully trustable OS

    So my reading is: we want Linux ecosystem to disappear and be substituted by Microsoft's business model where there's just one OS (Red Hat) and a set of corporate software vendors.

  18. Re:Put away your pitch forks by phantomfive · · Score: 5, Informative

    unless of course you want to start a script with a unit file but then are you sure that iptables is up?

    In all my time using Linux, wondering if iptables had crashed has never been a problem I've had. I've had lots of problems, but never that one. Same with filesystems. Fstab has always just worked.

    And an extra layer in front of iptables is the last thing I need. That is a huge negative. I don't even understand why anyone would think that's a good idea.

    --
    "First they came for the slanderers and i said nothing."