I have a network here that uses 802.1x on the wired network to authenticate for greater privilege, BUT without (or "before") auth will place the machine in a default/quarantine network. For good luck, that default network answers DHCP, and once you are authenticated another DHCP is needed to give you the correct/desired IP address.
I'm trying to find a good approach to use wpa_supplicant in conjunction with dhclient to automatically connect to the authenticated network. I have a working config for the supplicant.
My general problem seems to be a combination of "authentication takes time" (around 3 seconds from the start of the supplicant to a connected state), and the network's insistence that DHCP will succeed (with unhelpful values) before authentication.
The majority of examples for using wpa_supplicant that I can find online all happily start it as a daemon (whether via rc scripts or systemd), and run dhclient almost immediately afterwards, obviously trusting that DHCP will give no answer until authentication completes, and dhclient's retry algorithms will pick up the desired answer within a reasonable time, with the startup of other network software delayed until dhclient has finished.
NetworkManager has an approach that works; it seems to be aware of the status of whatever supplicant it is running, and only issues DHCP after authentication has happened successfully.
I'm looking for some valid approach that will produce the same result, preferably using some aspect of dhclient or wpa_supplicant that I'm not yet aware of. For added difficulty, I would like to use these approaches on linux (Ubuntu) as well as on OpenBSD ...