Re: Advanced network configuration
Hi Alexy, are you running netplan under Guix? I would find it useful to have a service using a netplan config, bypassing the guile-based networking service for such advanced use cases as you mention. Sincerely, Ryan Sundberg Principal Software Engineer Arctype Corporation Original Message From: Alexey Abramov Sent: October 3, 2022 11:23:11 AM PDT To: guix-devel@gnu.org Subject: Advanced network configuration Hi Guix, I have a couple of questions regarding our current network configuration in Guix. With the latest changes to the static configuration, live is indeed, became easier, but I have to say that it is still insufficient to define a complete network configuration. Please check out the following (my) use cases: 1. I have servers with multiple network cards. Let's say, the management one and production. both network cards have multiple interfaces, which I need to bond into 803.1ad mode. Management bond has a native vlan where DHCP should be provided AND another vlan for the management traffic. The production interface (after bonding) has another set of VLANs for a different type of traffic as well. Currently, there is no way to define it without writing a custom service with the iproute2 utility. I was hacking on guile-netlink and did some progress with setting bonds. However current static configuration won't let me build it anyway. I have to not only 'link-add' and create a bond, but also amend existing interfaces by 'link-set' them as a slave to my newly created bond master for example. 2. Having a router with Guix at home. I have to run multiple services that provision 'networking' which is not allowed right now. The DHCP client service is greedy right now and binds to all available interfaces. I sent a [1] patch to solve this. However, I cannot define dhcp-client and static configuration at the same time anyway. These two examples lead me to the following questions: 1) To configure the network, I have been happily using netplan app (debain/ubuntu world). The specification they use can be found here [2]. Here is an example: --8<---cut here---start->8--- network: bonds: bond0: interfaces: - eno0 - eno1 parameters: mode: 802.3ad bond2: interfaces: - enp0 - enp1 parameters: mode: 802.3ad ethernets: eno0: match: macaddress: xx:xx:xx:xx:xx:xx set-name: eno0 eno1: match: macaddress: xx:xx:xx:xx:xx:xx set-name: eno1 eno2: match: macaddress: xx:xx:xx:xx:xx:xx set-name: eno2 eno3: match: macaddress: xx:xx:xx:xx:xx:xx set-name: eno3 enp0: match: macaddress: xx:xx:xx:xx:xx:xx set-name: enp0 enp1: match: macaddress: xx:xx:xx:xx:xx:xx set-name: enp1 renderer: networkd version: 2 vlans: bond1.1055: addresses: - 10.0.0.1/24 routes: - to: XX.XX.XX.XX/21 via: 10.x.x.x gateway4: 10.0.0.1 id: 1055 link: bond1 bond2.2055: addresses: - 10.8.0.1/24 id: 2055 link: bond2 bond2.3055: addresses: - 192.168.0.0/16 id: 3055 link: bond2 --8<---cut here---end--->8--- From the example above, you can see that I rename interfaces (i do know that udev can do it, but it is easier to do it here). I build bonds and VLANs with their IPs. I also set routes and default gateway. Would someone be interested in that? I don't see any problems in implementing this with guile-netlink. This is basically my proposal on how we can improve our static network configuration. What do you think? 2) In Systemd world there is a notion of 'target' which is used for *grouping* units and *synchronization* points during the start-up. At this moment *I* need to have dhcp-client and static configuration. Seems like grouping is a key here. Were there any ideas/attempts to make it happen? Or what should I do? Footnotes: [1] https://issues.guix.gnu.org/58223 [2] https://netplan.io/reference -- Alexey
Advanced network configuration
Hi Guix, I have a couple of questions regarding our current network configuration in Guix. With the latest changes to the static configuration, live is indeed, became easier, but I have to say that it is still insufficient to define a complete network configuration. Please check out the following (my) use cases: 1. I have servers with multiple network cards. Let's say, the management one and production. both network cards have multiple interfaces, which I need to bond into 803.1ad mode. Management bond has a native vlan where DHCP should be provided AND another vlan for the management traffic. The production interface (after bonding) has another set of VLANs for a different type of traffic as well. Currently, there is no way to define it without writing a custom service with the iproute2 utility. I was hacking on guile-netlink and did some progress with setting bonds. However current static configuration won't let me build it anyway. I have to not only 'link-add' and create a bond, but also amend existing interfaces by 'link-set' them as a slave to my newly created bond master for example. 2. Having a router with Guix at home. I have to run multiple services that provision 'networking' which is not allowed right now. The DHCP client service is greedy right now and binds to all available interfaces. I sent a [1] patch to solve this. However, I cannot define dhcp-client and static configuration at the same time anyway. These two examples lead me to the following questions: 1) To configure the network, I have been happily using netplan app (debain/ubuntu world). The specification they use can be found here [2]. Here is an example: --8<---cut here---start->8--- network: bonds: bond0: interfaces: - eno0 - eno1 parameters: mode: 802.3ad bond2: interfaces: - enp0 - enp1 parameters: mode: 802.3ad ethernets: eno0: match: macaddress: xx:xx:xx:xx:xx:xx set-name: eno0 eno1: match: macaddress: xx:xx:xx:xx:xx:xx set-name: eno1 eno2: match: macaddress: xx:xx:xx:xx:xx:xx set-name: eno2 eno3: match: macaddress: xx:xx:xx:xx:xx:xx set-name: eno3 enp0: match: macaddress: xx:xx:xx:xx:xx:xx set-name: enp0 enp1: match: macaddress: xx:xx:xx:xx:xx:xx set-name: enp1 renderer: networkd version: 2 vlans: bond1.1055: addresses: - 10.0.0.1/24 routes: - to: XX.XX.XX.XX/21 via: 10.x.x.x gateway4: 10.0.0.1 id: 1055 link: bond1 bond2.2055: addresses: - 10.8.0.1/24 id: 2055 link: bond2 bond2.3055: addresses: - 192.168.0.0/16 id: 3055 link: bond2 --8<---cut here---end--->8--- >From the example above, you can see that I rename interfaces (i do know that udev can do it, but it is easier to do it here). I build bonds and VLANs with their IPs. I also set routes and default gateway. Would someone be interested in that? I don't see any problems in implementing this with guile-netlink. This is basically my proposal on how we can improve our static network configuration. What do you think? 2) In Systemd world there is a notion of 'target' which is used for *grouping* units and *synchronization* points during the start-up. At this moment *I* need to have dhcp-client and static configuration. Seems like grouping is a key here. Were there any ideas/attempts to make it happen? Or what should I do? Footnotes: [1] https://issues.guix.gnu.org/58223 [2] https://netplan.io/reference -- Alexey
Re: Guix System For Kids
jgart writes: > On Mon, 03 Oct 2022 00:17:52 +0200 Csepp wrote: >> EndlessOS has a system for teaching kids, it's calle Hack, it might be >> worth checking out. > > Does it run on GNU Guix System? No idea, I haven't tried to compile it or look at its source code.
Re: Guix System For Kids
On 2022-10-03 15:18, Oliver Propst wrote: > On 2022-10-02 21:32, jgart wrote: >> What do people think of having an education distro for kids? > > Sounds as a fantastic idea to me :) If we somehow could get the > manpower to make it happen. I think it is an awesome idea. It could be like an old 80s BBC Micro. I am pursuing making a simple Lisp educational tool myself. I can commit to working on this project. Let's talk casually on jitsi or something! vidak.
Re: Capitole du Libre at Toulouse
I'll be there, so we could still meet :) Le 3 octobre 2022 09:24:05 GMT+02:00, Oliver Propst a écrit : >On 2022-10-01 13:14, Andreas Enge wrote: >> Am Mon, Sep 26, 2022 at 11:30:53PM +0200 schrieb zimoun: >> We decided that with only two confirmed and one uncertain participation, >> we would not have enough people power and did not submit anything. >> >> Andreas > >Sorry to hear this :( > >-- >Kinds regards Oliver Propst >https://twitter.com/Opropst >
Re: Capitole du Libre at Toulouse
On 2022-10-01 13:14, Andreas Enge wrote: Am Mon, Sep 26, 2022 at 11:30:53PM +0200 schrieb zimoun: We decided that with only two confirmed and one uncertain participation, we would not have enough people power and did not submit anything. Andreas Sorry to hear this :( -- Kinds regards Oliver Propst https://twitter.com/Opropst
Re: Guix System For Kids
On 2022-10-02 21:32, jgart wrote: What do people think of having an education distro for kids? Sounds as a fantastic idea to me :) If we somehow could get the manpower to make it happen. -- Kinds regards Oliver Propst https://twitter.com/Opropst
Re: Guix System For Kids
On 02-10-2022 21:32, jgart wrote: What do people think of having an education distro for kids? Similar to these: https://itsfoss.com/educational-linux-distros/ Could we use that Guix GUI written in smalltalk to get started? Going by what I'm seeing on that page, in many cases 'education distro for kids' would be useful for adults not pursuing an education as well -- I think we should focus more on the implied 'convenience' aspect than being 100% 'education' and 'for kids'. Greetings, Maxime. OpenPGP_0x49E3EE22191725EE.asc Description: OpenPGP public key OpenPGP_signature Description: OpenPGP digital signature