рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рджрд╛рддрд╛ рдХрднреА-рдХрднреА рдореЗрд░реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдХрднреА-рдХрднреА рдЖрдорддреМрд░ рдкрд░ рд╣рд░ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЗрд░реЗ рдШрд░ рдХрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдмрд╣реБрдд рд╣реА рдХрдо рд░реАрдмреВрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА dyndns рд╕реЗрд╡рд╛ "рдЕрдкреНрд░рдпреБрдХреНрдд" рдЦрд╛рддреЗ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╕реВрдЪрдирд╛рдПрдВ рднреЗрдЬрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реАред рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП DNS рдЬрд╝реЛрди рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рднреА рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрднреА-рдХрднреА рдкрддрд╛ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддрдм рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдЬрдм рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдШрд░ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рддрдХ рдкрд╣реБрдБрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рд╡рд░реНрдгрд┐рдд рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ DNS рдмрд╛рдЗрдВрдб рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдФрд░ рднреА рдбреЛрдореЗрди рдЬрд╝реЛрди, рдЙрдкрдбреЛрдореЗрди рдЬреЛ рд╣рдо рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдХрд░реЗрдВрдЧреЗред рд▓рд┐рдирдХреНрд╕ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рд▓рд┐рдирдХреНрд╕ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╡рд░реНрдгрд┐рдд рд╣реИред рдЕрдиреНрдп рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореИрдиреБрдЕрд▓ рдкрдврд╝рдиреЗ рдФрд░ рдХреБрдЫ рдЪрд░рдгреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рддреЛ:
1. рд╣рдордиреЗ bind9 рд╕рд░реНрд╡рд░ рдХреЛ server.org рдбреЛрдореЗрди рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ
2. рдЬрд╝реЛрди рдЧреНрд░рд╛рд╣рдХ рдмрдирд╛рдПрдБ .server.org.zone:
$ORIGIN . 
      
        
        
        
      
     $TTL 10 ; 10 seconds 
      
        
        
        
      
     client.server.net IN SOA ns1.server.net. hostmaster.server.net. ( 
      
        
        
        
      
     18 ; serial 
      
        
        
        
      
     10800 ; refresh (3 hours) 
      
        
        
        
      
     3600 ; retry (1 hour) 
      
        
        
        
      
     604800 ; expire (1 week) 
      
        
        
        
      
     10 ; minimum (10 seconds) 
      
        
        
        
      
     ) 
      
        
        
        
      
     $TTL 3600 ; 1 hour 
      
        
        
        
      
     NS ns1.server.net. 
      
        
        
        
      
     NS ns2.server.net. 
      
        
        
        
      
     MX 10 client.server.net.
      
      рдпрд╣рд╛рдБ рд╕рд░реНрд╡рд░ ns1.server.net рдФрд░ ns2.server.net рд╣рдорд╛рд░реЗ рдЬрд╝реЛрди рдХреЗ рд▓рд┐рдП DNS рд╕рд░реНрд╡рд░ рд╣реИрдВ, client.server.net рд╣рдорд╛рд░реЗ рдШрд░ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдкрддрд╛ рд╣реИ
3. рдЧреНрд░рд╛рд╣рдХ рдкрд░ рдЪрд╛рдмрд┐рдпрд╛рдБ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ:
client# cd /etc/namedb/keys 
      
        
        
        
      
     client# dnssec-keygen -b 512 -a HMAC-MD5 -v 2 -n HOST client.server.net.
      
      4. рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
server# cd /var/named/chroot/etc 
      
        
        
        
      
     server# vim keys.conf :
      
      key client.server.net. { 
      
        
        
        
      
     algorithm "HMAC-MD5"; 
      
        
        
        
      
     secret "omr5O5so/tZB5XeGuBBf42rrRJRQZB8I9f+uIIxxei8qm7AVgNBprxtcU+FQMzBvU/Y+nyM2xbs/C8kF3eJQUA=="; 
      
        
        
        
      
     };
      
      рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рд╕рдордорд┐рдд рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ: рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рддреЛ рд╡рд╣ рдЖрдкрдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдПрдХ рдЕрд╕рдордорд┐рдд рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ:
server# chmod 640 keys.conf 
      
        
        
        
      
     server# chown root:named keys.conf
      
      5. рд╣рдорд╛рд░реЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ name.conf рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
