نکته :: راه اندازی سرویس BIND به همراه PostgreSQL
درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من
    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      احسان هدایتی
      امتیاز: 917
      رتبه:309
      0
      2
      2
      11

      راه اندازی سرویس BIND به همراه PostgreSQL

      تاریخ 18 ماه قبل
      نظرات 0
      بازدیدها 145
      یکی از قابلیت های جدیدی که از ورژن 9.8 به BIND اضافه شده است SDB می باشد، SDB این امکان را به ما میدهد که از یک دیتابیس به عنوان Backend برای BIND بهره ببریم.
      در حال حاضر SDB فقط از SQLite ، PostgreSQL و LDAP پشتیبانی میکند، که در این بخش نحوه راه اندازی آن با PostgreSQL را آموزش میدهیم.
      در ابتدا پکیج های مورد نیاز را نصب میکنیم :
      [root@named ~]# yum install -y epel-release
      [root@named ~]# yum install -y bind bind-utils bind-sdb postgresql postgresql-server postgresql-odbc
      
      سرویس PostgreSQL را استارت میکنیم :
      [root@named ~]# postgresql-setup initdb
      [root@named ~]# systemctl start postgresql && systemctl enable postgresql
      
      یک یوزر ایجاد میکنیم :
      [root@named ~]# sudo -i -u postgres
      $ createuser root --login --superuser --createdb --createrole --encrypted -P -W
      Enter Password: Aa123456
      Re-type Password: Aa123456
      
      برای امنیت بیشتر؛ مکانیزم Authentication دیتابیس را به MD5 تغییر میدهیم :
      [root@named ~]# vim /var/lib/pgsql/data/pg_hba.conf
      local   all             all                                  md5
      host    all             all             127.0.0.1/32         md5
      [root@named ~]# systemctl restart postgresql
      
      دیتابیس و جدول های مورد نیاز برای سرویس bind ایجاد میکنیم :
      [root@named ~]# createdb bind --owner=root
      [root@named ~]# psql -d bind
      bind# CREATE TABLE forward_tbl ( name varchar(255) DEFAULT NULL, ttl int DEFAULT '86400', rdtype varchar(90) DEFAULT NULL, rdata varchar(255));
      bind# CREATE TABLE reverse_tbl ( name varchar(255) DEFAULT NULL, ttl int DEFAULT '86400', rdtype VARCHAR(90) DEFAULT NULL, rdata varchar(255));
      
      سپس رکورد ها را در دیتابیس درج میکنیم :
      # Forward :
      bind# INSERT INTO forward_tbl VALUES ('itpro.local','86400','SOA','named.itpro.local. root.itpro.local. 201609100 3600 1800 2419200 86400');
      bind# INSERT INTO forward_tbl VALUES ('itpro.local','86400','NS','named.itpro.local.');
      bind# INSERT INTO forward_tbl VALUES ('named.itpro.local','86400','A','192.168.1.1');
      bind# INSERT INTO forward_tbl VALUES ('nginx.itpro.local','86400','A','192.168.1.2');
      bind# INSERT INTO forward_tbl VALUES ('PC1.itpro.local','86400','A','192.168.1.10');
      bind# INSERT INTO forward_tbl VALUES ('PC2.itpro.local','86400','A','192.168.1.11');
      
      # Reverse :
      bind# INSERT INTO reverse_tbl VALUES ('1.168.192.in-addr.arpa','86400','SOA','named.itpro.local. root.itpro.local. 201609100 3600 1800 2419200 86400');
      bind# INSERT INTO reverse_tbl VALUES ('1.168.192.in-addr.arpa','86400','NS','named.itpro.local.');
      bind# INSERT INTO reverse_tbl VALUES ('1.1.168.192.in-addr.arpa','86400','PTR','named.itpro.local.');
      bind# INSERT INTO reverse_tbl VALUES ('2.1.168.192.in-addr.arpa','86400','PTR','nginx.itpro.local.');
      bind# INSERT INTO reverse_tbl VALUES ('10.1.168.192.in-addr.arpa','86400','PTR','PC1.itpro.local.');
      bind# INSERT INTO reverse_tbl VALUES ('11.1.168.192.in-addr.arpa','86400','PTR','PC2.itpro.local.');
      
      سرویس Bind را پیکربندی میکنیم :
      [root@named ~]# vim /etc/named.conf
      ------------------
      options {
      	listen-on port 53 { 127.0.0.1; 192.168.1.1; };
      	allow-query	{ any; };
              .
              .
              .
      };
      
      zone "itpro.local" {
             type master;
             database "pgsql bind forward_tbl 127.0.0.1 root Aa123456";
      };
      
      zone "1.168.192.in-addr.arpa" {
             type master;
             database "pgsql bind reverse_tbl 127.0.0.1 root Aa123456";
      };
      ------------------
      
      قابلیت SDB را فعال میکنیم :
      [root@named ~]# vim /etc/sysconfig/named
      ENABLE_SDB=yes
      
      سرویس bind را استارت میکنیم :
      [root@named ~]# systemctl start named-sdb && systemctl enable named-sdb
      
      در آخر Firewalld و SELinux را پیکربندی میکنیم :
      [root@named ~]# firewall-cmd --permanent add-port={53/udp,5432/tcp}
      [root@named ~]# firewall-cmd --reload
      [root@named ~]# setenforce 0
      
      برای درج رکورد های جدید نیز میتوانید بصورت زیر عمل کنید :
      [root@named ~]# pgsql -d bind -c "INSERT INTO forward_tbl VALUES ('PC3.itpro.local','86400','A','192.168.1.20');"
      [root@named ~]# pgsql -d bind -c "INSERT INTO reverse_tbl VALUES ('20.1.168.192.in-addr.arpa','86400','PTR','PC3.itpro.local.');"
      
      راه اندازی سرویس BIND به همراه PostgreSQL

      راه اندازی سرویس BIND به همراه PostgreSQL



      نویسنده : احسان هدایتی
      منبع : ITPRO
      برچسب ها
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      هیچ نظری ارسال نشده است

        برای ارسال نظر ابتدا به سایت وارد شوید