PPTP / L2TP MPD5 рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЛрдб рд╕рдВрддреБрд▓рди

рдЫрд╡рд┐

рдХрдИ рддрд░рд╛рдЬреВ рдХреЗ рд╕реЛрд╡рд┐рдпрдд-рдмрд╛рдж рдХреЗ рд╕реНрдерд╛рди рдореЗрдВ рдХрдИ рдкреНрд░рджрд╛рддрд╛ рдПрдХ рд╡реАрдкреАрдПрди рд╕реБрд░рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдЪрд╛рд╣реЗ рд╡рд╣ рдкреАрдкреАрдкреАрдУрдИ рд╣реЛ рдпрд╛ рдкреАрдкреАрдЯреАрдкреА / рдПрд▓ 2 рдЯреАрдЯреАрдкреАред рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд┐рд╖рдп рдЖрд╕рд╛рдиреА рд╕реЗ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдореЗрдВ рдлрд┐рдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдРрд╕реА рд╕реБрд░рдВрдЧ рдХреЗ рд▓рд┐рдП, рдлреНрд░реАрдмреАрдПрд╕рдбреА рдФрд░ рдПрдордкреАрдбреА 5 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдпрд╛ рддреЛ рдЧрдВрднреАрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ (рд╕рд┐рд╕реНрдХреЛ, рдЬреБрдирд┐рдкрд░, рдЖрджрд┐) рдпрд╛ рд╕реЙрдлреНрдЯ рд░рд╛рдЙрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо MPD5 рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЛрдб рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рд╣рдм рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рдорд╛рди рд╡рд┐рд╖рдп рдерд╛, рд▓реЗрдХрд┐рди PPPoE рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЖрдЬ рд╣рдо PPTP / L2TP рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред

рд╕рд┐рджреНрдзрд╛рдВрдд


рд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рд╕рдВрддреБрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХрд╛ рддрдерд╛рдХрдерд┐рдд рд░рд╛рдЙрдВрдб рд░реЙрдмрд┐рди рдбреАрдПрдирдПрд╕ рд╣реИ ред Nslookup vpn.iformula.ru рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦреЗрдВрдЧреЗ:

  nslookup vpn.iformula.ru 
 рд╕рд░реНрд╡рд░: 193.93.236.2 
 рдкрддрд╛: 193.93.236.2 # 53

 рдирд╛рдо: vpn.iformula.ru
 рдкрддрд╛: 10.168.1.103
 рдирд╛рдо: vpn.iformula.ru
 рдкрддрд╛: 10.168.1.101
 рдирд╛рдо: vpn.iformula.ru
 рдкрддрд╛: 10.168.1.102 

( рдЖрдк nslookup yandex.ru рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ - рд░рд╛рдЙрдВрдб рд░реЙрдмрд┐рди рдбреАрдПрдирдПрд╕ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ )

рдпрд╛рдиреА рдХреНрд▓рд╛рдЗрдВрдЯ, DNS рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рдЕрдиреБрд░реЛрдз рднреЗрдЬ рд░рд╣рд╛ рд╣реИ, рдЬрд╡рд╛рдм рдореЗрдВ рд╕реВрдЪреА рд╕реЗ рдкрд╣рд▓рд╛ рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдЕрдиреБрд░реЛрдз - рдЕрдЧрд▓рд╛ рдкрддрд╛, рдФрд░ рдЗрд╕реА рддрд░рд╣ рдПрдХ рд╕рд░реНрдХрд▓ рдореЗрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдРрд╕рд╛ рд╕рдВрддреБрд▓рди рдЕрдзрд┐рдирд┐рдпрдо рдХреБрдЫ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдЧрд╛:

