вівторок, 9 вересня 2008 р.

host lookup problems and hacky solutions

I got this really weird problem today: x apps couldn't connect XMing host saying "cannot connect to X server".
After some trials & errors - I defined that linux box can't resolve "localhost" host and its own local hostname "ninja"...
/etc/nsswitch.conf shows:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
(files go first)
/etc/hosts is all right too...

nslookup shows that it tries to resolve localhost and ninja using dsl isp nameservers
ping shows "unknown host 'localhost'" or something like that - why doesn't it use hosts file? I still don't know... after some time on linux community forums I've decided to fix it my way and here is how I did it:

1) first of all, I turned off some pppoe up and down scripts that rewrite /etc/resolv.conf:
# these must be chmoded to non-executables
# ip-up script uses run-parts that runs all the executable files
sudo chmod -x /etc/ppp/ip-up.d/0000usepeerdns
sudo chmod -x /etc/ppp/ip-up.d/0dns-up
sudo chmod -x /etc/ppp/ip-up.d/dns-totd
# I think these can be left executable, but just to be sure...
sudo chmod -x /etc/ppp/ip-down.d/0000usepeerdns
sudo chmod -x /etc/ppp/ip-down.d/0dns-up
sudo chmod -x /etc/ppp/ip-down.d/dns-totd
# after poff and pon dsl-provider resolv conf remains the same (see 2) so it worked

2) /etc/resolv.conf was looking this way before:
search local.lan
these values were set automatically on dsl link up
I changed it to this:
#search local.lan
I have to mention that I have bind9 up and running successfully as a local dns server for a few months (so I won't be describing bind9 setup here)

3) bind9 has a "localhost" zone already configured so at this point I could already ping localhost alright. I needed to be able to ping "ninja" hostname, so here's what I did:
- opened bind config file in editor
sudo nano /etc/bind/named.conf
- added "ninja" zone to it
zone "ninja" {
type master;
file "/etc/bind/db.ninja";
- added zone definition file /etc/bind/db.ninja mentioned above

sudo nano /etc/bind/db.ninja
; BIND data file for local loopback interface
$TTL 604800
@ IN SOA ninja. root.ninja. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS ninja.
@ IN A

and it pings.

P.S. XMing is alive again

понеділок, 8 вересня 2008 р.

"global" domain name with dynamic ip

Recently, I've started to want a globally-accessible, dedicated domain name for my linux box, instead of the one dyndns services give, e.g. yourhost.dyndnsservice.domain etc - so I've registered an .info domain for 2 bucks (there was some promotion so I got lucky) at godaddy and began to look for a way to bind it my linux box - it turned out that my current dyndns service wants about $25 for that (a bit too much I guess).
finally I've found http://www.dnsexit.com/ which does it for free. you need to sign up, add your domain, set their nameservers in domain control panel as registrar's website, setup dynamic ip client to update and that's it