You'll need to add the NameConstraints extension to the request using LibreSSL's config file. The following example is an extract - you'll need to add the various sections to your current config file and tweak the constraints:
[ req ]
# Don't prompt for the DN, use configured values instead
# This saves having to type in your DN each time.
prompt = no
string_mask = default
distinguished_name = req_dn
# The size of the keys in bits:
default_bits = 4096
# The extensions added when generating a CSR
req_extensions = req_ext
[ req_dn ]
countryName = GB
stateOrProvinceName = Somewhere
organizationName = Example
organizationalUnitName = PKI
commonName = Example CA
[ req_ext ]
# Extensions added to the request
subjectKeyIdentifier = hash
basicConstraints = critical, CA:TRUE
# basicConstraints = critical, CA:TRUE, pathlen:1
keyUsage = critical, keyCertSign, cRLSign
# Policies and constraints are not recommended for Root CAs
# But could be enforced on subordinate CAs
nameConstraints = @name_constraints
#policyConstraints = requireExplicitPolicy:1
#inhibitAnyPolicy = 1
#certificatePolicies = @CertPol
[ name_constraints ]
permitted;DNS.1 = example.org
permitted;DNS.2 = example.com
permitted;dirName.1 = style_1
permitted;dirName.2 = style_2
[ style_1 ]
C=gb
ST=somewhere
O=example
1.OU=head office
2.OU=admin
[ style_2 ]
1.DC=org
2.DC=example
[ CertPol ]
policyIdentifier = 1.3.6.1.4.132473
CPS = http://pki.example.org/cps.html
If you're not using the default configuration file you'll need to add -config <config file> to your command line.
Note: I've not tried this on LibreSSL - only on OpenSSL but I believe both use the same syntax.