Skip to content

Instantly share code, notes, and snippets.

@sofyan48
Last active August 2, 2022 09:28
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save sofyan48/c1baac757f2a7d87b177b22c1103f602 to your computer and use it in GitHub Desktop.
Save sofyan48/c1baac757f2a7d87b177b22c1103f602 to your computer and use it in GitHub Desktop.

KNOT AGENT JSON PARAMETER DOCS AGENT MENGGUNAKAN LIBKNOT

Semua parameter agent json sama dengan parameter LIBKNOT

PENJELASAN

perhatikan json berikut ini :

{
  "command-set": {
    "sendblock": {
      "cmd": "conf-set",
      "zone": "lagi2.id",
      "item": "notify", 
      "owner": "",
      "rtype": "",
      "ttl": "",
      "flags": "",
      "section":"zone",
      "data": "slave"
    },
    "receive": {
      "type": "block"
    }
  }
}

SPESIFIKASI PARAMETER

cmd aksi untuk setting (dibagi 2 yaitu knot configuration and zone configuration)

  conf-read
  conf-begin
  conf-set
  conf-unset
  conf-commit

  zone configuration :
  zone-read
  zone-begin
  zone-set
  zone-unset

section target configuration knot

  1. template 
  2. zone
  3. log
  4. remote
  5. acl
  6. mod-stats
  7. server
  8. log

item untuk setting item configuration knot

  untuk pengisian knotc configuration reference /etc/knot/knot.conf
  example:
  -   domain: example.net
      master: master
      acl: acl_master
  domain, master, acl adalah item

zone memilih zone target

  contoh pada saat melakukan configuration zone maka zone ini berisi target zone tersebut

data value dari setting knot

  data adalah isi dari seluruh configuration misal untuk setting notify pada zone configuration 
  maka hal yang perlu dilakukan adalah mengatur item ke notify
  selanjutnya set data menjadi target notify
  -   domain: example.net
      master: master
      acl: acl_master
  domain, master, acl adalah item
  example.net, master, acl adalah data

owner adalah pemilik zone config ketika proses penambahan record configuration

rtype hanya berlaku record configuration

ttl hanya berlaku record configuration

flags parameter ini masih siluman sampai sekarang saya belum dapat fungsinya

identifier parameter ini masih siluman sampai sekarang saya belum dapat fungsinya

CONFIGURATION ZONE

adalah proses penambahan domain menjadi satu kedalam knot config

RECORD CONFIGURATION

adalah proses penambahan record kedalam zone configuration

CONFIG BEGIN

adalah baris perintah yang dilakukan setiap melakukan aksi configuration pada knot config

CONFIG commit

adalah baris perintah yang di lakukan untuk menyimpan seluruh aksi

CONF SET

adalah baris perintah untuk melakukan configuration pada knot

CONTOH ZONE CONFIGURATION KNOT (PERHATIKAN POLA COMMAND LINE MEMAKAI KNOTC DENGAN PARAMETER LIBKNOT):

BEGIN CONFIG

knotc conf-begin

{
  "command-set": {
    "sendblock": {
      "cmd": "conf-begin"
    },
    "receive": {
      "type": "block"
    }
  }
}

COMMIT CONFIG

knotc conf-commit

{
  "command-set": {
    "sendblock": {
      "cmd": "conf-commit"
    },
    "receive": {
      "type": "block"
    }
  }
}

READ CONFIG

{
  "command-set": {
    "sendblock": {
      "cmd": "conf-read"
    },
    "receive": {
      "type": "block"
    }
  }
}

ADD CONFIG ZONE

knotc conf-set 'zone[nama_domain.com]'

{
  "command-set": {
    "sendblock": {
      "cmd": "conf-set",
      "item": "domain", 
      "section":"zone",
      "data": "nama_domain.com"
    },
    "receive": {
      "type": "block"
    }
  }
}

SET NOTIFY CONFIG TO ZONE

knotc conf-set 'zone[nama_domain.com].notify' 'slave1' 'slave2'

{
  "command-set": {
    "sendblock": {
      "cmd": "conf-set",
      "zone": "nama_domain.com",
      "item": "notify", 
      "owner": "",
      "rtype": "",
      "ttl": "",
      "flags": "",
      "section":"zone",
      "data": "slave salve2"
    },
    "receive": {
      "type": "block"
    }
  }
}

SET FILE CONFIG TO ZONE

knotc conf-set 'zone[nama_domain.com].file' 'nama_domain.com.zone'

