рдиреЗрдЯрд┐рд╡ рдбрд╛рдпрдиреЗрдорд┐рдХ рдбреАрдПрдирдПрд╕

рдХрднреА-рдХрднреА рдбрд╛рдпрдиреЗрдорд┐рдХ рдЖрдИрдкреА рдкрддреЗ рд╡рд╛рд▓реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд▓рд┐рдП рдбреАрдПрдирдПрд╕ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣рд╛рд▓ рдХреЗ рд╡рд┐рд╖рдп рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдбрдВрдбреЛрдВ рдкреНрд░рдХрд╛рд░ рдХреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╣реИред рд╣рдо рдПрдХ рдбреЛрдореЗрди рдФрд░ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдЖрдИрдкреА рдХреЛ рдмрд╛рдВрдзрддреЗ рд╣реИрдВ ред рдХрднреА-рдХрднреА рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдлреА рдЦрд░рд╛рдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред



рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рджрд╛рддрд╛ рдХрднреА-рдХрднреА рдореЗрд░реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдХрднреА-рдХрднреА рдЖрдорддреМрд░ рдкрд░ рд╣рд░ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореЗрд░реЗ рдШрд░ рдХрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рдмрд╣реБрдд рд╣реА рдХрдо рд░реАрдмреВрдЯ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА 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

рджреА рдЧрдИ рдЪрд╛рдмреА рд╡рд╣рд╛рдВ рд╕реЗ рд▓реЗ рд▓реА рдЬрд╛рддреА рд╣реИред



All Articles