This has good information - http://docs.hardentheworld.org/Applications/OpenVPN/
I noticed DH params do get generated via easy-rsa (although not audited that code, so can't comment on how rigid it is, nor what keysize is being used so that could be defaulting to 1024 which isn't all that great nowadays)