{
  "command-set": {
    "sendblock": {
      "cmd": "conf-set",
      "zone": "nama_domain.com",
      "item": "file", 
      "owner": "",
      "rtype": "",
      "ttl": "",
      "flags": "",
      "section":"zone",
      "data": "nama_domain.com.zone" # atau nama file backup zone tersebut
    },
    "receive": {
      "type": "block"
    }
  }
}

SET MASTER CONFIG TO ZONE

knotc conf-set 'zone[nama_domain.com].master' 'master1' 'master2'

{
  "command-set": {
    "sendblock": {
      "cmd": "conf-set",
      "zone": "nama_domain.com",
      "item": "master", 
      "owner": "",
      "rtype": "",
      "ttl": "",
      "flags": "",
      "section":"zone",
      "data": "master master2"
    },
    "receive": {
      "type": "block"
    }
  }
}

SET ACL CONFIG TO ZONE

knotc conf-set 'zone[nama_domain.com].acl' 'slave1_acl' 'slave2_acl'

{
  "command-set": {
    "sendblock": {
      "cmd": "conf-set",
      "zone": "nama_domain.com",
      "item": "acl", 
      "owner": "",
      "rtype": "",
      "ttl": "",
      "flags": "",
      "section":"zone",
      "data": "slave1_acl slave2_acl"
    },
    "receive": {
      "type": "block"
    }
  }
}

SET MODULE CONFIG TO ZONE

knotc conf-set 'zone[nama_domain.com].module' 'mod-stats/default'

{
  "command-set": {
    "sendblock": {
      "cmd": "conf-set",
      "zone": "nama_domain.com",
      "item": "module", 
      "owner": "",
      "rtype": "",
      "ttl": "",
      "flags": "",
      "section":"zone",
      "data": "mod-stats/default"
    },
    "receive": {
      "type": "block"
    }
  }
}

CONTOH RECORD CONFIGURATION KNOT :

BEGIN CONFIGURATION RECORD TO ZONE

knotc zone-begin nama_domain.com

"zone-command": {
    "sendblock": {
        "cmd": "zone-begin",
        "zone": "nama_domain.com"
    },
    "receive": {
        "type": "block"
    }
}

COMMIT CONFIGURATION RECORD TO ZONE

knotc zone-commit 'nama_domain.com'

"zone-command": {
    "sendblock": {
        "cmd": "zone-commit",
        "zone": "nama_domain.com"
    },
    "receive": {
        "type": "block"
    }
}

READ CONFIGURATION RECORD TO ZONE

knotc zone-read 'nama_domain.com'

"zone-command": {
    "sendblock": {
        "cmd": "zone-read",
        "zone": "" # isi untuk zone yang lebih spesifik
    },
    "receive": {
        "type": "block"
    }
}

ADD CONFIGURATION RECORD A TO ZONE

knotc zone-set nama_domain.com. record_name.nama_domain.com. 7200 A 127.0.0.1

{
  "zone-command": {
    "sendblock": {
      "cmd": "zone-set",
      "zone": "nama_domain.com",
      "owner": "record_name",
      "rtype": "A",
      "ttl": "7200",
      "data": "127.0.0.1"
    },
    "receive": {
      "type": "block"
    }
  }
}

ADD CONFIGURATION RECORD SOA TO ZONE

knotc zone-set nama_domain.com. @ 86400 SOA satu.neodns.id. hostmaster.neodns.id. 2018070410 10800 3600 604800 38400

{
  "zone-command": {
    "sendblock": {
      "cmd": "zone-set",
      "zone": "nama_domain.com",
      "owner": "@",
      "rtype": "SOA",
      "ttl": "7200",
      "data": "satu.neodns.id. hostmaster.neodns.id. 2018070410 10800 3600 604800 38400"
    },
    "receive": {
      "type": "block"
    }
  }
}

ADD CONFIGURATION RECORD NS TO ZONE

knotc zone-set nama_domain.com. record_name.nama_domain.com. 7200 NS satu.neodns.id

{
  "zone-command": {
    "sendblock": {
      "cmd": "zone-set",
      "zone": "nama_domain.com",
      "owner": "record_name",
      "rtype": "NS",
      "ttl": "7200",
      "data": "satu.neodns.id."
    },
    "receive": {
      "type": "block"
    }
  }
}

ADD CONFIGURATION RECORD MX TO ZONE

knotc zone-set nama_domain.com. record_name.nama_domain.com. 7200 MX 0 mail.neodns.id.

{
  "zone-command": {
    "sendblock": {
      "cmd": "zone-set",
      "zone": "nama_domain.com",
      "owner": "record_name",
      "rtype": "MX",
      "ttl": "7200",
      "data": "0 mail.neodns.id."
    },
    "receive": {
      "type": "block"
    }
  }
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment