You can use the slightly uncommon RFC 6672 DNAME
DNS record which provides redirection for a subtree of the domain name tree in the DNS. That is, all names that end with a particular suffix are redirected to another part of the DNS.
A DNS record:
example.com. IN DNAME example.net.
will redirect:
a.example.com. --> a.example.net.
b.example.com. --> b.example.net.
c.d.example.com. --> c.d.example.net.
etc.
You will only need to manually maintain every record for example.com. that exists at the same level as the DNAME record:
example.com. IN SOA ns1.example.com. username.example.com. (
20140218131405 ; Serial number YYYYMMDDHHMMSS
28800 ; Refresh 8 hours
7200 ; Retry 2 hours
604800 ; Expire 7 days
86400 ; Minimum TTL 1 day )
example.com. IN NS ns1.example.net. ; ns1.example.net is a primary nameserver
example.com. IN NS ns2.example.net. ; ns2.example.net is also a nameserver
example.com. IN MX 10 mail.example.net. ; mail.example.net is the mailserver
example.com. IN MX 20 mail2.example.net. ; the secondary mailserver
example.com. IN A 192.0.2.1 ; IPv4 address for the bare domain
example.com. IN AAAA 2001:db8:10::1 ; IPv6 address for the bare domain
example.com. IN DNAME example.net. ; every record <something>.example.com will
; get mapped to <the same something>.example.net.
Please note that the RFC lists some issues, which may of import to you too.
Also, I'm not sure if you can have exceptions in the example.com zone file for records which should not get mapped to the corresponding example.net record, i.e. if the presence of a record such as old-www.example.com. IN A 192.0.2.2
will continue to work and will be preferred to the DNAME mapping of old-www.example.com. --> old-www.example.net.