Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I've configured Samba and a LAMP server on a machine running Ubuntu 9.04 Desktop, and want to insure that other computers on our network can always access the samba and web services on that machine by it's name. Let's say the name of the host is, "buildmachine1". I want Windows clients to be able to access samba shares with "\buildmachine1\developersproject1" or web services at "http://buildmachine1/websvn"

buildmachine1 is connected to our LAN, which is a part of a much larger Windows network. This larger network is managed by a super-powerful beings that live in an unreachable galaxy and out-source their network adminstrative tasks to super-powerful being that live in another unreachable galaxy. Bottom-line, buildmachine1 nor any being/user has permission to join the Windows domain.

My limited experience, and this issue, hint that a machine must be a member of a domain to be accessible by it's name. All developers can access the machine by it's IP address, but that address changes periodically, so if we've mapped drive letters to the IP address or configured our subversion clients to access repositories via http://192.168.99.99/svn, we obviously must reconfigure everything when the IP changes.

Considering the circumstances and platforms, how can we reliably access the machine by it's name instead of ever-changing IP address?

share|improve this question

5 Answers 5

up vote 7 down vote accepted

No it does not need to be a member of a Windows Domain. But as it's an internal server the easy steps are:

  • get a static IP reserved and/or assigned for it so it doesn't generally change
  • get an A record for that IP in the local DNS system with the name of your choice

Both of these will have you asking for this change from the super-powerful beings - and that's just the way it is. None however is Windows-specific.

Another way would be to get the machine to register its own name when it receives its dynamic IP lease, though this requires a lot of things to be just right... most already answered in this question.

As a last guerilla resort, you could enter the machine IP into everyone's hosts file and keep changing it when the IP changes. Sounds awesome, doesn't it? ;)

So in the end, you always need to have super-powerful beings that follow policy and that policy should include how to approve (or deny) and implement changes... and establishing a working policy is management responsibility in the end. Or something to that matter anyway.

share|improve this answer
    
Thanks for the advice. –  Michael Prescott Aug 1 '09 at 22:34

Windows machines deal with this using NetBIOS. I don't know enough about Linux to investigate for you, but google may find you a NetBIOS compatable service you could run on your Linux box.
NetBIOS name resolution isn't very elegant though. It just does a broadcast to ask who has that name, so it will only work on one subnet. If you can follow the suggestions of @Oskar then that will be a more elegant solution.

EDIT: Although your build machine has a DHCP address, you may find it doesn't change that often. Usually it will only change is the server is off when it's DHCP lease expires. I am assuming here that this box doesn't get turned off very often... If its address doesn't change often then you might find the hosts file is an acceptable solution. In lmhosts.sam you can specify

#include <filename>

where filename can be a UNC path. So you would only need to maintain a single entry in a single file.

I still think that getting the assistance of your network admins to give your build machine a DNS entry (@Oskar) is the better option if you can find someway to get their assistance.

share|improve this answer
    
We are on a subnet, but some developers are on another subnet. No one has the permission to alter local domain controllers (replication servers?) anymore. There is no chance of getting assistance from the super-beings that now outsource the management of the larger network. –  Michael Prescott Aug 1 '09 at 22:43
    
I have added an alternative based on a linked lmhosts file but I have assumed (wrongly?) that your clients are Window's based. Maybe someone from the Linux world can tell us if Linux also allows hosts files to import other files? –  pipTheGeek Aug 3 '09 at 11:48

Crazy idea here, but you must have the ability to open a help desk ticket correct?

I know this will involve jumping through many hoops, but why not open a ticket with the help desk, make plain and simple, tell them what you want done. IT seems to forget they are there to support the end users.

I'd suggest something like this.

  • We require the following MAC address 00 00 00 00 00 00 00 00 be assigned to a static IP address and this IP address be mapped to the internal DNS name of buildserver1.internal.company.local

  • We require this as due to the fact that the dynamic IP changes causes builds to fail thus causing delays in the project.

  • If manager approval is required for this, please advise the manager level required for approval.

Now if IT rejects it, you forward to your manager, if he says no, then live with the issue. And do this for EVERYTHING you need, no matter how small, keep documenting all the problems IT causes you by denying resonalable requests, one of 3 things will happen,

  1. You'll get some control back maybe in a local isolated network or something
  2. Management will relize they need to support the users with what they need and approve what you ask for.
  3. Nothing, the place sucks. (but you don't know this until you atleast try)

I did this at one place and they ended up giving the developers 12 static IP addresses to run the testing servers on.

share|improve this answer

Since you mention that your clients are part of a much larger windows network. I would assume that includes a WINS server. I'd ask your server admins of that box to add a static entry in there for the Linux server. You could also cheat and edit the hosts file if it's only a few clients.

share|improve this answer

You don't need a computer to be part of a domain to reference it by its name (NetBIOS name). NetBIOS has the ability to run independently of a server by negotiating who will be the Master Browser on the subnet. To make things less flaky in larger networks, usually a WINS server is used --- WINS is kind of like DNS for NetBIOS names.

Samba uses NetBIOS broadcasts and uses the host name as the NetBIOS name. So ordinarily what you are looking for would work.

The problem is NetBIOS is restricted to the local subnet unless a WINS server is involved. So you can install nmdb (Linux WINS Server) on your server and on your Windows clients add a secondary WINS server...but the catch here is that you need a static IP on your box to add a WINS server on the clients :-).

So unless you can get a static IP from the higher-ups or force a static IP you are SOL.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.