include "/etc/keys.conf" 
      
        
        
        
      
     zone "client.server.net" { 
      
        
        
        
      
     type master; 
      
        
        
        
      
     file "zones/client.server.net"; 
      
        
        
        
      
     allow-update{ 
      
        
        
        
      
     key client.server.net; 
      
        
        
        
      
     }; 
      
        
        
        
      
     };
      
      рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдпрд╣рд╛рдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЬрд╝реЛрди рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдиреБрдЕрд▓ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдЬрд╝реЛрди рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд░рд┐рдХреЙрд░реНрдб рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ 1, рдХреНрд▓рд╛рдЗрдВрдЯ 2, рдЖрджрд┐ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдЙрдк рдбреЛрдореЗрди рдХреЗ рд╕рд╛рде рдПрдХ рдЬрд╝реЛрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ key1, key2 рдЗрддреНрдпрд╛рджрд┐ рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХреГрдд рд╣реЛрдЧрд╛ред
DNS рд╕рд░реНрд╡рд░ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
server# /etc/init.d/named reload
      
      7. рдЬрд╝реЛрди рдбреЗрдЯрд╛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдБ:
#!/bin/bash 
      
        
        
        
      
     IFACE="wlan0" 
      
        
        
        
      
     TTL=3600 
      
        
        
        
      
     SERVER=ns1.example.com 
      
        
        
        
      
     HOSTNAME=foo.example.com 
      
        
        
        
      
     ZONE=example.com 
      
        
        
        
      
     KEYFILE=/root/ddns-keys/Kfoo.example.com.+157+12345.private 
      
        
        
        
      
     
      
        
        
        
      
     new_ip_address=`ifconfig $IFACE | grep "inet addr:" | awk '{print $2}' | awk -F ":" '{print $2}'` 
      
        
        
        
      
     new_ip_address=${new_ip_address/ /} 
      
        
        
        
      
     
      
        
        
        
      
     nsupdate -v -k $KEYFILE << EOF 
      
        
        
        
      
     server $SERVER 
      
        
        
        
      
     zone $ZONE 
      
        
        
        
      
     update delete $HOSTNAME A 
      
        
        
        
      
     update add $HOSTNAME $TTL A $new_ip_address 
      
        
        
        
      
     send 
      
        
        
        
      
     EOF
      
      рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рд╕рд░реНрд╡рд░ рдФрд░ рдЬрд╝реЛрди рдирд╛рдо, рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рдиред
8. рдбреАрдПрдирдПрд╕ рдмрджрд▓рддреЗ рд╕рдордп рдпрд╣ рдХреЗрд╡рд▓ рдСрдЯреЛрд░рди / рдкрддреЗ рдХреЗ рд╕реНрд╡рдд: рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред
рд╣рдо NetworkManager рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗ:
рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ /etc/NetworkManager/dispatcher.d/20-dyndns.sh:
#!/bin/sh 
      
        
        
        
      
     
      
        
        
        
      
     iface=$1 
      
        
        
        
      
     state=$2 
      
        
        
        
      
     
      
        
        
        
      
     if [ "x$state" == "xup" ] ; then 
      
        
        
        
      
     /etc/namedb/ddns-update 
      
        
        
        
      
     elif [ "x$state" == "xdown" ]; then 
      
        
        
        
      
     true 
      
        
        
        
      
     fi
      
      рдЗрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдФрд░ рдЬрдбрд╝ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдореЗрдВ рдХрд░реЗрдВред
рд░рди-рдЪреЗрдХ-рдЙрдкрдпреЛрдЧред
рдЕрджреНрдпрддрди: рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд╛рдорд┐рдд рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ (рд╕реНрдерд╛рдкрд┐рдд) рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдлрд╝рд╛рдЗрд▓ client.server.org.zone рдирд┐рд╣рд┐рдд рд╣реИ
рдирд╛рдо рд╕реЗ рдПрдХ client.server.org.zone.jnl рдлрд╝рд╛рдЗрд▓ рдмрдиреЗрдЧреА
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
http://www.freebsdwiki.net/index.php/BIND,_dynamic_DNS
http://blog.jasonantman.com/2010/04/bind9-dynamic-dns/
http://www.oceanwave.com/technical-resources/unix-admin/nsupdate.html
рджреА рдЧрдИ рдЪрд╛рдмреА рд╡рд╣рд╛рдВ рд╕реЗ рд▓реЗ рд▓реА рдЬрд╛рддреА рд╣реИред