DNS confusion and setting up subdomains on ISPConfig on Ubuntu 6.06

Discussion in 'Installation/Configuration' started by wctaelectronics, May 8, 2008.

  1. wctaelectronics

    wctaelectronics New Member


    I hate to bother people who have more important things to do than help me, BUT.... After several days and countless pages of information I am at the end of my brain power! :confused:

    I followed the HowTo: "The Perfect Setup - Ubuntu 6.06 LTS Server" and with a little help from Falko, I got my server up and running nicely. I then installed ISPConfig without any problems and spent some time getting comfortable with the workings of it.

    Now here is my problem:
    My goal is to host several websites that I have personally as well as 1 or 2 small sites for some friends. So I registered a domain name with Yahoo (wctahosting.com) and would like to set up subdomains from it.

    I have a router which contains all the static ip address information including the primary and secondary DNS addresses. I have forwarded all the ports that I need (as far as I know) to my server.

    Now I have discovered that DNS is a subject that I just can't seem to grasp, but I would like to. I looked in the control panel for my domain name and saw that I could put my IP address in the A records. I did this and now it points to my server and I am able to pull up a test site that I loaded on it successfully.

    I am clueless after that.

    I have no idea how to set up a subdomain for a second site.
    I don't know what these Primary and Secondary DNS addresses are for or how to use them.
    I have no idea what to use for the two nameservers on my Domain Name control panel.

    I have read several HowTos that seemed like they were going to help but right at the point I was getting confused they seemed to stop explaining anything!

    So basically I have two problems
    1. How to set up the nameservers for my domain and on my server.
    2. How to set up subdomains in ISPConfig.

    Any help (Advice, links to good tutorials, etc) would be greatly appreciated!
    Or you can tell me I'm crazy for even trying this and tell me to forget about it and I might just listen to you!!! :)

    Anyway, thank you all in advance for any help you can offer!
  2. catdude

    catdude ISPConfig Developer ISPConfig Developer

    Did your ISP give you a static IP address, or do you get assigned an address via DHCP? Most ISPs offer dynamic addresses, but a lot of times even dynamic addresses can be pretty stable (my machine at home has had the same dynamic IP address for over a year). That will make a difference.

    If your IP address is static, or is a fairly stable dynamic address, it's probably reasonable to host your own DNS via ISPConfig. To do so, you have to get ISPConfig set up to provide DNS (probably all ready done, as the user interface makes it pretty easy to do), you need to make sure that requests to port 53 get forwarded to your ISPConfig box, and you have to modify your domain records with Yahoo to point to your ISPConfig box.

    When you are in your domain control pages on Yahoo and you fill in the "primary name server" and "secondary name server" fields, you are telling the root servers what machines are going to be the final authority for DNS resolution on your domain. If I enter "www.wctahosting.com" into my browser, my name server will ask the root servers "who is authoritative for wctahosting.com?" The values that you put into Yahoo's "primary name server" and "secondary name server" fields are the values that get returned. My name server's resolver then sends a request to the machines returned by the root server, asking "what's the IP address for www.wctahosting.com?" If the servers returned as authoritative are Yahoo's servers (as currently configured), Yahoo's server will respond with a digital form of "beats me". So the idea is to have the primary name server (your domain's NS record) pointing to your ISPConfig machine.

    One that's configured, setting up your subdomains ought to be fairly straightforward via ISPConfig's "codomain" features.

    or have I completely misunderstood what information you're looking for?
  3. wctaelectronics

    wctaelectronics New Member


    First, yes I have a static IP address that I am paying extra for through my ISP.

    Now, let me see if I am understanding how this works. Tell me if I am getting this right:
    Basically, My server is actually acting as my Web-Server and a nameserver combined? So when someone types in my domain name, Yahoo sends the request to the name server listed and that nameserver is supposed to return the IP address of the requested site? So if I have my server set up as the nameserver it needs to be able to perform this task. That being said, does the nameserver then send the user on to the correct IP address after it has identified it? (Or in my case, the nameserver sends the user back to itself, running as a web server)

    Now this raises the question, why do I have my actual IP address in the "A" records of my domain? I just can't seem to get my head to wrap around the ideas here. Why is the nameserver needed?

    This is absolutely driving me crazy! I am normally a pretty fast learner on this kind of stuff but this concept is totally eluding me!!

    Thank you so much for your time and if I become a pest just tell me so!! :eek:
  4. catdude

    catdude ISPConfig Developer ISPConfig Developer

    Not to worry; DNS is a complex subject and has been known to reduce grown men to tears.

    When I enter your URL into my browser, my machine's resolver process looks in it's own cache of known IP addresses. If I haven't been to your site recently it won't be there, so no help. My resolver then asks my ISP's cacheing name server for your IP address. If nobody on my ISP has been to our site recently, that won't return an answer either. So my resolver then asks the nearest root server.

    The root server looks up the info it has on your domain, which should consist of your NS records (which name server is supposed to have authoritative DNS info for your domain). The root server returns the addresses of your name servers to my resolver.

    My resolver then sends it's request to your name server. Your name server then says "the machine that serves up that URL can be found at IP address". My browser then sends it's HTTP request packet to the returned IP address.

    How did the root server know what name server to send back to my resolver? You told it. When you log into your Yahoo page and go into the domain management pages, the "primary nameserver" and "secondary nameserver" fields are the info that gets sent to the root nameservers. The machines you put in these fields are going to get DNS requests for all machines in your domain. If you enter the IP address of your machine (the external static IP address), then those DNS requests will go to your ISPConfig machines. If those fields contain yns1.yahoo.com and yns2.yahoo.com (as they did a little while ago), those queries will go to Yahoo, and Yahoo will return "not found" replies.

    As part of the ISPConfig install you set up ISC's bind9 (running as a process called "named"). Bind9 is quite capable of serving up all of your DNS needs, and it's quite reasonable to have your machine run as both web server and name server. You just need to make sure that your router knows to pass port 53 and port 80 to your machine, and if you're running iptables on your server you need to make sure that those ports aren't blocked.

    If you want to ask questions but don't want to do so here, feel free to e-mail me directly. My address is dan at catfolks dot net.

Share This Page