рдПрдХ рдЕрд╕рдВрддреБрд▓рди рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд┐рдХрдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЗрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╕рд░рд▓ рд╣реИ: рдЖрдкрдХреЛ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░, рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдзрд┐рдХрддрдо рд▓реЛрдб рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдпрд╛ рдЗрд╕рдХреЗ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдмрдВрдж рд╣реЛрдиреЗ рдкрд░, DNS рдореЗрдВ рдЗрд╕рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВред рдмреЗрд╢рдХ, рд╣рдо рдЗрд╕реЗ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЕрднреНрдпрд╛рд╕


1. рд╣рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕рддреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╕рддреНрд░реЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред MPD5 рдХрд╛ рдЯреЗрд▓рдиреЗрдЯ рдФрд░ рд╡реЗрдмрд╕реАрдПрдордбреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рд╣реИред рдореИрдВрдиреЗ webcmd рдХреЛ рдЪреБрдирд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрдЭреЗ рдХреЗрд╡рд▓ html рдкреЗрдЬ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдмрдЬрд╛рдп рдЕрдкреЗрдХреНрд╖рд╛ рдкрд░ рдПрдХ рдЯреЗрд▓рдиреЗрдЯ рд╕реАрдПрд▓рдЖрдИ рд╣реИрдВрдбрд▓рд░ рд▓рд┐рдЦрдиреЗ рдХреА ред рд╡реЗрдм рдкреНрд░рдмрдВрдзрди рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:

set user $ROOT $PASSWORD admin set web self 0.0.0.0 5006 

Mpd рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд┐рднрд┐рдиреНрди рдЬрд╛рдирдХрд╛рд░реА 0.0.0.0 : 5006 рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреАред рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рддреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: http: // $ рд▓реЙрдЧрд┐рди: $password@0.0.0.0: 5006 / cmd? рджрд┐рдЦрд╛рдПрдБ% 20ippool?
 [] show ippool Available IP pools: pool1: used 1293 of 2047 

2. DNS рд╕рд░реНрд╡рд░ рд╕реЗрдЯ рдЕрдк рдХрд░реЗрдВред рдореИрдВ BIND9 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ FreeBSD рдкрд░ рдорд╛рдирдХ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕реЗрд╡рд╛ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ DNS рд╕рд░реНрд╡рд░ рд╣реИред рд╣рдо рд╕рднреА рдХреЛ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ $ INCLUDE рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 $INCLUDE /var/named/etc/namedb/vpn ; ;host names iformula.ru. IN A 193.93.236.126 

3. рд╣рд░ 30 рдорд┐рдирдЯ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХреНрд░реЛрди рдЕрдиреБрд╕реВрдЪрдХ рдореЗрдВ рд╕реНрд╡рдЪрд╛рд▓рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝реЗрдВред рдмреЗрд╢рдХ, рдЖрдкрдХреЛ рдЙрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ DNS рдбреЗрдореЙрди рдЪрд▓ рд░рд╣рд╛ рд╣реИред

 echo "*/30 * * * root /usr/local/bin/mpd_balancer" >> /etc/crontab echo "" >> /etc/crontab 

рд▓рд┐рдкрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ


рд╡рд┐рдХрд▓реНрдк:

 login="foo" 
# рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо
 password="bar" 
# рдФрд░ Webcmd MPD5 рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб
 prcload="90" 
# рдкреНрд░рддрд┐рд╢рдд рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдорд╡рд░реНрддреА рд╕рддреНрд░реЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕рдВрдЦреНрдпрд╛
 name="vpn.example.com." 
# рд╡реАрдкреАрдПрди рд╕реЗрд╡рд╛ рдирд╛рдо, рдЕрдВрдд рдореЗрдВ рдбреЙрдЯ рдЖрд╡рд╢реНрдпрдХ рд╣реИ
 srvlist="/root/srv" 
# Vpn рд╕рд░реНрд╡рд░ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рднрд╛рдЧ
 conf="/var/named/etc/namedb/vpn" 
# рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЙрдкрд▓рдмреНрдз рд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░реЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд╕рд╛рде $ INCLUDE рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдорд╛рд░реНрдЧ
 workdir="/tmp" 
# рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛

рд╕рддреНрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдПрдХ HTML рдкреГрд╖реНрда рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ:

 fetch -o $workdir/$ipsrv -q "http://$login:$password@$ipsrv:5006/cmd?show%20ippool" > /dev/null 2>&1 

рд╣рдо рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╕рдХреНрд░рд┐рдп рдФрд░ рдЕрдзрд┐рдХрддрдо рд╕рддреНрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкрд╛рд░ рдХрд░реЗрдВрдЧреЗ:
 mpdsrv="`cat "$workdir/$ipsrv" | grep used | awk '{print ($3)}' `" maxloadsrv="`cat "$workdir/$ipsrv" | grep used | awk '{print ($5)}' | tr -d "\015\032" `" 

рдмреАрд╕реА рдХрдВрд╕реЛрд▓ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рд╡рд░реНрддрдорд╛рди рд╕рд░реНрд╡рд░ рд▓реЛрдб рдХреА рдЧрдгрдирд╛ рдкреНрд░рддрд┐рд╢рдд рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ (рдкреНрд░рддрд┐рд╢рдд рдирд┐рдХрдЯрддрдо рдкреВрд░реНрдгрд╛рдВрдХ рддрдХ рдЧреЛрд▓ рд╣реЛрддреЗ рд╣реИрдВ):

 loadsrv="`echo "$mpdsrv/($maxloadsrv/100)" | bc`" 

рдпрджрд┐ рд▓реЛрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рддрд┐рд╢рдд рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЙрдкрд▓рдмреНрдз, рд▓реЛрдб рдФрд░ рджреБрд░реНрдЧрдо рд╕рд░реНрд╡рд░реЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╕рд░реНрд╡рд░ рдХрд╛ рдкрддрд╛ рдЬреЛрдбрд╝реЗрдВ, рд╣рдо рд╕рд┐рд░реНрдл рдпрд╣ рдЬрд╛рдирддреЗ рд╣реИрдВ:

 if [ "$loadsrv" -lt "$prcload" ] then echo "$name IN A $ipsrv" >> $conf else echo ";$name IN A $ipsrv" >> $conf fi 

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрдВрд╕реЛрд▓ рд╕реЗ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рдорд┐рд▓рддреЗ рд╣реИрдВ:

 ####################################################################### 10.168.1.100 hosts 739 sessions and this is 49% of maximum load 10.168.1.101 hosts 1192 sessions and this is 70% of maximum load 10.168.1.102 hosts 1304 sessions and this is 65% of maximum load 10.168.1.103 hosts 138 sessions and this is 27% of maximum load 10.168.1.104 hosts 24 sessions and this is 24% of maximum load ####################################################################### 

рдЗрди рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдк рд╕реБрдВрджрд░ рд░реЗрдЦрд╛рдВрдХрди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
рдЫрд╡рд┐

рд╕реНрдХреНрд░рд┐рдкреНрдЯ bc, fetch, рдФрд░ rndc рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рд╕рдм рдорд╛рдирдХ FreeBSD рдкреИрдХреЗрдЬ рдореЗрдВ рд╣реИред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ FreeBSD 8.3 рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╡рд┐рдЧ рдХреЗ рд╕рд╛рде рд▓рд╛рдпрд╛ рдЬрд╛рдПред рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ mpd5 рд╕рд░реНрд╡рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ:

рд▓рд┐рдВрдХ # 1
рд▓рд┐рдВрдХ # 2

MPD5 рдкреНрд░рд▓реЗрдЦрди
BIND9 рдкреНрд░рд▓реЗрдЦрди
рд╢ рд╕рдВрджрд░реНрдн
рд▓реЗрдЦрдХ рдмреНрд▓реЙрдЧ

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ, рд╕реБрдЭрд╛рд╡, рдкреНрд░рд╢реНрди рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

Source: https://habr.com/ru/post/In148144/


All Articles