рдбреЗрдмрд┐рдпрди рдкрд░ рдПрдХ OpenVPN рдЗрдВрдЯрд░рдиреЗрдЯ рдЧреЗрдЯрд╡реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рдЬреЛ OpenVZ рдкрд░ рд╣реИ

рдЗрддрдиреЗ рд╕рдЬреНрдЬрди, рдЕрдЧрд╕реНрдд рдХреА рдкрд╣рд▓реА рддрд╛рд░реАрдЦ рдЖ рд░рд╣реА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рдРрд╕реЗ рджреЗрд╢ рдХрд╛ рдЖрдИрдкреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛, рдЬрд┐рд╕рдореЗрдВ рдпрд╣ 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 рдХреЗ рд▓рд┐рдП:

 #!/bin/sh -e # # [...] # 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 /etc/init.d/dnsmasq restart exit 0 


OpenVZ рдХреЗ рд▓рд┐рдП:

 #!/bin/sh -e # # [...] # 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 /etc/init.d/dnsmasq restart exit 0 


рдЗрд╕рдХреЗ рдмрд╛рдж, 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 рдкрд░ рд╕рд╣реА рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдЯреНрд░реЗ рдореЗрдВ -> рдХрдиреЗрдХреНрдЯ рдЖрдЗрдХрди рд╣реИ рдФрд░ рдпрд╣ рд╣рдореЗрдВ рджреВрд╕рд░реЗ рджреЗрд╢ рдореЗрдВ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред

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


All Articles