Talk:Network Environment

From BCCD 3.0

(Difference between revisions)
Jump to: navigation, search
(Stage descriptions)
(Stage configuration)
Line 42: Line 42:
* Head node
* Head node
-
** <code>/etc/systemd/network/10-dhcp-eth0.network</code>
+
** eth0
 +
*** <code>/etc/systemd/network/10-dhcp-eth0.network</code>
<pre>
<pre>
[Match]
[Match]
Line 49: Line 50:
[Network]
[Network]
DHCP=yes
DHCP=yes
 +
</pre>
 +
*** or having a DHCP and static address:
 +
<pre>
 +
[Match]
 +
Name=eth0
 +
 +
[Network]
 +
DHCP=yes
 +
 +
[Address]
 +
Address=192.168.3.1/24
</pre>
</pre>
** <code>/etc/systemd/network/20-static-eth1.network</code>
** <code>/etc/systemd/network/20-static-eth1.network</code>

Revision as of 17:09, 18 May 2019

Contents

Stages

Stage descriptions

BCCD goes through the following network configuration stages:

  1. Live mode
    1. Initial boot:
      1. Try to obtain an IP address from a BCCD DHCP server
      2. If no BCCD DHCP servers are available, obtain an IP address from any DHCP server
    2. Head node: Upon user request, start DHCP server that will answer requests only from other BCCD systems
  2. Liberated mode
    1. Initial boot:
      1. Try to obtain an IP address from a BCCD DHCP server
      2. If no BCCD DHCP servers are available, obtain an IP address from any DHCP server
    2. Diskless boot: Upon user request, start DHCP server that will answer requests from diskless BCCD systems on only a given interface

Open questions:

  1. Can bccd-reset-network be rewritten to produce systemd.network configuration files via templates for each stage?
  2. How do we detect that a BCCD DHCP server has not responded to a client, and obtain an address from any DHCP server?
  3. How do we have both a static (i.e. 192.168.3.1/24) and DHCP address on one interface, with a DHCP server listening on the static (192.168.3.1/24) address?

Answered questions:

  1. Should we continue using bccd-identifier or switch to using the standard vendor-class-identifier that can be provided via systemd.network? vendor-class-identifier confirmed to work. dhcpd.conf snippet:
# dhclient on live BCCD systems will set this identifier
class "bccd-nodes" {
  match if option vendor-class-identifier = "bccd-client";
}

# Anything else, including PXE boot, will not
class "pxelinux-nodes" {
  match if option vendor-class-identifier != "bccd-client";
}

Stage configuration

Current testing files:

[Match]
Name=eth0

[Network]
DHCP=yes
[Match]
Name=eth0

[Network]
DHCP=yes

[Address]
Address=192.168.3.1/24
[Match]
Name=eth1

[Network]
Address=192.168.3.1/24
DHCP=no
[Match]
Name=eth0

[Network]
DHCP=yes

[DHCP]
VendorClassIdentifier=bccd-client

systemd notes

systemd commands

Restart networking 
systemctl restart systemd-networkd
Networking status 
networkctl

systemd tricks

Troubleshooting

RTNETLINK answers: File exists

If you get an error like this:

RTNETLINK answers: File exists
Failed to bring up eth1.

Try flushing that interface and replumbing it:

$ sudo ip addr flush dev eth1
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox