Saturday, August 31, 2013

BIND/named with PostgreSQL back end at CentOS 6.4

I've been trying to find a good documentation on setting up Bind with PostgreSQL as its back end. So far the information is sparse so I've decided to put this recipe together. There is much more than this but the idea is to give you a start.

1) First, make sure you have bind, bind-sdb, postgresql-server RPMs (and their dependencies) installed.

2) After having the RPMs in your system, you have to configure the iptables to allow DNS queries. Edit /etc/sysconfig/iptables to allow queries to the DNS port. Include the following statement after the SSH entry:

-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

Make sure you reload your iptables for this change to get the new rules into effect.



3) Configure named to load the database support. Append the "ENABLE_SDB=yes" statement to /etc/sysconfig/named

echo "ENABLE_SDB=yes" >> /etc/sysconfig/named

4) The zone format to support PostgreSQL back end is the following:

zone "example.com." IN {        type master;
        database "pgsql  <db_name> <db_table> <db_host> <db_user> <db_password>";
};

Note: Make sure to create a database, user and password for BIND. In the following example we are using dbname=binddns, dbhost="localhost", dbuser="binduser", dbpass="bindpass".

For this example we are going to create a .lab domain and a reverse zone for a private IP. We created a "dom_lab" table to hold the .lab domain and a "rev_192_168_77" table to hold the reverse zone for 192.168.77.0/24.

We append the following information to /etc/named.conf

zone "lab." IN {
    type master;
    database "pgsql binddns dom_lab localhost binduser bindpass";
};

zone "77.168.192.in-addr.arpa." IN {
        type master;
        database "pgsql binddns rev_192_168_77 localhost binduser bindpass";
};


4) Setting up the PostgreSQL database and tables.

The bind schema only requires the following columns: name, ttl, rdtype, rdata. In our case we want to have additional columns for primary key (for easier update/delete transactions) and we want to keep track of when the last update to a record and the dbuser that did it.

So, the first part is to create the auto update function for our trigger. We load the plpgsql language and drop any predefined function with the same name.

CREATE LANGUAGE plpgsql;

DROP FUNCTION modtime() CASCADE;

CREATE FUNCTION modtime() RETURNS trigger AS $modtime$
    BEGIN
        -- Check that name,rdtype,rdata are given
        IF NEW.name IS NULL THEN
            RAISE EXCEPTION 'name cannot be null';
        END IF;
        IF NEW.rdtype IS NULL THEN
            RAISE EXCEPTION '% cannot have null record type', NEW.name;
        END IF;
        IF NEW.rdata IS NULL THEN
            RAISE EXCEPTION '% cannot have null data', NEW.name;
        END IF;

        -- Remember last update to table
        NEW.modtime := current_timestamp;
        NEW.moduser := current_user;
        RETURN NEW;
    END;
$modtime$ LANGUAGE plpgsql;

This functions assume that the table have a modtime and moduser column to update.

Lets create the .lab domain forwarding records. For this we create the table, insert some records and create the trigger to track updates.

drop table dom_lab;

create table dom_lab (
    id serial not null,
    name    TEXT not null,
    ttl     INTEGER not null DEFAULT '120',
    rdtype  TEXT not null,
    rdata   TEXT not null,
    modtime timestamp DEFAULT current_timestamp,
    moduser TEXT DEFAULT current_user,
    PRIMARY KEY(id)
);

INSERT INTO dom_lab (name, ttl, rdtype, rdata) values ('lab','3600','SOA','localhost. support.savantadvisors.com. 1 1d 2h 4w 1h');
INSERT INTO dom_lab (name, ttl, rdtype, rdata) values ('lab','3600','NS','dns1.lab.');
INSERT INTO dom_lab (name, ttl, rdtype, rdata) values ('lab','3600','NS','localhost.');
INSERT INTO dom_lab (name, ttl, rdtype, rdata) values ('dns1.lab','120','A','192.168.77.19');
INSERT INTO dom_lab (name, ttl, rdtype, rdata) values ('dns1.lab','120','A','192.168.77.162');
INSERT INTO dom_lab (name, ttl, rdtype, rdata) values ('ovirt.lab','120','A','192.168.77.19');
INSERT INTO dom_lab (name, ttl, rdtype, rdata) values ('lab','120', 'MX','5 mx.lab.');
INSERT INTO dom_lab (name, ttl, rdtype, rdata) values ('mx.lab','120', 'A','192.168.77.19');

CREATE TRIGGER dom_lab_timestamp BEFORE INSERT OR UPDATE ON dom_lab
    FOR EACH ROW EXECUTE PROCEDURE modtime();

Now lets create the table to hold the reverse zone for 192.168.77.0/24 network. For this we create the table, insert some values and create the trigger.

drop table rev_192_168_77;

create table rev_192_168_77 (
    id serial not null,
    name    TEXT not null,
    ttl     INTEGER not null DEFAULT '120',
    rdtype  TEXT not null,
    rdata   TEXT not null,
    modtime timestamp DEFAULT current_timestamp,
    moduser TEXT DEFAULT current_user,
    PRIMARY KEY(id)
);

INSERT INTO rev_192_168_77 (name, ttl, rdtype, rdata) values ('77.168.192.in-addr.arpa','3600','SOA','localhost. support.savantadvisors.com. 1 1d 2h 4w 1h');
INSERT INTO rev_192_168_77 (name, ttl, rdtype, rdata) values ('77.168.192.in-addr.arpa','3600','NS','localhost.');
INSERT INTO rev_192_168_77 (name, ttl, rdtype, rdata) values ('77.168.192.in-addr.arpa','3600','NS','dns1.lab.');
INSERT INTO rev_192_168_77 (name, ttl, rdtype, rdata) values ('19.77.168.192.in-addr.arpa','120','PTR','ovirt.lab');
INSERT INTO rev_192_168_77 (name, ttl, rdtype, rdata) values ('19.77.168.192.in-addr.arpa','120','PTR','dns1.lab');
INSERT INTO rev_192_168_77 (name, ttl, rdtype, rdata) values ('162.77.168.192.in-addr.arpa','120','PTR','ovirt.lab');

CREATE TRIGGER rev_192_168_77_timestamp BEFORE INSERT OR UPDATE ON rev_192_168_77
    FOR EACH ROW EXECUTE PROCEDURE modtime();

Finally, here are some outputs:

binddns=# select * from dom_lab;
 id |   name    | ttl  | rdtype |                        rdata                         |          modtime           | moduser 
----+-----------+------+--------+------------------------------------------------------+----------------------------+----------
  1 | lab       | 3600 | SOA    | localhost. support.savantadvisors.com. 1 1d 2h 4w 1h | 2013-08-31 15:28:45.751118 | binduser
  2 | lab       | 3600 | NS     | dns1.lab.                                            | 2013-08-31 15:28:45.757822 | binduser
  3 | lab       | 3600 | NS     | localhost.                                           | 2013-08-31 15:28:45.766146 | binduser
  4 | dns1.lab  |  120 | A      | 192.168.77.19                                        | 2013-08-31 15:28:45.774814 | binduser
  5 | dns1.lab  |  120 | A      | 192.168.77.162                                       | 2013-08-31 15:28:45.78318  | binduser
  6 | ovirt.lab |  120 | A      | 192.168.77.19                                        | 2013-08-31 15:28:45.791461 | binduser
  7 | lab       |  120 | MX     | 5 mx.lab.                                            | 2013-08-31 15:28:45.799364 | binduser
  8 | mx.lab    |  120 | A      | 192.168.77.162                                       | 2013-08-31 15:31:35.230772 | binduser
(8 rows)

binddns=# 


binddns=# select * from rev_192_168_77;
 id |            name             | ttl  | rdtype |                        rdata                         |          modtime           | moduser 
----+-----------------------------+------+--------+------------------------------------------------------+----------------------------+----------
  1 | 77.168.192.in-addr.arpa     | 3600 | SOA    | localhost. support.savantadvisors.com. 1 1d 2h 4w 1h | 2013-08-31 15:34:39.063912 | binduser
  2 | 77.168.192.in-addr.arpa     | 3600 | NS     | localhost.                                           | 2013-08-31 15:34:39.070303 | binduser
  3 | 77.168.192.in-addr.arpa     | 3600 | NS     | dns1.lab.                                            | 2013-08-31 15:34:39.079037 | binduser
  4 | 19.77.168.192.in-addr.arpa  |  120 | PTR    | ovirt.lab                                            | 2013-08-31 15:34:39.087333 | binduser
  5 | 19.77.168.192.in-addr.arpa  |  120 | PTR    | dns1.lab                                             | 2013-08-31 15:34:39.095371 | binduser
  6 | 162.77.168.192.in-addr.arpa |  120 | PTR    | ovirt.lab                                            | 2013-08-31 15:34:39.103927 | binduser
(6 rows)

binddns=# UPDATE rev_192_168_77 SET ttl='3600' where id='4';
UPDATE 1

binddns=# DELETE FROM rev_192_168_77 WHERE id='5';
DELETE 1


NOTE: You can only have one reverse pointer per address so I deleted the second entry

binddns=# select * from rev_192_168_77;
 id |            name             | ttl  | rdtype |                        rdata                         |          modtime           | moduser 
----+-----------------------------+------+--------+------------------------------------------------------+----------------------------+----------
  1 | 77.168.192.in-addr.arpa     | 3600 | SOA    | localhost. support.savantadvisors.com. 1 1d 2h 4w 1h | 2013-08-31 15:34:39.063912 | binduser
  2 | 77.168.192.in-addr.arpa     | 3600 | NS     | localhost.                                           | 2013-08-31 15:34:39.070303 | binduser
  3 | 77.168.192.in-addr.arpa     | 3600 | NS     | dns1.lab.                                            | 2013-08-31 15:34:39.079037 | binduser
  6 | 162.77.168.192.in-addr.arpa |  120 | PTR    | ovirt.lab                                            | 2013-08-31 15:34:39.103927 | binduser
  4 | 19.77.168.192.in-addr.arpa  | 3600 | PTR    | ovirt.lab                                            | 2013-08-31 16:18:03.470766 | binduser 

(5 rows)
 

binddns=#

We can verify the results using the regular DNS utilities from bind-utils


server# host ovirt.lab 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

ovirt.lab has address 192.168.77.19

server# host 192.168.77.162 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

162.77.168.192.in-addr.arpa domain name pointer ovirt.lab.

server# host 192.168.77.19 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

19.77.168.192.in-addr.arpa domain name pointer ovirt.lab.
  
Hope this helps anyone looking for this kind of information. Thanks for stopping by!

169 comments:

  1. Your post has many detail information. I read all your article and I really like it. Thank you for sharing this great post.
    - gta 5 cheats

    ReplyDelete
  2. Thank you so much for posting this. I really appreciate your work. Keep it up. Great work!Best software training company with placement in Hyderabad

    ReplyDelete
  3. Thanks for the blog post buddy! Keep them coming... PostgreSQL alias

    ReplyDelete
  4. Excellent erudition Providing by your Article, thank you for taking the time to share with us such a nice article. Amazing insight you have on this, it's nice to find a website that details so much information about different artists. Kindly visit the LiveWebTutors website we providing the best online assignment help services in Australia.

    For More Info: Assignment Writing Help

    ReplyDelete
  5. This comment has been removed by the author.

    ReplyDelete
  6. It was really a nice experience to be on your blog. Mobilerepairfactory.com.au offers mobile phone and Tablet repair services in Sydney. Get repair your mobile by visiting on IPhone Repair Sydney

    ReplyDelete
  7. Nice piece of content you have shared. I read your article for getting good source of information. Thanks for sharing it.

    Topnotch SEO services

    ReplyDelete
  8. Thank you so much for posting this. I really appreciate your work. Keep it up. Great work!

    Best SEO company with placement in Ontario

    ReplyDelete
  9. Great post. I have learned a lot. Thanks.
    There are some discount drapes. beautiful indoor curtains, please try that.

    ReplyDelete
  10. Great job for publishing such a nice article. Your article isn’t only useful but it is additionally really informative. Thank you because you have been willing to share information with us. Get the LG Phone Repair services at officialphonerepair.co.uk.

    ReplyDelete
  11. i am very impres of your post.

    https://grfreightservices.com/

    ReplyDelete
  12. I visited your site for the first time and started reading this one blog. It kept me stuck to your content. You have written it so well that I can’t keep my eyes off from it and reached the end of this.
    local businesses

    ReplyDelete
  13. I enjoyed reading this post a lot
    This is a reality that blogging isn’t a
    quick money-making business.
    But it’s a nice business. thanks for
    sharing this post.izr

    ReplyDelete
  14. This article is very useful. Very good article. Thank you for telling me about this article. I know of a school & fashion house that has a good education in fashion. best fashion design schools in accra Riohs Originate is a Creative Art Service and Training Institute in Ghana.
    They provide services and training for individuals/organizations that value their image, style, color and insist on promptness, accuracy and consistency.
    best fashion schools in accra ghana
    top fashion schools in accra

    fashion training schools in accra

    names of fashion schools in accra

    fashion design schools in accra ghana

    ReplyDelete
  15. Baby Frock Nice post! This is a very nice blog that I will definitively come back to more times this year! Thanks for informative post.

    ReplyDelete
  16. http://www.greysquall.com/2016/06/wasting-money-advertising-on-facebook.html?showComment=1598084096181#c1154877203345843834 Awesome article, it was exceptionally helpful! I simply began in this and I'm becoming more acquainted with it better! Cheers, keep doing awesome!

    ReplyDelete
  17. Frock for girls We are really grateful for your blog post. You will find a lot of approaches after visiting your post. I was exactly searching for. Thanks for such post and please keep it up. Great work.

    ReplyDelete
  18. Frock design This is such a great resource that you are providing and you give it away for free. I love seeing blog that understand the value of providing a quality resource for free.

    ReplyDelete
  19. Frock This is my first visit to your web journal! We are a group of volunteers and new activities in the same specialty. Website gave us helpful data to work.

    ReplyDelete
  20. Frock style I like your post. It is good to see you verbalize from the heart and clarity on this important subject can be easily observed...

    ReplyDelete
  21. baby Frock design Very informative post! There is a lot of information here that can help any business get started with a successful social networking campaign.

    ReplyDelete
  22. Frock design for girls Wow, What a Excellent post. I really found this to much informatics. It is what i was searching for.I would like to suggest you that please keep sharing such type of info.Thanks

    ReplyDelete
  23. baby girl dresses Great job for publishing such a beneficial web site. Your web log isn’t only useful but it is additionally really creative too.

    ReplyDelete
  24. baby girls dresses Decent post! This is an exceptionally decent blog that I will absolutely return to more occasions this year! A debt of gratitude is in order for enlightening post.

    ReplyDelete
  25. Online shopping in Pakistan We are really grateful for your blog post. You will find a lot of approaches after visiting your post. I was exactly searching for. Thanks for such post and please keep it up. Great work.

    ReplyDelete
  26. bridal dresses I like your post. It is good to see you verbalize from the heart and clarity on this important subject can be easily observed...

    ReplyDelete
  27. fancy dress for girls Very informative post! There is a lot of information here that can help any business get started with a successful social networking campaign.

    ReplyDelete
  28. wedding dresses for girls Wow, What a Excellent post. I really found this to much informatics. It is what i was searching for.I would like to suggest you that please keep sharing such type of info.Thanks

    ReplyDelete
  29. wedding dresses Great job for publishing such a beneficial web site. Your web log isn’t only useful but it is additionally really creative too.

    ReplyDelete
  30. girls dresses Decent post! This is an exceptionally decent blog that I will absolutely return to more occasions this year! A debt of gratitude is in order for enlightening post.

    ReplyDelete
  31. Online Shopping for girls Decent post! This is an exceptionally decent blog that I will absolutely return to more occasions this year! A debt of gratitude is in order for enlightening post.

    ReplyDelete
  32. Nice article and explanation Keep continuing to write an article like this. This is a topic that’s near to my heart… Best wishes! I like your Post and helped me.

    No more waste time to searching #HDimages, #PCwallpaper, #smartphone_wallpaper, #socialmedia_banner, #socialmedia_image_post, #natureHDimages, and many more awesome pictures. Just visit All Awesome Pictures Only For Love Hearts and choose your best choice.
    All Awesome Pictures Only For Love Hearts
    All Awesome Pictures Only For Love Hearts
    All Awesome Pictures Only For Love Hearts

    ReplyDelete
  33. This is the information exactly what I am looking on internet today. i learned useful information from this post. article is nicely explained and easy to understand. thanks for sharing this valuable information with us. keep your good work.

    ReplyDelete
  34. Great Blog. Thanks for generous us a great list go men fashion Blog. I found it very exciting.
    CPP Boxes

    ReplyDelete
  35. No wonder you are in the same situation like all our die-hard Matka fans but don't know what to do. Internet is presently flooded with various sites who claim themselves as the best Satta Matka sites. https://dpboss.team/
    Satta Matka

    ReplyDelete
  36. The very Nice post to read from the interesting article and I really like that one of the interesting content in the post and really helpful for me and for other readers on that website to read that, I am expecting more such kind of posting from the writer So Nice. I know party rentals bethesda md . they provide better service
    https://dcpartyrentalsupply.com/blog-party-rental-bethesda-md/
    party rentals bethesda md

    ReplyDelete
  37. Thank you for this informative post

    Get Six Sigma Certification Online with HenryHarvin.
    Learn from experts and be on top

    ReplyDelete
  38. Here is one of the best mobile trading app for eanring money in share market.

    ReplyDelete
  39. i like this post very nice article, most
    of people moving towards blog platform
    thanks for sharing this valuable information.
    psychiatrist in Lahore

    ReplyDelete
  40. Thanks for sharing great. If you want to lean Six Sigma Black Belt, You can join Six Sigma Certification Courses at Henry Harvin Education.

    ReplyDelete
  41. Thanks for sharing great. If you want to lean Six Sigma Black Belt, You can join keyword at Henry Harvin Education.

    ReplyDelete

  42. Thank you for the valuable insights

    Get Six Sigma Certification In Delhi with HenryHarvin.
    Learn from experts and be on top.

    ReplyDelete
  43. What a well written post!
    Get Six Sigma Certification Online with HenryHarvin.
    Learn from experts and be on top. The certification provided upon completion will act as an asset to your CV. Hurry up!

    ReplyDelete
  44. Amazing information, thank you for such amazing insights
    Get Lean Six Sigma Green Belt Certification with HenryHarvin.
    Learn from experts and be on top. These courses are taught by industry leaders and upon completion a certification is provided.

    ReplyDelete
  45. thanks for share this blog .
    this blog is gret article
    home tutor in lahore

    ReplyDelete
  46. This page contains the necessary information I have a enjoyable site if you feel free you can visit my site Yespornplease

    ReplyDelete
  47. This page contains the necessary information The Samsung Galaxy M52 is going to be published very soon if you feel free you can visit my site Samsung M52 Price

    ReplyDelete
  48. Thank you for sharing your info. I really appreciate your efforts and I am waiting for your further write ups thank you once again. And know Mimz International Merchandising Company provides services to clients to Make their Vision a Reality and to help companies to improve business performance. merchandising

    ReplyDelete
  49. Thank you for sharing such a great knowledge. Really appreciable this type of efforts.

    Rachna soni
    Freelancerdigitalcite.com

    ReplyDelete
  50. Play at a leading online casino in India and grab exciting rewards. ComeOn Casino offers amazing slots, table games, and live dealer casino. Read complete ComeOn Casino review and dive into it.

    ReplyDelete
  51. Food and recipes
    Thank you admin for your useful information . I think your dedication is inspiring. This note is just an extension of what we all already know. We couldn’t do it without you.

    ReplyDelete
  52. Do Your online shopping with cheap and good quality clothing and garments store and stay with the blessings of Christmas and a happy new year berrylook coupon

    ReplyDelete
  53. I am completely settled with you. I must say that I have knowledgeable a lot of things from it. please keep posting Hajj Packages

    ReplyDelete
  54. It was really a nice experience to be on your blog.

    Neelam valley tour packages

    ReplyDelete
  55. This is such a great resource that you are providing and you give it away for free.

    best rehabilitation center in lahore

    ReplyDelete
  56. A debt of gratitude is in order for enlightening post.
    Skardu tour packages

    ReplyDelete
  57. i am SQl Server student and i always face problem of Data . thanks for sharing nice information .
    Top Custom Software Development Company in Chandigarh

    ReplyDelete
  58. Fantasy Power 11 if you have a good knowledge of Cricket you Can play daily online , live cricket games at best cricket games app for android phones to win real cash and amount
    to instant approve in your bank or paytm wallet . best cricket games for android

    ReplyDelete
  59. Fantasy Power 11 if you have a good knowledge of Cricket you Can play daily online , live cricket games at best cricket games app for android phones to win real cash and amount
    to instant approve in your bank or paytm wallet . best cricket games for android

    ReplyDelete
  60. Microsoft Office 2016 Product Key for Free [100% Working]

    Microsoft Office 2016 is the most recent variant of Microsoft Office which succeeds Microsoft Office 2013. Microsoft Office 2016 Product Key is the key that will give you to work Office 2016 expert in addition to. On the off chance that you are utilizing Office 365, you can without much of a stretch move up to Office 2016 utilizing MS Office 2016 Product Key.

    What is Microsoft Office 2016 Product Key?

    At the point when you will introduce or enact MS Office 2016, you will be provoked to enter a 25-character Microsoft Office 2016 Product Key, which resembles this:
    Microsoft Office 2016 Product Key

    ReplyDelete
  61. Comprehensive brokerage calculator to calculate how much brokerage, STT, tax etc

    ReplyDelete
  62. Open Demat Account Online for Free with Indira Securities in just 15 mins

    ReplyDelete
  63. NetSol Technologies provides software solutions for motolease, moto lease, asset finance software, auto finance software, auto leasing software, automobile leasing software, software leasing company, top financial software companies, wfs wholesale, asset finance, omni pos, floorplan finance, car leasing software, NXT contract origination, and activation.

    ReplyDelete
  64. https://account-ease.co.uk/accounting-services-for-small-businesses/
    Annual Accounts and Tax Filing Services
    read this article

    ReplyDelete
  65. Indira Securities secure login for Online market trading and portfolio management.

    ReplyDelete
  66. Watch currency market live news on Indira securities website. Get live foreign exchange rates, forex News, foreign currency rates etc.

    ReplyDelete
  67. A very informative article, thanks for sharing learned a lot. Looking for a logo just click the link below:
    buy logo

    ReplyDelete
  68. The company offers open commodity trading account online and traders community which helps them save on brokerage.

    ReplyDelete
  69. Indira Trade Brokerage Calculator helps you to calculate the amount of delivery brokerage

    ReplyDelete
  70. NetSol Technologies provides software solutions for asset finance, automotive finance, leasing management, lending, contract origination and activation.

    ReplyDelete
  71. Connect for beautiful and hot girls entertaining services
    Dubai Escorts
    Escorts in Dubai

    ReplyDelete
  72. Code Ninja is one of the leading web development company. It has been excelling in the IT industry for the past 8 years whilst delivering numerous web development projects at competitive prices, having 100% satisfied customers all over the globe. This software house specializes in delivering complex custom web development agency, ecommerceplat forms, app development (iOS, Android, & Windows), Custom CRM Development, search engine optimization, and creative web design, shopify, magento technologies. CodeNinja is well reputed for delivering multifaceted IT Solutions across the world to a host of local and international clients.

    ReplyDelete
  73. This comment has been removed by the author.

    ReplyDelete
  74. I am very happy after visiting your website with very useful information. I am from one of the digital marketing agency... To visit my agency click on link Visitdigitalguru

    ReplyDelete
  75. Thanks for sharing informative content…Find noida software company to know more and Contact us on given no.…

    ReplyDelete
  76. Nice things you share with us. I appriciate your work. You know BollywoodGali app is best useful app this time. Bollywood Gali is Free Bollywood Celebrities Information and Photos App. Must Check.

    ReplyDelete
  77. JGallerypro is a Best Photo Gallery App. It's just a personal preference. Simple easy to use it allows me to put my pictures in all different folders. Don't need any complicated nonsense. This app is perfect.

    ReplyDelete
  78. Great read! I like your work. Do you know where you can check Hollywood Actress personal information and download their HD photos.

    ReplyDelete
  79. thanks for sharing your knowledge you should careful about your
    health

    ReplyDelete
  80. yes you are right your article is helpful for me thanks for sharing this type of good articles now a days covid is spreading all of the wolrd should follow SOP'S and take care of your

    Best Rehabilitation Center in Lahore

    ReplyDelete
  81. I like this post ,It is very useful. Dr. George Tumanishvili Education Full Service of Personal Coaching for Individuals and Corporations.

    ReplyDelete
  82. Thanks for sharing information with us…satisfied after visiting your blog…. Learn the latest trends & their practical application by experts with us…you can contact us click on
    Visit ISMT India

    ReplyDelete
  83. Hi, this article is absolutely perfect.Excellent information, thanks for sharing this post .good work (Best Training institute for data scientist course in Hyderabad)
    #https://socialprachar.com/data-science/

    ReplyDelete
  84. I have read your blog its very good Keep writing and sharing.
    Best Astrologer in Vijaynagar

    ReplyDelete
  85. I m very impress after read your blog for first time your Amazing content I will definitely shared other platform
    QuickBooks Support Phone Number


    ReplyDelete
  86. This is amazing article its really very helpful blog thanks for sharing with us .keep going on always .you can also check our service
    quickbooks support phone number

    ReplyDelete
  87. It’s actually a nice and helpful piece of spots. I am happy that you simply shared this useful game with us. Please keep enjoying yourself with us.Play Online Rummy
    | Play Rummy Online

    ReplyDelete
  88. Study Engineering at the best autonomous college in AP with scholarships and full faculty support with high quality education and professional career support.
    https://www.adityatekkali.edu.in/

    ReplyDelete
  89. This is useful information for me thanks for sharing with us can you get benefit my service

    quickbooks support phone number

    ReplyDelete
  90. Nice post. Are you looking for a nice coffee shop?
    Head Chef Cafe and Coffee Shop in Deeside, United Kingdom. The best service and customer friendly Cafe and Restaurant in Deeside. All day British breakfast. Custom meals and much more. https://g.page/r/CSTteLfFD3N9EA0

    ReplyDelete
  91. its is very inspiring article .I loved your article which fulfill all accounting service needed

    Thanks for sharing us .you can also benefit my quickbooks support phone number

    ReplyDelete
  92. This comment has been removed by the author.

    ReplyDelete
  93. Your blog is very amazing i m waiting another blog thanks for provide useful information you can also visit my

    quickbooks customer service

    ReplyDelete

  94. I am Intrested to the site and thanks for this site ...keep sharing
    Best Technology details read content

    ReplyDelete
  95. This is impressive information thanks for sharing with us .If you are looking accounting software solution Our experts at


    QuickBooks customer service

    ReplyDelete
  96. Nice Information...thanks for sharing this good information & i have some information about the Real Estate luxurious projects in Hyderabad, Telangana, India...
    This Project will helpful for those who are looking to buy their Dream Home with low budget..
    Thanks for Sharing..!.!

    Ambience Courtyard
    Sumadhura Horizon
    The Botanika
    Spring is in the air
    Aditya Athena

    ReplyDelete
  97. Nice Blog Thans for sharing with us...and i have some information about....The botanika is a new residential project located in Gachibowli, Hyderabad. This project offers 3 BHK Luxury Apartments in Affordable Prices. Contact Us@ 98492 05577

    The Botanika
    The Botanika Hyderabad
    The Botanika Gachibowli

    ReplyDelete
  98. I really like your blog thanks for sharing...and i have some information about Ambience Courtyard developed by Koncept Ambience Group, located in Manikonda, Hyderabad. Project provides 2,2.5 & 3bhk bedroom luxury flats available for sale in affordable prices.

    Ambience Courtyard
    Ambience Courtyard Hyderabad
    Ambience Courtyard Manikonda
    Ambience Courtyard Manikonda Hyderabad

    ReplyDelete
  99. Nice Blog,I feel like all your ideas are incredible! Great job!!!
    I have some information about:

    Pbel City
    ASBL Spire
    Phoenix Luxury Park 1
    Aspire Spaces Ameya
    Aspire Ameya

    ReplyDelete
  100. Great Blog...thanks for sharing with us...and i have some information about Sumadhura Horizon is a residential project developed by Sumadhura Infracon Pvt. Ltd, located in Kondapur, Hyderabad. It is provides 3BHK Luxury Flats in affordable prices.

    Sumadhura Horizon
    Sumadhura Horizon Hyderabad
    Sumadhura Horizon Kondapur

    ReplyDelete
  101. Nice Article...Thanks for sharing with us...i have some information about Spring Is In The Air Urbanrise project Developed by Manhattan Condos, Located in Miyapur, Hyderabad. It Provides 2bhk & 3bhk Luxury Flats Available.

    Spring Is In The Air
    Spring Is In The Air Urbanrise
    Spring Is In The Air Urbanrise Miyapur
    Spring Is In The Air Urbanrise Hyderabad

    ReplyDelete
  102. Great Information...Thanks for sharing with us...Aditya Athena is a brand new residential project developed by Sri Aditya Homes located in Shaikpet, Hyderabad. It offers 2bhk and 3bhk Residential Apartments in affordable prices.

    Aditya Athena
    Sri Aditya Athena
    Aditya Athena Hyderabad
    Aditya Athena Shaikpet

    ReplyDelete
  103. I appreciate to your blog because this BLOG is different according to other Blogging.
    quickbooks phone number

    ReplyDelete

  104. hello,What do you think about posting the Newsletter to a blog with its own specific link, then mailing a short email with the without it within so people can read it on the blog, similar to how you do with the Recommendations?
    Quickbooks customer service number

    ReplyDelete
  105. This comment has been removed by the author.

    ReplyDelete
  106. u r blog is profesional and Informative and this has helped me with one component.
    Quickbooks customer service

    ReplyDelete
  107. Thanks for providing such wonderful ideas with us on your blog.
    Quickbooks Customer Service Number

    ReplyDelete
  108. Thanks for sharing this fantastic weblog and for providing me with it.
    quickbooks phone number

    ReplyDelete
  109. It's fantastic...When it comes to the carrier, blogging is the finest.
    quickbooks phone number

    ReplyDelete
  110. call us on QuickBooks Phone Number 1866-822-4745 and get effective ways to mend QuickBooks problems.
    Quickbooks Phone Number

    ReplyDelete
  111. call us on Quickbooks Phone Number 1866-822-4745 and get effective ways to mend QuickBooks problems.

    ReplyDelete
  112. Our team at Quickbooks Phone Number 1833-244-5865 is responsible to make sure that particular issue should be discarded in the quickest time. Here you will receive permanent solutions to QuickBooks issues.

    ReplyDelete
  113. These errors can cause a serious issue in your work. To eliminate these errors, connect with our team at Quickbooks Phone Number1 877-754-1114.

    ReplyDelete
  114. Much thanks to you for your blog article.Really anticipating read more. Will peruse on…

    amazidshop

    ReplyDelete
  115. Immediate help for QuickBooks errors can be availed at Quickbooks Phone Number 1 877-948-5867

    ReplyDelete
  116. quickbooks customer service number 1 866-447-5478 and enjoy quick assistance for QuickBooks troubles

    ReplyDelete
  117. Get quick service for QuickBooks on Quickbooks Phone Number 1 855-756-1077

    ReplyDelete
  118. Get customer support service on time at quickbooks customer service number 1 866-822-4745

    ReplyDelete
  119. Buy designer study table for students online at customhouzz. This study table comes with storage to keep you organized. study table for bed also available. get free delivery.Must Visit Our Wooden Furniture Online Store.

    ReplyDelete
  120. Appreciative to you, I should say to it's sufficient post for blog. McDVOICE Survey

    ReplyDelete
  121. 4 seater dining table: Buy dining table set 4 seater Online in India from Customhouzz. Choose a four seater round & glass table Online & get amazing offer and discount. Must Visit at Our Online furniture Store & choose a best one for your home.

    ReplyDelete
  122. Incredible Article. Much obliged to you, extremely accommodating.. does coconut flour expire

    ReplyDelete
  123. Still looking for help with your Quickbooks? Our global, local, and phone customer service will be here to help you 24/7
    quickboks customer service(855) 742-7868.

    ReplyDelete
  124. Avail the right methods to solve QuickBooks errors on Quickbooks Phone NumberQuickbooks Phone Number (877) 762-1118

    ReplyDelete
  125. Leather Sofa Set: Buy Leather Sofa Set Designs Online & Save Upto 40% OFF. Find modern & stylish leather & fabric sofa sets, sofa cum bed, L shaped sofas for your living room at best price.

    ReplyDelete
  126. This content material is written very well. Your use of formatting when making your factors makes your observations very clear and clean to apprehend. Thanks.


    law dissertation Writing Service

    ReplyDelete
  127. Dressing Table: Buy Wooden Dressing Table Online at Best Price in India, Browse our modern dressing table with storage online with greate deals & Offer. Custom Houzz provide you best furniture online in India. Shop Now!

    ReplyDelete
  128. Covid is here, sure, and it has changed the way the world was before. Almost everyone was cooped up at home, ensconced far away from the clutches of this dreade. Tanning Salon in Boca Raton

    ReplyDelete
  129. The article was up to the point and described the information about education and learning. Thanks to blog author for wonderful and informative post. Philippines outsourcing

    ReplyDelete
  130. very informative article . keep sharing it . are looking accounting software service you can call at quickbooks phone number

    ReplyDelete
  131. The article was up to the point and described the information about education and learning. Thanks to blog author for wonderful and informative post. disability insurance awareness month

    ReplyDelete
  132. The article was up to the point and described the information about education and learning. Thanks to blog author for wonderful and informative post. boaz derra

    ReplyDelete
  133. The article was up to the point and described the information about education and learning. Thanks to blog author for wonderful and informative post. doctors Disability insurance

    ReplyDelete
  134. The article was up to the point and described the information about education and learning. Thanks to blog author for wonderful and informative post. rehabs in Florida

    ReplyDelete
  135. The article was up to the point and described the information about education and learning. Thanks to blog author for wonderful and informative post. Bitcoin near me

    ReplyDelete
  136. Buy Sharara Suits online for women. Parchhai is offering latest design sharara suits online in India for ladies/women, our product are perfect combination of quality price, what are you waiting for shop with us today and grab the exciting deals on your favourite design suits.

    ReplyDelete
  137. Thank you for the good writeup. It in fact was a amusement account it.

    Look advanced to far added agreeable from you! By the way, how could we communicate?
    Shalom Lamm

    ReplyDelete
  138. I have been surfing online more than 4 hours today, yet I never found any

    interesting article like yours. It's pretty worth enough for me.

    Personally, if all site owners and bloggers made good content

    as you did, the net will be much more useful than ever before.

    By the way, here is a link to fantastic site for earnings
    Shalom Lamm

    ReplyDelete
  139. Great weblog here! Additionally your web site loads up fast!
    hyperlink for your host? I want my web site loaded up as fast as yours lol.
    Shalom Lamm

    ReplyDelete
  140. Oxycodone is used to cure moderate and severe pain and it can be taken for short term as well as long term. These medicines help to decrease your pain and it sends a message to your brain and after taking it you feel good. If you want to know more or want to Buy Oxycodone Online At Cheapest Rate, then you can check the link below.

    Check it out:- Buy Oxycodone Online At Cheapest Rate

    Contact us:- https://pharmacyorderonline.com/contact-us/

    ReplyDelete