{"id":14,"date":"2010-03-28T21:59:45","date_gmt":"2010-03-28T21:59:45","guid":{"rendered":"http:\/\/blog.danplanet.com\/wordpress\/?p=14"},"modified":"2010-03-28T21:59:45","modified_gmt":"2010-03-28T21:59:45","slug":"jabbercom-dns-record-issues","status":"publish","type":"post","link":"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/","title":{"rendered":"Jabber.com DNS record issues"},"content":{"rendered":"<p>Recently a friend of mine signed up for and started using a jabber.com account to chat with me.\u00a0 I have run my own jabber server for almost ten years now and I&#8217;ve never had problems with the server-to-server (S2S) aspect until now.\u00a0 For some reason, the jabber.com SRV records seem to fail to resolve at times, which was occasionally killing the jabber.com S2S connection with my server.\u00a0 It seemed like the connection would occasionally recycle, which caused my server to lookup the SRV records.\u00a0 If that failed (which was happening multiple times per day) then I would be unable to communicate with jabber.com contacts for several minutes.\u00a0 Their status showed as something like &#8220;404: Server not found&#8221;.\u00a0 In the logs of my Openfire server, I saw items pointing to the failed DNS lookups.<\/p>\n<p>After asking what to do in the Openfire forums, someone mentioned that they had the same issues due to sporadic lookup failures on the jabber.com SRV records.\u00a0 They suggested spoofing the necessary records to fool my server into connecting to the proper IPs without having to perform an actual lookup.<\/p>\n<p>It is pretty silly that I have to do this, but I ended up making it work by running a local copy of <em>BIND<\/em> and hosting the jabber.com zone myself internally.\u00a0 This seemed to resolve the problem for me, which is good.\u00a0 Later when I was working on a different project, I noticed that <em>dnsmasq<\/em> now has the ability to spoof SRV records as well.\u00a0 I decided to switch to using it to do the job instead of bind.<\/p>\n<p>My server is running CentOS 5.x, which has a dnsmasq package available.\u00a0 I installed it via yum:<\/p>\n<blockquote>\n<pre>yum install -y dnsmasq<\/pre>\n<\/blockquote>\n<p>Next, I edited the \/etc\/dnsmasq.conf file and added the following lines:<\/p>\n<blockquote>\n<pre>expand-hosts<br \/>resolv-file=\/etc\/resolv.masq<br \/>srv-host=_xmpp-server._tcp.jabber.org,hermes.jabber.org,5269,1<br \/>srv-host=_xmpp-server._tcp.jabber.com,jabber.com,5269,1<br \/>srv-host=_xmpp-server._tcp.jabber.com,denjab2a.jabber.com,5269,1<br \/><\/pre>\n<\/blockquote>\n<p>Finally, I put the following entries in \/etc\/hosts:<\/p>\n<blockquote>\n<pre>208.68.163.220   hermes.jabber.org<br \/>216.24.133.9     denjab2a.jabber.com<br \/>216.24.133.14    jabber.com<\/pre>\n<\/blockquote>\n<p>Note that the host entries may become stale, so some babysitting of those may be required.\u00a0 I decided to override jabber.org as well since I saw a few similar error messages in the logs for that domain as well.<\/p>\n<p>Next,\u00a0 you need to put your own DNS servers in \/etc\/resolv.masq so that dnsmasq knows where to forward normal requests.\u00a0 Something like the following would work, substituting your own DNS server IP addresses:<\/p>\n<blockquote>\n<pre>nameserver 1.2.3.4<br \/>nameserver 5.6.7.8<\/pre>\n<\/blockquote>\n<p>Finally, you need to tell your system resolver to use the local machine (running dnsmasq) for queries.\u00a0 Set the nameserver in \/etc\/resolv.conf to localhost:<\/p>\n<blockquote>\n<pre>nameserver 127.0.0.1<\/pre>\n<\/blockquote>\n<p>Now you can start dnsmasq and configure it to start at boot:<\/p>\n<blockquote>\n<pre>service dnsmasq start<br \/>chkconfig dnsmasq on<\/pre>\n<\/blockquote>\n<p>A restart of openfire (or whatever you&#8217;re using) would probably be appropriate as well. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently a friend of mine signed up for and started using a jabber.com account to chat with me.\u00a0 I have run my own jabber server for almost ten years now and I&#8217;ve never had problems with the server-to-server (S2S) aspect &hellip; <a href=\"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-14","post","type-post","status-publish","format-standard","hentry","category-miscellaneous"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Jabber.com DNS record issues - Right Angles<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Jabber.com DNS record issues - Right Angles\" \/>\n<meta property=\"og:description\" content=\"Recently a friend of mine signed up for and started using a jabber.com account to chat with me.\u00a0 I have run my own jabber server for almost ten years now and I&#8217;ve never had problems with the server-to-server (S2S) aspect &hellip; Continue reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/\" \/>\n<meta property=\"og:site_name\" content=\"Right Angles\" \/>\n<meta property=\"article:published_time\" content=\"2010-03-28T21:59:45+00:00\" \/>\n<meta name=\"author\" content=\"Dan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/\"},\"author\":{\"name\":\"Dan\",\"@id\":\"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c\"},\"headline\":\"Jabber.com DNS record issues\",\"datePublished\":\"2010-03-28T21:59:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/\"},\"wordCount\":442,\"publisher\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c\"},\"articleSection\":[\"Miscellaneous\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/\",\"url\":\"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/\",\"name\":\"Jabber.com DNS record issues - Right Angles\",\"isPartOf\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/#website\"},\"datePublished\":\"2010-03-28T21:59:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.danplanet.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jabber.com DNS record issues\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.danplanet.com\/blog\/#website\",\"url\":\"https:\/\/www.danplanet.com\/blog\/\",\"name\":\"Right Angles\",\"description\":\"If they&#039;re not right...they&#039;re wrong\",\"publisher\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.danplanet.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c\",\"name\":\"Dan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9b73782704be64dd8c030087af2d1ae0c1dc488cad69093ff0366dbaad2de673?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9b73782704be64dd8c030087af2d1ae0c1dc488cad69093ff0366dbaad2de673?s=96&d=mm&r=g\",\"caption\":\"Dan\"},\"logo\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/image\/\"},\"url\":\"https:\/\/www.danplanet.com\/blog\/author\/dan\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Jabber.com DNS record issues - Right Angles","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/","og_locale":"en_US","og_type":"article","og_title":"Jabber.com DNS record issues - Right Angles","og_description":"Recently a friend of mine signed up for and started using a jabber.com account to chat with me.\u00a0 I have run my own jabber server for almost ten years now and I&#8217;ve never had problems with the server-to-server (S2S) aspect &hellip; Continue reading &rarr;","og_url":"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/","og_site_name":"Right Angles","article_published_time":"2010-03-28T21:59:45+00:00","author":"Dan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Dan","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/#article","isPartOf":{"@id":"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/"},"author":{"name":"Dan","@id":"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c"},"headline":"Jabber.com DNS record issues","datePublished":"2010-03-28T21:59:45+00:00","mainEntityOfPage":{"@id":"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/"},"wordCount":442,"publisher":{"@id":"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c"},"articleSection":["Miscellaneous"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/","url":"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/","name":"Jabber.com DNS record issues - Right Angles","isPartOf":{"@id":"https:\/\/www.danplanet.com\/blog\/#website"},"datePublished":"2010-03-28T21:59:45+00:00","breadcrumb":{"@id":"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.danplanet.com\/blog\/2010\/03\/28\/jabbercom-dns-record-issues\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.danplanet.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Jabber.com DNS record issues"}]},{"@type":"WebSite","@id":"https:\/\/www.danplanet.com\/blog\/#website","url":"https:\/\/www.danplanet.com\/blog\/","name":"Right Angles","description":"If they&#039;re not right...they&#039;re wrong","publisher":{"@id":"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.danplanet.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c","name":"Dan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9b73782704be64dd8c030087af2d1ae0c1dc488cad69093ff0366dbaad2de673?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9b73782704be64dd8c030087af2d1ae0c1dc488cad69093ff0366dbaad2de673?s=96&d=mm&r=g","caption":"Dan"},"logo":{"@id":"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/image\/"},"url":"https:\/\/www.danplanet.com\/blog\/author\/dan\/"}]}},"_links":{"self":[{"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/posts\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":0,"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}