Talk:Network Environment
From BCCD 3.0
(Difference between revisions)
(→Stage configuration) |
|||
Line 20: | Line 20: | ||
# Can <b><code>bccd-reset-network</code></b> be rewritten to produce <code>systemd.network</code> configuration files via templates for each stage? | # Can <b><code>bccd-reset-network</code></b> be rewritten to produce <code>systemd.network</code> 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 detect that a BCCD DHCP server has ''not'' responded to a client, and obtain an address from any DHCP server? | ||
- | + | ||
Answered questions: | Answered questions: | ||
Line 36: | Line 36: | ||
} | } | ||
</pre> | </pre> | ||
+ | # 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? '''Supply an <code>Address</code> stanza in addition to a <code>Network</code> stanza with DHCP set''' | ||
== Stage configuration == | == Stage configuration == |
Revision as of 17:27, 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?
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"; }
- 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? Supply an
Address
stanza in addition to aNetwork
stanza with DHCP set
Stage configuration
Current testing files:
- Head node
- eth0
-
/etc/systemd/network/10-dhcp-eth0.network
-
- eth0
[Match] Name=eth0 [Network] DHCP=yes
- or having a DHCP and static address:
[Match] Name=eth0 [Network] DHCP=yes [Address] Address=192.168.3.1/24
-
/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