There should be an easy way to find answer to that question but I actually have struggled a lot and didn't find one.
My domain DNS are pointing to my server where I have Apache Vhost configured but I want my MX record point to other domain. All of the answer I found was to use some sort of GUI manager like Cpanel or DirectAdmin but I have none of them nor I feel like I need one.
But how the heck can I change my MX records. Which files should I modify. Something in my VirtualHost settings? I'm at the complete loss with this one.
Assuming that you run Linux/Unix OS and bind9 nameserver and your nameserver is primary for your domain.
For Linux.
Check files /etc/named.conf /etc/named.conf.local looking for the paragraph like:
zremove one "yourdomain" {
type master;
file "/path/to/some/file";
For BSD OS check file /usr/local/etc/named.conf
Edit the file that contains the description of your zone (/usr/local/etc/named.conf)
You will see the lines that look like
nnnn IN MX mm mail.server.hostname. where n and m are digits.
Replace mail.server.hostname. with name of your mail host(s). Note the trailing. Add/remove records if you have more/less mail servers than currently.
You have also to modify SOA record increasing value of serial field
Restart named.
BTW. You can info about DNS server configuration from man pages: named (8) and named.conf (5)
There are so many top level domains these days, like .xxx, .club and so on.
How do I check if some domain's top-level domain is correct and exists?
For example, mydomain.xyz. I can cut off mydomain. and check the rule against xyz. Should I get a full list somewhere? I suppose it's not 100% guaranteed as the list can grow over time?
Or may be I should use some remote API for this?
I found this one http://data.iana.org/TLD/tlds-alpha-by-domain.txt and it seems to be the one that I hope is updated regularly. Is it a good enough source?
Please advise.
If you want to check a given string to see if there is a currently existing TLD with that name, you can send an NS query for the name to the root servers and see if they give you a sensible answer. If they do, the TLD exists. If they do not, it does not exist.
If you want a list of all currently existing TLDs, the URL you give in your question is indeed the correct place to get one. As the first line in the file indicates, it does get updated regularly.
Can I use another name instead of ns1 in ns1.webdevelopernepal.net
I mean to say I want dipendra.webdevelopernepal.net instead of ns1.webdevelopernepal.net
and pradhan.webdevelopernepal.net instead of ns2.webdevelopernepal.net
Please help me out I am a newbie..
Short answer, Yes!
Assuming you have access to the DNS settings and can add the appropriate A record or CNAME to point to dipendra.webdevelopernepal.net
As an overall solution i'd like to split dns resolving between different servers, using dnsmasq.
i.e. Default to dns server A, unless explicitly set to dns server B per host (mac).
I'd like to split my network into dnsmasq tagged subnets, for this example say:
192.168.1.80-150 = green
192.168.1.40-50 = red
I would like dhcp leases to be handed by, by -default- tagged green, except for a few specific MACs where I would like to hand out the red tag.
I have this part working successfully (I believe), where i explicitly set it by MAC - but what i would like is for everything -unless specified otherwise- to default to green.
I would then like to say "for all green tags, give them dns server A as their resolver", "for all red tags, give them dns server B as their resolver".
is this possible?
I have the following config that does not seem to work:
--8<--
dhcp-range=set:green,192.168.1.80,192.168.1.150,infinite
dhcp-range=tag:red,192.168.1.40,192.168.1.50,infinite
dhcp-option=net:green,option:dns-server,8.8.8.8,8.8.4.4
dhcp-option=net:red,option:dns-server,192.168.1.11
dhcp-host=AA:BB:CC:DD:CC:BB,redhost1,192.168.1.41,infinite,net:red
dhcp-host=BB:CC:DD:AA:BB:00,greenhost1,192.168.1.81,infinite,net:green
dhcp-option=option:router,192.168.1.1
--8<--
This does not seem to work however, I have different hosts being assigned different ip addresses based on whether i have matched their MAC, and then it seems as if the dns server is not correctly being handed out.
I believe the dns server is not being handed out because a "cat /etc/resolv.conf" on one of the hosts shows 127.0.0.1.
To summarise my queries:
Can i make everything default to 'green', unless explicitly set to 'red' by MAC (at the moment I am having to explicitly put the mac of everything into the conf file)?
Can i specify different DNS servers, for different tagged networks?
For extra clarity I am a bit confused about the different between "tag" and "set" and in googling have found references to both, a short and clean definition of these would be great.
thanks very much
ok, i fixed it (wrt my particular request) and i'll post what i've got here in case it helps someone else.
so my requirement was handing out different dns server (and perhaps different gw) to different hosts, and this seems to work:
dhcp-range=set:green,192.168.1.80,192.168.1.150,infinite
# red network
dhcp-host=11:22:33:44:55:66,hosta,192.168.1.11,infinite,set:red
dhcp-host=66:55:44:33:22:11,aa:bb:cc:dd:ee:ff,hostb,192.168.1.12,infinite,set:red
# green network mobile
dhcp-host=dd:dd:dd:dd:dd:dd,android1,192.168.1.21,infinite,set:green
dhcp-host=cc:cc:cc:cc:cc:cc,android2,192.168.1.22,infinite,set:green
unless expicility set otherwise, everything is tagged green. Some certain MACs are tagged red. Then to do the different dns server and different gw you can do:
# options
dhcp-option=tag:green,option:dns-server,192.168.1.1,192.231.a.b # ,8.8.8.8,8.8.4.4
dhcp-option=tag:red,option:dns-server,192.168.1.c
dhcp-option=tag:green,option:router,192.168.1.1
dhcp-option=tag:red,option:router,192.168.1.c
some other notes / context that i found helpful about this, and also about the net / set / tag options:
The optional set: sets an alphanumeric label which marks this network so that dhcp options may be specified on a per-network basis. When it is prefixed with 'tag:' instead, then its meaning changes from setting a tag to matching it. Only one tag may be set, but more than one tag may be matched.
More than one tag can be set in a dhcp-host directive (but not in other places where "set:" is allowed)
This system evolved from an earlier, more limited one and for backward compatibility "net:" may be used instead of "tag:" and "set:" may be omitted. (Except in dhcp-host, where "net:" may be used instead of "set:".) For the same reason, '#' may be used instead of '!' to indicate NOT.
therefore i think it's safe to just:
use set and tag, and avoid using net (since it's the old way)
use set in your dhcp-range and dhcp-host, to assign the tags, and
use tag in your options to match the tags that you've already set.
as an aside on of those dhcp-hosts you can see with multiple mac addresses, because it's the eth0 and wlan mac's for the same box.
seems to work for me anyway, perhaps this will help someone.
why not change the mind to setup 2 dhcp sections over 2 vlans with just 1 dnsmasq service, and make the 2 vlans communicate with each other through their gateways (or not).
I'd like to query the DNS records until get the right domain name.
For instance, given www.subdomain.site.com.br, be able to dig from .br until site.com.br.
Which is the most (protocol-speaking) way to achieve that? An recipe using dig/nslookup would be best.
Thanks.
dig +trace www.subdomain.site.com.br
will show you exactly what happens.
dig www.mysite.domain.com #a.root-servers.net
you'll get the next level from there. Just replace the portion after the '#' and keep recursing until you query a server that gives an answer rather than additional information