рдЗрддрдиреЗ рд╕рдЬреНрдЬрди, рдЕрдЧрд╕реНрдд рдХреА рдкрд╣рд▓реА рддрд╛рд░реАрдЦ рдЖ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдРрд╕реЗ рджреЗрд╢ рдХрд╛ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ p2p рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд╛рдиреВрди рдХреЗ рд╕рд╛рде рд╕рд░рд▓ рд╣реЛ, рдЕрд░реНрдерд╛рддреН рдиреАрджрд░рд▓реИрдВрдбред рдХрд╛рдлреА рд▓рдВрдмреА рдЦреЛрдЬ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрдХ рдкреНрд░рджрд╛рддрд╛ рдорд┐рд▓рд╛ рдЬрд┐рд╕рдиреЗ E3-1230 рд╕реЗ рджреЛ рдХреЛрд░ рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рдерд╛, рдПрдХ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯреНрд╕ рдХреА рдПрдХ рдЬреЛрдбрд╝реА, 460 рдЧреАрдЧрд╛рдмрд╛рдЗрдЯреНрд╕ рд╕реНрдХреНрд░реВ рдФрд░ рдПрдХ рд╕реБрдВрджрд░ рдЕрд╕реАрдорд┐рдд (рдореИрдВрдиреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╕рдорд░реНрдерди рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд┐рдпрд╛ - рд╡реЗ рдЖрд╢реНрд╡рд╛рд╕рди рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЪреИрдирд▓ рдХреБрдЫ рд╕реМ рдЯреЗрд░рд╛рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдмрд╛рдж рднреА рдирд╣реАрдВ рдХрдЯрддрд╛) рдХреБрдЫ 40 рдХреЗ рд▓рд┐рдП рдЧреАрдЧрд╛рдмрд┐рдЯ рдЪреИрдирд▓ рд░реБрдкрдпреЗ рдХреА рдПрдХ рдкреИрд╕рд╛ рдХреЗ рд╕рд╛рдеред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ - OpenVZ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди - рдореИрдВрдиреЗ рдЖрдорддреМрд░ рдкрд░ рдУрдкрди рд╡реАрдкреАрдПрди рдХреЛ рдПрдХреНрд╕рдИрдПрди рдпрд╛ рдХреЗрд╡реАрдПрдо рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рд╕реБрдЪрд╛рд░реВ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╣реБрдЖ рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЬреЛ рдЬреНрдЮрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЙрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдУрдПрд╕ рд╡рд┐рддрд░рдг - рдбреЗрдмрд┐рдпрди 6
рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
OpenVPN рдФрд░ dnsmasq рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
aptitude install openvpn udev dnsmasq
рдЗрд╕рдХреЗ рдмрд╛рдж, рдореБрдЦреНрдп рдкреАрдврд╝реА рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ
cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn
рдлрд┐рд░ рд╣рдо рдЖрдо рддреМрд░ рдкрд░
/etc/openvpn/easy-rsa/2.0/vars рдлрд╝рд╛рдЗрд▓ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЧреЗрдЯрд╡реЗ "рдЕрдкрдиреЗ рд▓рд┐рдП" рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЖрдЗрдЯрдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИред рдпрджрд┐ рдЖрдк рд╕реМрдВрджрд░реНрдп рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЙрдкрд░реЛрдХреНрдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
export KEY_COUNTRY="XX" export KEY_PROVINCE="XX" export KEY_CITY="City" export KEY_ORG="MyCompany" export KEY_EMAIL="habr@habr.ru"
Var рдХреЗ рд╕рдВрдкрд╛рджрди рдХреЗ рдмрд╛рдж
, рд╣рдо рдПрдХ рд░реВрдЯ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ
cd /etc/openvpn/easy-rsa/2.0/ . /etc/openvpn/easy-rsa/2.0/vars . /etc/openvpn/easy-rsa/2.0/clean-all . /etc/openvpn/easy-rsa/2.0/build-ca
рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ \ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ (рдмрдЬрд╛рдп cli1, cli2 рдХреЗ, рдЖрдк рдЙрди рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рд╣реИрдВ)
. /etc/openvpn/easy-rsa/2.0/build-key-server server . /etc/openvpn/easy-rsa/2.0/build-key cli1 . /etc/openvpn/easy-rsa/2.0/build-key cli2
рдлрд┐рд░ рд╣рдо рдбрд┐рдлреА-рд╣реЗрд▓рдореИрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддреЗ рд╣реИрдВ
. /etc/openvpn/easy-rsa/2.0/build-dh
рд╣рдо рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рддрд░рдл рд╕реЗ рд╣рдореЗрдВ
ca.crt cli1.crt cli1.key рдлрд╛рдЗрд▓реНрд╕ рджреЗрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░
ca.crt ca.key dh1024.pem server.crt server.key рдлрд╛рдЗрд▓реНрд╕ рдХреЛ
/ etc / openvpn рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдбрд╛рд▓рдирд╛ рд╣реИред cd /etc/openvpn/easy-rsa/2.0/keys cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn
рдЕрдм рдЙрд╕ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдЬреЛ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде
/ etc / openvpn рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдЖрддрд╛ рд╣реИред
cd /usr/share/doc/openvpn/examples/sample-config-files gunzip -d server.conf.gz cp server.conf /etc/openvpn/
рд╣рдорд╛рд░реЗ рд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, /etc/openvpn/server.conf
рдЬреЛрдбрд╝реЗрдВ push "redirect-gateway def1" push "dhcp-option DNS 10.8.0.1"
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдИрдкреА-рдлрд╝реЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
/etc/sysctl.conf рдореЗрдВ рд▓рд╛рдЗрди рдХреЛ
рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ net.ipv4.ip_forward=1
рдФрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╣рдо рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
echo 1 > /proc/sys/net/ipv4/ip_forward
рддрд╛рдХрд┐ рд░рд┐рдмреВрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд░рд┐рд╡рд░реНрддрди рд▓рд╛рдЧреВ рд╣реЛрдВред
рдЕрдЧрд▓рд╛, iptables рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡рд░ рд╣реИ, рдпрд╛ рдПрдХреНрд╕рдПрдордПрд▓ рдпрд╛ рдХреЗрд╡реАрдПрдо рдкрд░ рд╡рд░реНрдЪреБрдЕрд▓ рд╣реИ, рддреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT iptables -A FORWARD -j REJECT iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
рдпрджрд┐ OpenVZ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди, рддреЛ рд╕рд╛рдорд╛рдиреНрдп NAT рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдФрд░ рдЖрдкрдХреЛ SNAT рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдХрдВрд╕реЛрд▓ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
iptables -t nat -A POSTROUTING -o venet0 -j SNAT --to <b>abcd</b> iptables -A FORWARD -i venet0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT
рдПрдмреАрд╕реА рдХреЗ рдмрдЬрд╛рдп
, рдХреНрд░рдорд╢рдГ, рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рдХрд╛ рдмрд╛рд╣рд░реА рдЖрдИрдкреА
OS рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп iptables рдирд┐рдпрдореЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрдиреНрд╣реЗрдВ
/etc/rc.local рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗ, рдФрд░ рд╡рд╣рд╛рдБ, iptables рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, dnsmasq рд░рд┐рдмреВрдЯ рдЬреЛрдбрд╝реЗрдВред рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж /etc/rc.local рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг -
рд╕рдорд░реНрдкрд┐рдд \ Xen \ KVM рдХреЗ рд▓рд┐рдП:
OpenVZ рдХреЗ рд▓рд┐рдП:
рдЗрд╕рдХреЗ рдмрд╛рдж, dnsmasq рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ, рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ
/etc/dnsmasq.conf рдФрд░
рдЕрдирдХрдВрдлрд╝рд░реНрдЯреЗрдВрд╕ рд╕рд╣реА рджреЛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ
listen-address=127.0.0.1,10.8.0.1 bind-interfaces
рдпрд╣ рд╕рд░реНрд╡рд░ рд╕реЗрдЯрдЕрдк рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ, рдЖрдк рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
service openvpn restart service dnsmasq restart
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рднреА рдЧреНрд░рд╛рд╣рдХ рд╡рд┐рдВрдбреЛрдЬ 7 рдкрд░ рдереЗ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдХреЗрд╡рд▓ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ - рд╡рд┐рдВрдбреЛрдЬ 7 рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ
OpenVPN , рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдПрдВ "Start \ OpenVPN \
OpenVPN Gui "
рдЕрдЧрд▓рд╛, рдирд┐рдореНрди рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓
% рдирд╛рдо% .ovpn рдмрдирд╛рдПрдБ push "redirect-gateway def1" client dev tun proto udp remote <b>abcd</b> 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert <b>cli1.crt </b> key <b>cli1.key</b> comp-lzo verb 3
Abcd рдХреЗ рдмрдЬрд╛рдп, рд╕рд░реНрд╡рд░ рдХрд╛ рдкрддрд╛ред
% рдирд╛рдо% .ovpn рдлрд╝рд╛рдЗрд▓ рдФрд░ рдкрд╣рд▓реЗ рдкреНрд░рд╛рдкреНрдд
ca.crt cli1.crt cli1.key рдХреЛ
C: / Programm рдлрд╝рд╛рдЗрд▓реЛрдВ (x86) / OpenVPN / config рдореЗрдВ рдЬреЛрдбрд╝реЗрдВрдпрд╣ рд╕рдм, OpenVPN рдкрд░ рд╕рд╣реА рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдЯреНрд░реЗ рдореЗрдВ -> рдХрдиреЗрдХреНрдЯ рдЖрдЗрдХрди рд╣реИ рдФрд░ рдпрд╣ рд╣рдореЗрдВ рджреВрд╕рд░реЗ рджреЗрд╢ рдореЗрдВ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред