What's new in Samba 4 beta3 ============================= Samba 4.0 will be the next version of the Samba suite and incorporates all the technology found in both the Samba4 alpha series and the stable 3.x series. The primary additional features over Samba 3.6 are support for the Active Directory logon protocols used by Windows 2000 and above. WARNINGS ======== Samba4 beta3 is not a final Samba release, however we are now making good progress towards a Samba 4.0 release, of which this is a preview. Be aware the this release contains the best of all of Samba's technology parts, both a file server (that you can reasonably expect to upgrade existing Samba 3.x releases to) and the AD domain controller work previously known as 'samba4'. Samba4 is subjected to an awesome battery of tests on an automated basis, we have found Samba 4.0 to be very stable in it's behavior. However, we still recommend against upgrading production servers from Samba 3.x release to Samba 4.0 beta at this stage. In particular note that the new default configuration 's3fs' may have different stability characteristics compared with our previous default file server. We are making this release so that we can find and fix any of these issues that arise in the real world. New AD DC installations can provision or join with --use-ntvfs to obtain the previous default file server. See below how to continue using ntvfs in an existing installation. If you are upgrading, or looking to develop, test or deploy Samba 4.0 beta releases, you should backup all configuration and data. UPGRADING ========= Users upgrading from Samba 3.x domain controllers and wanting to use Samba 4.0 as an AD DC should use the 'samba-tool domain classicupgrade' command. See the wiki for more details: https://wiki.samba.org/index.php/Samba4/samba3upgrade/HOWTO Users upgrading from Samba 4.0 alpha and beta releases since alpha15 should run 'samba-tool dbcheck --cross-ncs --fix'. Users upgrading from earlier alpha releases should contact the team for advice. NEW FEATURES ============ Samba 4.0 beta supports the server-side of the Active Directory logon environment used by Windows 2000 and later, so we can do full domain join and domain logon operations with these clients. Our Domain Controller (DC) implementation includes our own built-in LDAP server and Kerberos Key Distribution Center (KDC) as well as the Samba3-like logon services provided over CIFS. We correctly generate the infamous Kerberos PAC, and include it with the Kerberos tickets we issue. Samba 4.0 beta ships with two distinct file servers. We now use the file server from the Samba 3.x series 'smbd' for all file serving by default. For pure file server work, the binaries users would expect from that series (nmbd, winbindd, smbpasswd) continue to be available. Samba 4.0 also ships with the 'NTVFS' file server. This file server is what was used in all previous alpha releases of Samba 4.0, and is tuned to match the requirements of an AD domain controller. We continue to support this, not only to provide continuity to installations that have deployed it as part of an AD DC, but also as a running example of the NT-FSA architecture we expect to move smbd to in the longer term. As mentioned above, this change to the default file server may cause instability, as we learn about the real-world interactions between these two key components. As DNS is an integral part of Active Directory, we also provide a DNS solution, using the BIND DLZ mechanism in versions 9.8 and 9.9. During the provision, a configuration file will be generated for bind to make it use this plugin. We also have a project to provide a minimal internal DNS server from within the Samba process, for easier 'out of the box' configuration. Note however that this is not yet complete (pending addition of secure DNS update support). To provide accurate timestamps to Windows clients, we integrate with the NTP project to provide secured NTP replies. Finally, a new scripting interface has been added to Samba 4, allowing Python programs to interface to Samba's internals, and many tools and internal workings of the DC code is now implemented in python. CHANGES SINCE beta2 ===================== For a list of changes since beta2, please see the git log. $ git clone git://git.samba.org/samba.git $ cd samba.git $ git log samba-4.0.0beta2..samba-4.0.0beta3 Some major user-visible changes include: The failure to start up due to a blocking smbd-fileserver.conf.pid has been resolved. Samba now includes support for version 2.1 of the SMB protocol, the SMB2 version of Windows 7 and 2008R2, including dynamic reauthentication and support for multi-credit (large MTU). Consequently, Samba negotiates SMB 2.1 by default: The value "SMB2" for the configuration parameter "max protocol" has been changed to be an alias for SMB 2.1. Previously, the default SMB2 version of Samba was the original version 2.0 of SMB that was shipped with Windows Vista and 2008. Samba now offers basic experimental support for SMB3, the next version of the SMB protocol (formerly known as SMB 2.2) that will be available with Windows 8 and Windows Server 2012. Negotiation of SMB3 can be activated by setting "max protocol" to "SMB3" in smb.conf. Thanks to upgrades to our AD DC code, particularly in schema handling, Samba can now correctly handle the installation of Microsoft Exchange 2010. Other issues prevent run-time operation, but this is a major milestone in supporting one of the single mode demanding Active Directory applications. KNOWN ISSUES ============ - This release makes the s3fs file server the default, as this is the file server combination we will use for the Samba 4.0 release. Users should still expect some rough edges: in particular, there are warnings about invalid parameters from the two respective parameter parsing engines. - Replication of DNS data from one AD server to another may not work. The DNS data used by the internal DNS server and bind9_dlz is stored in an application partition in our directory. The replicaton of this partition is not yet reliable. - Replication may fail on FreeBSD due to getaddrinfo() rejecting names containing _. A workaround will be in the next beta. - upgradeprovision should not be run when upgrading to this release from a recent release. No important database format changes have been made since alpha16. - Installation on systems without a system iconv (and developer headers at compile time) is known to cause errors when dealing with non-ASCII characters. - Domain member support in the 'samba' binary is in it's infancy, and is not comparable to the support found in winbindd. As such, do not use the 'samba' binary (provided for the AD server) on a member server. - There is no NetBIOS browsing support (network neighbourhood) in the 'samba' binary (use nmbd and smbd instead) - Clock Synchronisation is critical. Many 'wrong password' errors are actually due to Kerberos objecting to a clock skew between client and server. (The NTP work in the previous alphas are partly to assist with this problem). - The DRS replication code may fail. Please contact the team if you experience issues with DRS replication, as we have fixed many issues here in response to feedback from our production users. RUNNING Samba 4.0 as an AD DC ============================= A short guide to setting up Samba 4 as an AD DC can be found on the wiki: http://wiki.samba.org/index.php/Samba4/HOWTO ####################################### Reporting bugs & Development Discussion ####################################### Please discuss this release on the samba-technical mailing list or by joining the #samba-technical IRC channel on irc.freenode.net. If you do report problems then please try to send high quality feedback. If you don't provide vital information to help us track down the problem then you will probably be ignored. All bug reports should be filed under the Samba 4.0 product in the project's Bugzilla database (https://bugzilla.samba.org/). ====================================================================== == Our Code, Our Bugs, Our Responsibility. == The Samba Team ======================================================================