{"id":844,"date":"2016-12-28T10:13:04","date_gmt":"2016-12-28T02:13:04","guid":{"rendered":"https:\/\/www.ipcpu.com\/?p=844"},"modified":"2016-12-28T10:13:04","modified_gmt":"2016-12-28T02:13:04","slug":"update-dns","status":"publish","type":"post","link":"https:\/\/c.ipcpu.com\/2016\/12\/update-dns\/","title":{"rendered":"\u5982\u4f55\u52a8\u6001\u66f4\u65b0DNS\u8bb0\u5f55"},"content":{"rendered":"

\u5982\u4f55\u52a8\u6001\u66f4\u65b0DNS\u8bb0\u5f55.md<\/p>\n

\u96f6\u3001\u6982\u8ff0<\/h2>\n

\u4e00\u822c\u6765\u8bf4\uff0cDNS\u8bb0\u5f55\u90fd\u662f\u624b\u52a8\u66f4\u65b0\u7684\uff0c\u901a\u8fc7\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff0c\u6216\u8005\u901a\u8fc7\u7f51\u7ad9\u9875\u9762\uff0c\u4f46\u662f\u5982\u4f55\u624d\u80fd\u7b80\u5316\u5de5\u4f5c\uff0c\u4f7f\u90e8\u5206DNS\u8bb0\u5f55\u66f4\u65b0\u81ea\u52a8\u5316\u5462\uff1f<\/p>\n

\u8fd9\u5c31\u662f\u672c\u6587\u5173\u6ce8\u7684\u5185\u5bb9\u3002<\/p>\n

\u4e00\u3001\u901a\u8fc7DHCP\u670d\u52a1\u6765\u66f4\u65b0DNS\u8bb0\u5f55(DDNS)<\/h2>\n

DDNS\uff08Dynamic Domain Name Server\uff09\u662f\u52a8\u6001\u57df\u540d\u670d\u52a1\u7684\u7f29\u5199\u3002 DDNS\u662f\u5c06\u7528\u6237\u7684\u52a8\u6001IP\u5730\u5740\u6620\u5c04\u5230\u4e00\u4e2a\u56fa\u5b9a\u7684\u57df\u540d\u89e3\u6790\u670d\u52a1\u4e0a\uff0c\u7528\u6237\u6bcf\u6b21\u8fde\u63a5\u7f51\u7edc\u7684\u65f6\u5019\u5ba2\u6237\u7aef\u7a0b\u5e8f\u5c31\u4f1a\u901a\u8fc7\u4fe1\u606f\u4f20\u9012\u628a\u8be5\u4e3b\u673a\u7684\u52a8\u6001IP\u5730\u5740\u4f20\u9001\u7ed9\u4f4d\u4e8e\u670d\u52a1\u5546\u4e3b\u673a\u4e0a\u7684\u670d\u52a1\u5668\u7a0b\u5e8f\uff0c\u670d\u52a1\u5668\u7a0b\u5e8f\u8d1f\u8d23\u63d0\u4f9bDNS\u670d\u52a1\u5e76\u5b9e\u73b0\u52a8\u6001\u57df\u540d\u89e3\u6790\u3002<\/p>\n

DDNS\u5728\u4f01\u4e1a\u4e2d\u6700\u5e38\u89c1\u7684\u5e94\u7528\u5c31\u662f\u670d\u52a1\u5668\u7684\u8fdc\u7a0b\u63a7\u5236\u5361\u4e86\uff08iDRAC\u6216\u8005ilo\uff09\uff0c\u90e8\u7f72\u4e86DDNS\u7684\u7f51\u7edc\u4e2d\u4e0d\u9700\u8981\u624b\u52a8\u8bbe\u7f6e\u8fdc\u7a0b\u63a7\u5236\u5361IP\u5730\u5740\uff0c\u76f4\u63a5\u4f7f\u7528\u76f8\u5173\u7684\u57df\u540d\u5c31\u80fd\u8bbf\u95ee\u8fdc\u7a0b\u63a7\u5236\u5361\u754c\u9762\u3002<\/p>\n

DDNS\u5de5\u4f5c\u539f\u7406<\/h4>\n

ILO\u7f51\u5361\u5728\u901a\u8fc7DHCP\u83b7\u53d6\u5730\u5740\u65f6\uff0c\u53ef\u4ee5\u628a\u81ea\u5df1\u7684\u4e3b\u673a\u540d\u53d1\u9001\u7ed9DHCP\u670d\u52a1\u5668\u8f6f\u4ef6\uff0c\u800cDHCP\u670d\u52a1\u5668\u518d\u53bb\u66f4\u65b0DNS\u670d\u52a1\u5668\u4e2d\u7684\u8bb0\u5f55\u3002\u5c31\u8fd9\u4e48\u7b80\u5355\uff0c\u5b9e\u9645\u4f7f\u7528\u4e2d\u4f1a\u6709\u5b89\u5168\u8003\u8651\uff0c\u53ea\u6709\u62ff\u7740\u7279\u5b9aKEY\u7684DHCP\u670d\u52a1\u5668\u624d\u80fd\u66f4\u65b0\u3002<\/p>\n

<\/p>\n

\u8fd9\u91cc\uff0c\u6211\u4eec\u4f7f\u7528DNS\u670d\u52a1\u5668\u8f6f\u4ef6\uff08bind\uff09\u548cDHCP\u8f6f\u4ef6\uff08dhcpd\uff09\u6765\u5b9e\u73b0\u3002<\/p>\n

DNS\u670d\u52a1\u5668\u7684\u914d\u7f6e\u5982\u4e0b<\/p>\n

\n
#@\u4ee5\u4e0b\u662fDNS\u914d\u7f6e\uff0c\u6587\u4ef6\/etc\/named.conf\n#@\u5b9a\u4e49\u4e00\u4e2aKEY\uff0c\u7528\u4e8e\u5b89\u5168\u9632\u62a4\nkey \"ilokey\" {\n        algorithm      hmac-md5;\n        secret \"fvA\/r7RriulZQWHEVqoG8A==\";\n};\n#@\u5b9a\u4e49\u4e00\u4e2azone\uff0c\u5141\u8bb8\u7279\u5b9a\u7684KEY\u53ef\u4ee5\u66f4\u65b0\nzone \"ipcpu.com\" {\n        type master;\n        allow-update { key ilokey; };\n        file \"\/etc\/named\/ipcpu.com.conf\";\n};<\/code><\/pre>\n<\/div>\n

DHCP\u670d\u52a1\u5668\u7684\u914d\u7f6e<\/p>\n

\n
#@\u4ee5\u4e0b\u662fDHCP\u914d\u7f6e\uff0c\u6587\u4ef6\/etc\/dhcpd.conf\nddns-update-style interim;\nignore client-updates;\nddns-updates on;\noption domain-name \"ipcpu.com\";\noption domain-name-servers 4.4.4.2;\ndefault-lease-time 600;\nmax-lease-time 7200;\n#@\u8bbe\u7f6eKEY\u548cZone\nkey \"ilokey\" {\n        algorithm      hmac-md5;\n        secret \"fvA\/r7RriulZQWHEVqoG8A==\";\n};\nzone ipcpu.com. {\n        primary 127.0.0.1;\n        key ilokey;\n}\nsubnet 4.4.4.0 netmask 255.255.255.0 {\n  range 4.4.4.101 4.4.4.150;\n  option domain-name-servers 4.4.4.2;\n  option domain-name \"ipcpu.com\";\n  option routers 4.4.4.1;\n  default-lease-time 600;\n  max-lease-time 7200;\n}<\/code><\/pre>\n<\/div>\n

DHCP\u670d\u52a1\u5668\u9700\u8981\u6ce8\u610f\u7684\u5730\u65b9\uff1a<\/p>\n

\n
    \n
  1. \u6253\u5f00DDNS\u9009\u9879<\/li>\n
  2. \u53ea\u91cc\u9762\u5fc5\u987b\u914d\u7f6ezone \u8fd9\u4e2a\u9009\u9879\uff1b<\/li>\n
  3. primary 127.0.0.1; \u5982\u679cDNS\u548cDHCPD\u4e0d\u5728\u4e00\u53f0\u673a\u5668\u4e0a\u9700\u8981\u6539\u6210\u5916\u90e8IP\uff1b<\/li>\n<\/ol>\n<\/blockquote>\n

    \u7ed3\u679c\u6d4b\u8bd5<\/h4>\n

    \u7136\u540e\u6211\u4eec\u5728DHCP\u670d\u52a1\u5668\u4e0a\u770b\u5230\u4e86\u5206\u914d\u7ed9\u5ba2\u6237\u7684IP\u4fe1\u606f<\/p>\n

    \n
    [root@s0 named]# tail -11 \/var\/lib\/dhcpd\/dhcpd.leases\nlease 4.4.4.150 {\n  starts 5 2012\/09\/14 10:03:27;\n  ends 5 2012\/09\/14 10:13:27;\n  binding state active;\n  next binding state free;\n  hardware ethernet 00:0c:29:14:e6:f4;\n  set ddns-rev-name = \"150.4.4.4.in-addr.arpa.\";\n  set ddns-txt = \"0016de8f4b9a6439c2d2abe55a7c3d58b1\";\n  set ddns-fwd-name = \"rac-H3LG23X.ipcpu.com\";\n  client-hostname \"rac-H3LG23X\";\n}\n[root@s0 named]# ping rac-H3LG23X.ipcpu.com\nPING rac-H3LG23X.ipcpu.com (4.4.4.150) 56(84) bytes of data.\n64 bytes from 4.4.4.150: icmp_seq=1 ttl=64 time=0.289 ms<\/code><\/pre>\n<\/div>\n

    \u4e8c\u3001\u901a\u8fc7nsupdate\u6765\u66f4\u65b0DNS\u8bb0\u5f55<\/h2>\n

    \u4f7f\u7528\u52a8\u6001\u66f4\u65b0\u4e4b\u524d\u9700\u8981\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684zone\u4e2d\u52a0\u5165allow-update\uff0c\u5982\u4e0b<\/p>\n

    \n
    zone \"ipcpu.com\" {\n        type master;\n    allow-update { any; };\n        file \"data\/ipcpu.com.txt\";\n};\n#\u4f7f\u7528allow-update { keyname; }; \u4f1a\u66f4\u52a0\u5b89\u5168<\/code><\/pre>\n<\/div>\n

    \u7136\u540e\u5373\u53ef\u901a\u8fc7nsupdate\u547d\u4ee4\u66f4\u65b0DNS\u8bb0\u5f55\u4e86<\/p>\n

    \n
    # nsupdate\n> server 192.168.36.54\n> update add update.ipcpu.com 6000 IN A 192.168.0.2\n> send\n> quit  <\/code><\/pre>\n<\/div>\n

    \u6216\u8005\u4f7f\u7528python\u7684dnspython\u6a21\u5757\u6765\u5b8c\u6210<\/p>\n

    \n
    #!\/usr\/bin\/env python\n# -*- coding=utf-8 -*-\nimport dns.query\nimport dns.tsigkeyring\nimport dns.update\nimport sys\nkeyring = dns.tsigkeyring.from_text({\n    'ipcpu-example-dyn-update.' : 'XXXXXXXXXX=='\n})\nupdate = dns.update.Update('ipcpu.com', keyring=keyring,\n                           keyname=\"ipcpu-example-dyn-update.\")\nupdate.add('st', 300, 'a', '2.2.2.2')\nresponse = dns.query.tcp(update, '192.168.36.54')<\/code><\/pre>\n<\/div>\n

    \u66f4\u65b0\u5b8c\u6210\u540e\uff0c\u53ef\u4ee5\u4f7f\u7528 dig @192.168.36.54 st.ipcpu.com\u6765\u6d4b\u8bd5\u3002<\/p>\n

    \u4e09\u3001journal\u6587\u4ef6\u67e5\u770b\u548c\u6574\u5408<\/h2>\n

    \u901a\u8fc7\u67e5\u770b\u670d\u52a1\u5668\u6570\u636e\uff0c\u6211\u4eec\u53d1\u73b0\u52a8\u6001\u66f4\u65b0\u7684\u57df\u540d\u90fd\u4f1a\u5b58\u50a8\u5230ipcpu.com.txt.jnl\u6587\u4ef6\u4e2d\uff0c\u8fd9\u5e76\u4e0d\u662f\u4e00\u4e2a\u6587\u672c\u6587\u4ef6\uff0c\u5982\u4f55\u67e5\u770b\u5176\u5185\u5bb9\u5462\uff1f<\/p>\n

    bind\u4e3a\u6211\u4eec\u63d0\u4f9b\u4e86\u4e00\u4e2a\u547d\u4ee4named-journalprint\uff0c\u901a\u8fc7\u8fd9\u4e2a\u547d\u4ee4\u6765\u67e5\u770b\u3002<\/p>\n

    \n
    #named-journalprint  ipcpu.com.txt.jnl\ndel ipcpu.com.    604800    IN    SOA    jackal. root.jackal. 2 604800 86400 2419200 604800\nadd ipcpu.com.    604800    IN    SOA    jackal. root.jackal. 3 604800 86400 2419200 604800\nadd update.ipcpu.com.    6000    IN    A    192.168.0.2\ndel ipcpu.com.    604800    IN    SOA    jackal. root.jackal. 3 604800 86400 2419200 604800\nadd ipcpu.com.    604800    IN    SOA    jackal. root.jackal. 4 604800 86400 2419200 604800\nadd st.ipcpu.com.    300    IN    A    2.2.2.2<\/code><\/pre>\n<\/div>\n

    \u628a\u6570\u636e\u653e\u5728\u8fd9\u4e2a\u6587\u4ef6\u91cc\u5176\u5b9e\u633a\u96be\u7ba1\u7406\u7684\uff0c\u6211\u4eec\u8fd8\u53ef\u4ee5\u628a\u6570\u636e\u5408\u5e76\u56de\u4e3b\u6570\u636e\u6587\u4ef6ipcpu.com.txt\uff0c\u64cd\u4f5c\u547d\u4ee4\u5982\u4e0b\u3002<\/p>\n

    \n
    #@@freeze zone first to avoid update\nrndc freeze ipcpu.com\n#@@update zone file\nrndc  thaw  ipcpu.com<\/code><\/pre>\n<\/div>\n

    \u56db\u3001\u53c2\u8003\u8d44\u6599<\/h2>\n

    \u65e0<\/p>\n

    <\/p>\n

    <\/div>\n
    <\/div>\n
    \n
    <\/div>\n
    <\/div>\n
    <\/div>\n
    <\/div>\n
    <\/div>\n<\/div>\n
    \n
    <\/div>\n
    <\/div>\n
    <\/div>\n
    <\/div>\n
    <\/div>\n<\/div>\n

    <\/wiz_tmp_tag><\/p>\n

    \u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1aIPCPU-\u7f51\u7edc\u4e4b\u8def<\/a> » \u5982\u4f55\u52a8\u6001\u66f4\u65b0DNS\u8bb0\u5f55<\/a><\/p>","protected":false},"excerpt":{"rendered":"

    \u5982\u4f55\u52a8\u6001\u66f4\u65b0DNS\u8bb0\u5f55.md \u96f6\u3001\u6982\u8ff0 \u4e00\u822c\u6765\u8bf4\uff0cDNS\u8bb0\u5f55\u90fd\u662f\u624b\u52a8\u66f4\u65b0\u7684\uff0c\u901a\u8fc7\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\uff0c\u6216\u8005\u901a\u8fc7\u7f51\u7ad9\u9875\u9762\uff0c\u4f46\u662f\u5982\u4f55\u624d\u80fd\u7b80\u5316\u5de5\u4f5c\uff0c\u4f7f\u90e8\u5206DNS\u8bb0\u5f55\u66f4\u65b0\u81ea\u52a8\u5316\u5462\uff1f \u8fd9\u5c31\u662f\u672c\u6587\u5173\u6ce8\u7684\u5185\u5bb9\u3002 \u4e00\u3001\u901a\u8fc7DHCP\u670d\u52a1\u6765\u66f4\u65b0DNS\u8bb0\u5f55(DDNS) DDNS\uff08Dynamic Domain Name Server\uff09\u662f\u52a8\u6001\u57df\u540d\u670d\u52a1\u7684\u7f29\u5199\u3002 DDNS\u662f\u5c06\u7528\u6237\u7684\u52a8\u6001IP\u5730\u5740\u6620\u5c04\u5230\u4e00\u4e2a\u56fa\u5b9a\u7684\u57df\u540d\u89e3\u6790\u670d\u52a1\u4e0a\uff0c\u7528\u6237\u6bcf\u6b21\u8fde\u63a5\u7f51\u7edc\u7684\u65f6\u5019\u5ba2\u6237\u7aef\u7a0b\u5e8f\u5c31\u4f1a\u901a\u8fc7\u4fe1\u606f\u4f20\u9012\u628a\u8be5\u4e3b\u673a\u7684\u52a8\u6001IP\u5730\u5740\u4f20\u9001\u7ed9\u4f4d\u4e8e\u670d\u52a1\u5546\u4e3b\u673a\u4e0a\u7684\u670d\u52a1\u5668\u7a0b\u5e8f\uff0c\u670d\u52a1\u5668\u7a0b\u5e8f\u8d1f\u8d23\u63d0\u4f9bDNS\u670d\u52a1\u5e76\u5b9e\u73b0\u52a8\u6001\u57df\u540d\u89e3\u6790\u3002 DDNS\u5728\u4f01\u4e1a\u4e2d\u6700\u5e38\u89c1\u7684\u5e94\u7528\u5c31\u662f\u670d\u52a1\u5668\u7684\u8fdc\u7a0b\u63a7\u5236\u5361\u4e86\uff08iDRAC\u6216\u8005ilo\uff09\uff0c\u90e8\u7f72\u4e86DDNS\u7684\u7f51\u7edc\u4e2d\u4e0d\u9700\u8981\u624b\u52a8\u8bbe\u7f6e\u8fdc\u7a0b\u63a7\u5236\u5361IP\u5730\u5740\uff0c\u76f4\u63a5\u4f7f\u7528\u76f8\u5173\u7684\u57df\u540d\u5c31\u80fd\u8bbf\u95ee\u8fdc\u7a0b\u63a7\u5236\u5361\u754c\u9762\u3002 DDNS\u5de5\u4f5c\u539f\u7406 ILO\u7f51\u5361\u5728\u901a\u8fc7DHCP\u83b7\u53d6\u5730\u5740\u65f6\uff0c\u53ef\u4ee5\u628a\u81ea\u5df1\u7684\u4e3b\u673a\u540d\u53d1\u9001\u7ed9DHCP\u670d\u52a1\u5668\u8f6f\u4ef6\uff0c\u800cDHCP\u670d\u52a1\u5668\u518d\u53bb\u66f4\u65b0DNS\u670d\u52a1\u5668\u4e2d\u7684\u8bb0\u5f55\u3002\u5c31\u8fd9\u4e48\u7b80\u5355\uff0c\u5b9e\u9645\u4f7f\u7528\u4e2d\u4f1a\u6709\u5b89\u5168\u8003\u8651\uff0c\u53ea\u6709\u62ff\u7740\u7279\u5b9aKEY\u7684DHCP\u670d\u52a1\u5668\u624d\u80fd\u66f4\u65b0\u3002 \u8fd9\u91cc\uff0c\u6211\u4eec\u4f7f\u7528DNS\u670d\u52a1\u5668\u8f6f\u4ef6\uff08bind\uff09\u548cDHCP\u8f6f\u4ef6\uff08dhcpd\uff09\u6765\u5b9e\u73b0\u3002 DNS\u670d\u52a1\u5668\u7684\u914d\u7f6e\u5982\u4e0b #@\u4ee5\u4e0b\u662fDNS\u914d\u7f6e\uff0c\u6587\u4ef6\/etc\/named.conf #@\u5b9a\u4e49\u4e00\u4e2aKEY\uff0c\u7528\u4e8e\u5b89\u5168\u9632\u62a4 key “ilokey” { algorithm hmac-md5; secret “fvA\/r7RriulZQWHEVqoG8A==”; }; #@\u5b9a\u4e49\u4e00\u4e2azone\uff0c\u5141\u8bb8\u7279\u5b9a\u7684KEY\u53ef\u4ee5\u66f4\u65b0 zone “ipcpu.com” { type master; allow-update { key ilokey; }; file “\/etc\/named\/ipcpu.com.conf”; }; DHCP\u670d\u52a1\u5668\u7684\u914d\u7f6e #@\u4ee5\u4e0b\u662fDHCP\u914d\u7f6e\uff0c\u6587\u4ef6\/etc\/dhcpd.conf ddns-update-style interim; ignore client-updates; ddns-updates on; option domain-name “ipcpu.com”; option domain-name-servers 4.4.4.2; default-lease-time 600; […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[3,13],"tags":[131,35,17],"_links":{"self":[{"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/posts\/844"}],"collection":[{"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/comments?post=844"}],"version-history":[{"count":0,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/posts\/844\/revisions"}],"wp:attachment":[{"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/media?parent=844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/categories?post=844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/c.ipcpu.com\/wp-json\/wp\/v2\/tags?post=844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}