Talk:Network Environment

From BCCD 3.0

(Difference between revisions)
Jump to: navigation, search
(Stage descriptions)
Line 24: Line 24:
Answered questions:
Answered questions:
-
# Should we continue using <code>bccd-identifier</code> or switch to using the standard [https://www.isc.org/wp-content/uploads/2017/08/dhcp41options.html <code>vendor-class-identifier]</code> that can be provided via <code>[https://www.freedesktop.org/software/systemd/man/systemd.network.html#VendorClassIdentifier= systemd.network]</code>? <b><code>vendor-class-identifier</code> confirmed to work</b>
+
# Should we continue using <code>bccd-identifier</code> or switch to using the standard [https://www.isc.org/wp-content/uploads/2017/08/dhcp41options.html <code>vendor-class-identifier]</code> that can be provided via <code>[https://www.freedesktop.org/software/systemd/man/systemd.network.html#VendorClassIdentifier= systemd.network]</code>? <b><code>vendor-class-identifier</code> confirmed to work</b>. <code>dhcpd.conf</code> snippet: <pre>
 +
# 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";
 +
}
 +
</pre>
== Stage configuration ==
== Stage configuration ==

Revision as of 17:01, 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:
  2. dhclient on live BCCD systems will set this identifier

class "bccd-nodes" {

 match if option vendor-class-identifier = "bccd-client";

}

  1. 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=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