[Samba] Win7 unable to join domain if PDC has a static IP address

Thomas Harvey tom.harvey at onefinestay.com
Fri Jul 8 11:00:22 MDT 2011

I've seen this asked before in various forums and even on here, but never answered; here is a list of the symptoms and what I have done, hopefully someone here will have a solution.

I have an Ubuntu10.04 server running samba3.4.7 and I have a (fleet of) Lenovo Thinkpad Edge's running win7Pro64
If the Samba server has been assigned a static IP address then the Lenovo will not join the domain, telling me that the server cannot be found. I get the auth screen where I enter the Samba Domain Admin details. Nothing shows on the samba server logs, and windows dialogs:

The following Error occurred when attempting to join the domain "OFS"
The specified domain either does not exist or could not be contacted

When the server gets it's IP address by DHCP the Lenovo will join just fine.

I don't want to rely on a DHCP lease, or on the router distributing a fixed IP to the specific MAC address, I want to set it on ubuntu. Have I misunderstood something about Samba networking?
I assume it something to do with my static settings, and broadcasting or something, so here is my /etc/network/interfaces and then I will talk about the things I have tried and the weirdnesses.

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static

Anyone spot anything I'm doing wrong here.. the working DHCP is the standard "iface eth0 inet dhcp" line instead of static and all of the static settings. Surely most people run their servers on a static IP??

So, I tried to create an aliased Static IP...

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp
iface eth0:0 inet static

And then bring that up with ifup eth0:0 Then the server will respond on both the static IP and the one assigned by DHCP when pinging and ssh, but the laptop will not join the domain. ifdown eth0:0 and it will join the domain.

Once it has joined everything will work fine, so I can log in, access the shares, even log in with users that were created on the server after the laptop was joined to the domain. But, I hardly want to have to ssh in, check the dynamic IP, drop the static one, add a new machine to the domain and then log in to the dynamic IP and up the static IP each time I provision a new laptop! Nor do I want to rely on the dynamic IP lease length on the router to assign the same IP from the DHCP pool each time. This is what static IPs are for.

Is there something fundamentally wrong in my understanding of Windows/Samba networks.

Also, I can net join form another ubuntu machine to join the domain when the PDC is on static, so this seems to only be an issue with Win clients. I don not have any XP or vista boxes to try this out on.

For reasons of completion... here is the redacted output of testparm:

Thanks for any help...

Processing section "[homes]"
Processing section "[profiles]"
Processing section "[netlogon]"
Processing section "[cappuccino]"
Processing section "[photos]"
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC
	workgroup = OFS
	obey pam restrictions = Yes
	passdb backend = ldapsam:ldap://localhost
	pam password change = Yes
	syslog = 0
	log file = /var/log/samba/log.%m
	max log size = 1000
	smb ports = 139
	server signing = auto
	add user script = /usr/sbin/smbldap-useradd -m '%u'
	delete user script = /usr/sbin/smbldap-userdel %u
	add group script = /usr/sbin/smbldap-groupadd -p '%g'
	delete group script = /usr/sbin/smbldap-groupdel '%g'
	add user to group script = /usr/sbin/smbldap-groupmod -m '%u' '%g'
	delete user from group script = /usr/sbin/smbldap-groupmod -x '%u' '%g'
	set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'
	add machine script = /usr/sbin/smbldap-useradd -w '%u'
	logon path = "\\SERVER\profiles\%U"
	logon drive = U:
	domain logons = Yes
	os level = 35
	domain master = Yes
	dns proxy = No
	wins support = Yes
	ldap admin dn = cn=admin,dc=domain,dc=com
	ldap group suffix = ou=groups
	ldap idmap suffix = ou=Idmap
	ldap machine suffix = ou=machines
	ldap passwd sync = yes
	ldap suffix = dc=domain,dc=com
	ldap user suffix = ou=people

	comment = Home Directories
	path = /office/homes/%U
	valid users = %S
	read only = No
	create mask = 0750
	browseable = No
	browsable = No

	comment = Roaming Profile Share
	path = /srv/samba/profiles
	read only = No
	create mask = 0600
	directory mask = 0700
	profile acls = Yes
	hide files = /desktop.ini/outlook*.lnk/*Briefcase*/
	store dos attributes = Yes
	browseable = No
	browsable = No

	comment = Network Logon Service
	path = /srv/samba/netlogon
	admin users = root
	browseable = No
	browsable = No

More information about the samba mailing list