Assumptions, Defaults, and Intentional Constraints
Purpose of This Page
This page records the key decisions and assumptions made during initial domain provisioning for the Samba Active Directory Domain Controller (AD DC). The goal is not to document every command used, but to explain why certain choices were made, which defaults were accepted, and which alternatives were intentionally rejected.
Provisioning is the moment where long-term constraints are established. Many operational issues that appear months later trace back to early domain decisions, especially around naming, DNS, and service integration. This page exists to preserve that reasoning.
Domain Role and Scope
The domain was provisioned with the explicit assumption that it would serve a small, tightly controlled environment rather than a large, multi-site enterprise.
Key implications of this scope:
- A single domain controller is sufficient initially
- Simplicity and predictability are prioritized over scalability
- Defaults that favor Windows compatibility are preferred over customization
- Future expansion is possible but not assumed
This framing guided nearly every provisioning choice.
Domain Naming Decisions
Internal Domain Name
The internal domain name was selected to be:
- Stable
- Unambiguous
- Not publicly routable
- Consistent across DNS, Kerberos, and LDAP
Once chosen, a domain name becomes effectively immutable. Renaming a domain is technically possible but operationally risky and rarely worth the effort. For this reason, the name was treated as infrastructure, not branding.
Design principle:
Domain names should be boring, durable, and resistant to future reinterpretation.
NetBIOS Name
The NetBIOS domain name was chosen to be:
- Short
- Uppercase
- Clearly associated with the domain identity
- Unlikely to collide with hostnames or service names
Although NetBIOS is legacy technology, Windows still relies on it in certain contexts. Choosing a clean, predictable NetBIOS name avoids edge-case ambiguity later.
DNS Integration Strategy
The domain controller was provisioned as the authoritative DNS server for the domain.
Reasons for this decision:
- Active Directory depends on DNS for service discovery
- SRV records must be consistent and authoritative
- Client behavior is more predictable when AD controls DNS
- Mixing external DNS servers introduces subtle failure modes
External resolvers may still be used for upstream resolution, but the domain namespace itself is owned and served by the AD DC.
Operational rule:
If identity matters, DNS must be under domain control.
Kerberos Realm Configuration
The Kerberos realm was derived directly from the domain name and treated as a first-class security boundary.
Key considerations:
- Realm naming consistency with DNS
- Strict time synchronization requirements
- Avoidance of manual realm overrides or custom mappings
Kerberos is intolerant of drift and ambiguity. The provisioning process favors defaults that align with Windows expectations rather than creative reinterpretations.
Schema and Feature Set Choices
No custom schema extensions were added during provisioning.
Reasons for deferring schema modification:
- Schema changes are permanent and domain-wide
- Most requirements are satisfied by the default AD schema
- Future needs are easier to evaluate once the domain is operational
- Custom schema increases cognitive and operational load
This decision preserves flexibility by not consuming it prematurely.
Authentication and Access Assumptions
The domain was provisioned with the assumption that:
- Authentication flows will use Kerberos, not LDAP binds
- Windows clients will be first-class domain members
- Administrative access should be centralized and auditable
- Permissions should be granted via groups rather than individuals
These assumptions align with Active Directory’s design and reduce the temptation to implement ad-hoc access controls later.
Single-DC Tradeoffs
Provisioning assumed a single domain controller architecture initially.
Benefits:
- Simpler mental model
- Easier troubleshooting
- Lower operational overhead
Risks:
- Single point of failure
- Greater importance of backups and documentation
- Careful change management required
This tradeoff is considered acceptable for the current environment, with the understanding that additional controllers can be added later if needed.
What Was Explicitly Not Done
Documenting non-decisions is as important as documenting decisions.
The following were intentionally avoided during provisioning:
- Manual LDAP edits
- Schema customization
- External DNS ownership of the domain zone
- Nonstandard Kerberos realm mappings
- Over-optimization for hypothetical future scale
Each of these introduces long-term complexity disproportionate to current needs.
Summary
Domain provisioning establishes the rules of the system long before day-to-day operations begin. The decisions documented here favor predictability, compatibility, and long-term maintainability over customization or cleverness.
By accepting conservative defaults and deferring irreversible changes, the domain remains easier to reason about, easier to troubleshoot, and easier to evolve as operational requirements become clearer.
Status
These provisioning decisions reflect the current understanding and scope of the environment. If the domain expands, integrates additional services, or introduces new trust relationships, this page should be revisited and updated accordingly.
