Talk:Network Environment
From BCCD 3.0
(Difference between revisions)
(→Stage descriptions) |
(→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>. <code>dhcpd.conf</code> snippet: <pre> | + | # 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 | # dhclient on live BCCD systems will set this identifier | ||
class "bccd-nodes" { | class "bccd-nodes" { |
Revision as of 17:01, 18 May 2019
Contents |
Stages
Stage descriptions
BCCD goes through the following network configuration stages:
- Live mode
- Initial boot:
- Try to obtain an IP address from a BCCD DHCP server
- If no BCCD DHCP servers are available, obtain an IP address from any DHCP server
- Head node: Upon user request, start DHCP server that will answer requests only from other BCCD systems
- Initial boot:
- Liberated mode
- Initial boot:
- Try to obtain an IP address from a BCCD DHCP server
- If no BCCD DHCP servers are available, obtain an IP address from any DHCP server
- Diskless boot: Upon user request, start DHCP server that will answer requests from diskless BCCD systems on only a given interface
- Initial boot:
Open questions:
- Can
bccd-reset-network
be rewritten to producesystemd.network
configuration files via templates for each stage? - How do we detect that a BCCD DHCP server has not responded to a client, and obtain an address from any DHCP server?
- 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:
- Should we continue using
bccd-identifier
or switch to using the standardvendor-class-identifier
that can be provided viasystemd.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:
- Head node
-
/etc/systemd/network/10-dhcp-eth0.network
-
[Match] Name=eth0 [Network] DHCP=yes
-
/etc/systemd/network/20-static-eth1.network
-
[Match] Name=eth1 [Network] Address=192.168.3.1/24 DHCP=no
- Client node
-
/etc/systemd/network/10-dhcp-eth0.network
-
[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
- Move
/etc/network/interfaces
out of the way to ensure that regular network setup doesn't occur - Interface files need to have a numeric prefix and a
.network
suffix (i.e./etc/systemd/network/10-static-eth0.network
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