ááá á¹á ááœá±
áááŒá¬áá±ážáá®áááẠáá°á¡áá»á¬ážááẠá¡áááºááŸá¡áá¯ááºáá¯ááºááá¯á¶ááᯠáááááŒáá±á áááºáá±á¬áá«ááẠááá¹áá¬ááŒá®ážáá¡ááŒá±á¡áá±áá»á¬ážááᯠáááááá¬áá¬ááŒá±á¬ááºážáá²á á±áá²á·áááºá áá°ááá¯ááºážááẠá¡áááºááŸááœááºááœá¬ááẠááá¯ážááŸááºážá áœá¬ááá¯á¶ááŒá¯á¶áá±á¬á·ááá·áºá¡áá»ááºááŒá±á¬áá·áº áááºááŸáá¡ááŒá±á¡áá±áá»á¬ážááŸáá·áº ááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá¡á±á¬ááºá ááŒá¯áá¬ááŒáááºá ááŒá®ážáá±á¬á· áá±á¬áºáá±á¬áºáá»á¬ážáá»á¬ážá áá°ááá¯á·áá²á· áááºáááºážááœá±á¡ááœáẠá¡áááºááá± á¡áá¯ááºááœá±ááᯠá¡ááŒááºá á®á ááºááááºá
ááá¯á·áá±á¬áºá á¡áá±ážááááºážá¡áá¯ááºá¡ááœáẠááŒá±ááŸááºážáá»ááºááœá±ážáá»ááºááẠá¡áááºá¡áá»ááºážááŒáá·áºáá®áá±á¬ áá»ááºážáááºááŸá¯ áááŸáááŒááºážááẠáá±á¬ááºááŒááºááá¯ááºááá¯ááºáá±á¬ áá¯á¶ážááŸá¯á¶ážááŸá¯áá»á¬ážáá®ááá¯á· áŠážáááºááœá¬ážá á±ááá¯ááºáááºá á¡áá¯á¶ážááŒá¯áá° á áá¬ážááŸááºáá»á¬áž ááá¯ážáá°áá¶áááá¯ááºááŒá®áž áááºážááẠááá¯ááºááá¯ááºáá°á¡á¬áž áá¯ááºáááºážá ááœááºáááºááŸáá·áº á¡áá¯ááºáá®á¡áááºážá¡ááŒá áºáá»á¬ážááá¯á· ááááºážáá»á¯ááºáááá² áá»áááºáááºááá¯ááºá á±áááºááŒá áºáááºá
ááá¯á·ááŒá±á¬áá·áº áá¯á¶ááŒááºá áááºáá»ááá±á¬ áá±á¬áºááá¯áááẠVPN ááœááºáááºáá»á¬áž áááºáá®ážááẠááá¯á¡ááºáá¬áá±ááŒá®ááŒá áºáááºá á¡ááŒá±á¬ááºážááŒá±á¬ááŒáááºá á áááºáá»ááá±á¬, á¡áá¹ááá¬ááºáááºáž О ááœááºáá°áá±á¬ VPN ááœááºáááºááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá
áááºážááẠáá±á¬ááºáááºáá»á¬ážááᯠá á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒáááẠááá¯áááºáá»á¬ážáá±á«áºááœááºááááºážáááºážáá¬ážáá±á¬ áá±á¬á·áá»á¬ážááŸáá·áº áááºááŸááºáá»á¬ážááᯠááŒááºáááºááá°ááááá±á¬ áá±á¬á·áá»á¬ážááŸáá·áº áááºááŸááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áᬠIPsec/L2TP á¡á á®á¡á ááºá¡ááá¯ááºáž áá¯ááºáá±á¬ááºáᬠáá±áá¬áá»á¬ážááᯠáá¯ááºááŸááºáá¬ážáá±á¬áá¯á¶á á¶ááŒáá·áº ááœááºáááºááᯠááá¯á·ááœáŸááºáá«áááºá
CentOS 7 áá«ááá·áº áá¬áᬠ(ááááºá á¬- centos.vpn.server.ad) ááŸáá·áº Ubuntu 20.04 áá«áá±á¬ áááá¯ááºážááá·áºá¡ááŒáẠWindows 10 áá«áá±á¬ áááá¯ááºážááá·áºááᯠááá¯ááºáá±á¬áºááŒááºážá¡ááœáẠá¡ááá¯áá±á¬ááºá¡ááŒá Ạá¡áá¯á¶ážááŒá¯áá²á·áááºá
á áá áºáá±á¬áºááŒáá»ááº
VPN ááẠIPSec + L2TP + PPP á¡á á®á¡á ááºá¡ááá¯ááºáž á¡áá¯ááºáá¯ááºáá«áááºá áááá¯ááá¯áá±á¬ Point-to-Point Protocol (PPP) OSI áá±á¬áºáááºá áá±áá¬ááá·áºááºá¡ááœáŸá¬ááœáẠáá¯ááºáá±á¬ááºááŒá®áž á¡áá¯á¶ážááŒá¯áá° á á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒááŒááºážááŸáá·áº áá¯ááºááŸááºááŒááºážááá¯á·ááᯠáá¶á·ááá¯ážáá±ážáá«áááºá áááºážááá±áá¬ááᯠVPN ááœááºáááºá¡ááœááºáž áá»áááºáááºááŸá¯áááºáá®ážááŸá¯ááᯠá¡ááŸááºááááºáá±áá»á¬á á±ááá·áº L2TP áááá¯ááá¯áá±á¬ááá±áá¬ááœáẠáá¯ááºááá¯ážáá¬ážáá±á¬áºáááºáž á¡áá±á¬ááºá¡áá¬ážá áá á áºááŒááºážááŸáá·áº áá¯ááºááŸááºááŒááºážááá¯á·ááᯠááá±ážáá±á¬ááºáá«á
L2TP áá±áá¬ááᯠá¡áá±á¬ááºá¡áá¬ážá áá á áºááŒááºážááŸáá·áº áá¯ááºááŸááºááŒááºážááá¯á·ááá¯áááºáž áá¶á·ááá¯ážáá±ážááá·áº IPSec ááœáẠáá¯ááºááá¯ážáá¬ážáá±á¬áºáááºáž PPP ááŸáá·áºááá°áá²á á¡áá¯á¶ážááŒá¯áá°á¡ááá·áºááœááºááá¯ááºáá² á ááºáá á¹á ááºážá¡ááá·áºááœáẠá¡áá±á¬ááºá¡áá¬ážááŒááŒááºážááŸáá·áº áá¯ááºááŸááºááŒááºážááŸá¬ ááŒá áºáá±á«áºáá«áááºá
á€á¡ááºá¹áá«áááºááẠááá·áºá¡á¬áž á¡áá»áá¯á·áá±á¬á ááºáá á¹á ááºážáá»á¬ážá០áá¯á¶ážá áœá²áá°áá»á¬ážááá¯áᬠá á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒááá¯ááºá á±áá«áááºá áá»áœááºá¯ááºááá¯á·ááẠáááºážáá²á·ááá¯á· IPSec áááá¯ááá¯áá±á¬ááᯠá¡áá¯á¶ážááŒá¯áááºááŒá áºááŒá®áž áááºááá·áºá ááºáá á¹á ááºážááŸáááᯠá¡áá¯á¶ážááŒá¯áá° á á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒááŒááºážááᯠááœáá·áºááŒá¯áá«áááºá
á áááºáááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á¡áá¯á¶ážááŒá¯áá° á á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒááŒááºážááᯠEAP-TLS áááá¯ááá¯áá±á¬ááᯠá¡áá¯á¶ážááŒá¯á PPP áááá¯ááá¯áá±á¬á¡ááá·áºááœáẠáá¯ááºáá±á¬ááºáááºááŒá áºáááºá
á€áá¬ážáá
áºááááºáááºááŸá¯ááŸáá·áºáááºáááºáá±á¬ á¡áá±ážá
áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠááœááºááŒáá·áºááŸá¯ááá¯ááºáá«áááºá
á€á¡á á®á¡á á¥áºááẠáá±á¬ááºážááœááºáá±á¬ VPN ááœááºáááºáá áºáá¯á ááá¯á¡ááºáá»ááºáá¯á¶ážáá¯áá¯á¶ážááᯠá¡áááºááŒá±á¬áá·áºááŒáá·áºáá®ááááºážá
- á€á¡á á®á¡á á¥áºá áá¯á¶ááŒááºá áááºáá»áááŸá¯ááᯠá¡áá»áááºá¡á¬ážááŒáá·áº á ááºážáááºááŒá®ážááŒá áºáááºá áááºážááᯠ2000 áá¯ááŸá áºááááºážá VPN ááœááºáááºáá»á¬ážááᯠá¡áá¯á¶ážáá»ááẠá¡áá¯á¶ážááŒá¯áá²á·áááºá
- áá¯á¶ááŒá¯á¶áá±á¬á¡áá¯á¶ážááŒá¯áá° á
á
áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááᯠPPP áááá¯ááá¯áá±á¬á០áá¶á·ááá¯ážáá±ážáá«áááºá
Paul Mackerras á០áááºáá®ážáá¬ážáá±á¬ PPP áááá¯ááá¯áá±á¬á á á¶á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ áá¯á¶áá±á¬ááºáá±á¬ áá¯á¶ááŒá¯á¶áá±ážá¡ááá·áºááᯠááá±ážááá¯ááºáá±á¬ááŒá±á¬áá·áºá á¡áá±á¬ááºá¡áá¬ážá áá á áºááŒááºážá¡ááœááºá á¡áá±á¬ááºážáá¯á¶ážá¡ááŒá±á¡áá±ááœááºá á¡áá±á¬áá·áºáááºááŒááºážááŸáá·áº á áá¬ážááŸááºááá¯á¡áá¯á¶ážááŒá¯á á á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒááŒááºážááᯠá¡áá¯á¶ážááŒá¯áá«áááºá á¡áá±á¬áá·áºáááºá áá¬ážááŸááºááᯠáá°áá»áŸáá¯ááá¯ááºá ááá·áºááŸááºážááá¯áẠááá¯á·ááá¯áẠááá¯ážáá°ááá¯ááºáááºááᯠáá»áœááºá¯ááºááá¯á·á¡á¬ážáá¯á¶ážáááá«áááºá ááá¯á·áá±á¬áº ááᯠdeveloper ááẠá¡áá»áááºááŒá¬ááŒáá·áºáá±ááŒá®ááŒá áºáááºáJan Just Keijser вáááºážáá¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ á€áááá¯ááá¯áá±á¬ááẠá€ááŒá¿áá¬ááᯠááŒá¯ááŒááºááŒá®áž EAP-TLS áá²á·ááá¯á· á¡áá»áá¯ážááá®áá±á¬ áá¯ááºááŸááºááŒááºážá¡áá±á«áº á¡ááŒá±áá¶á áááá¯ááá¯áá±á¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº á áœááºážáááºááᯠáááºáá±ááŒááẠáá±á«ááºážááá·áºáá¬ážáááºá ááá¯á·á¡ááŒáẠáááºážá á áááºáááºáá»á¬ážááᯠá¡áá±á¬ááºá¡áá¬ážá áá á áºááŒááºážá¡ááœáẠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº á áœááºážáááºááá¯áááºáž ááá·áºááœááºážáá¬ážááŒá®áž áááºážá áá áºááẠááá¯ááá¯áá¯á¶ááŒá¯á¶á á±áá«áááºá
áááºááŸáááœááºá á€ááá±á¬áá»ááºááŸá áºáá¯ááᯠáá±á«ááºážá ááºážááẠáááºááŒáœáá±á¬ á á±á·á ááºááŸáááŸáá¯ááºážááŸá¯áá»á¬áž áá¯ááºáá±á¬ááºáá±ááŒá®áž áááŒá¬áá® ááá¯á·ááá¯áẠáá±á¬ááºááá¯ááºážááœáẠáááºááá¯á·áááºááŒá áºáááºááᯠáá±áá»á¬á á±ááá¯ááºáá«áááºá á¥ááá¬á¡á¬ážááŒáá·áºá á¡áá±á¬ááºá¡áá¬ážá áá á áºááŒááºážá¡ááœáẠáá¯á¶ááŒá¯á¶áá±á¬áááá¯ááá¯áá±á¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á PPP á áá¬áá±ážáá¬ážáá±á¬áá¬ážááŸááºážááẠFedora ááá¯ááŸá±á¬ááºáá±áá¬áá»á¬ážááœáẠá¡áá»áááºá¡áá±á¬áºááŒá¬áá±áá²á·áááºá - áááŒá¬áá±ážáá®á¡áá»áááºá¡áá á€ááœááºáááºááᯠWindows á¡áá¯á¶ážááŒá¯áá°áá»á¬ážáᬠá¡áá¯á¶ážááŒá¯ááá¯ááºáá±á¬áºáááºáž áá±á¬áºá
ááá¯ááŒááºááẠááá¹áááá¯áẠVasily Shokov ááŸáá·áº Alexander Smirnov ááá¯á·á០áá¯ááºáá±á¬áºááá¯ááºáááºáá»á¬ážá ááœá±á·ááŸááá²á·áááºá
Linux á¡ááœáẠL2TP client ááá±á¬áá»ááºáá±á¬ááºáž ááŒá¯ááŒááºááœááºážáá¶áá«á áá»áœááºá¯ááºááá¯á·ááẠáá¯á¶ážá áœá²áá°áá¡áá¯ááºááœáẠáá»áá¯á·ááœááºážáá»ááºáá»á¬ážá áœá¬ááᯠá¡áá°áááœááŒááºáááºááŒá®áž á¡áááºážá¡ááŒá áºááŸáááºáá±á¬ááºááá·áºá¡áá«ááœááºááẠá áá áºáááá·áºááœááºážááŸá¯ááŸáá·áº ááœá²á·á ááºážááŸá¯ááᯠááá¯ážááŸááºážá á±áááºá áááºážááá¯á·áá²á០á¡áá°ážááŒá¬ážáá¯á¶ážááŸá¬-- openssl ááŸáá·áº qt áá¬ážááŸááºážá¡áá áºáá»á¬ážá interface ááŒáá·áº client á¡áá±á¬ááºážá ááá¯ááºáááºáá®áá±á¬ ááŒá¿áá¬áá»á¬ážááᯠááŒá±ááŸááºážáá±ážáááºá
- áá¬áá®ááá¯ááºáá áºáá¯ááŸáá áºááá·áº ááá¯ááẠPIN ááá¯ááŒááºáááºážááŒááºážá០pppd ááᯠáááºááŸá¬ážáá²á·áááºá
- ááááºáá áºá¡ááºáá¬áá±á·á áºááŸáááá·áº á áá¬ážááŸááºáá±á¬ááºážááá¯ááŸá¯áááá¯ááááºá ááŸá¬ážááœááºážá áœá¬ááœáá·áºááŒááºážááᯠááŒá¯ááŒááºáá²á·áááºá xl2tpd áááºáá±á¬ááºááŸá¯á¡ááœáẠááŸááºáááºáá±á¬áááºáááºážáá»ááºááᯠááá·áºááœááºážááŒááºážááŒáá·áº áááºážááᯠáá¯ááºáá±á¬ááºáá²á·ááŒááºážááŒá áºáááºá
- L2tpIpsecVpn daemon ááááºáá±á¬ááºááŸá¯ááẠáááºáá±á¬ááºááŸá¯ááŸáá·áº ááœá²á·á ááºážááŸá¯áá¯ááºáááºážá ááºááᯠááá¯ážááŸááºážááœááºáá°á á±ááá·áº client ááá¯ááºááá¯ááºááááºáá±á¬ááºááŸá¯ááŸáá·áºá¡áá° ááá¯áá±á¬ááºááœááºáá«áááºá
- ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááœááºáá°á á±áááºá¡ááœáẠAzure Pipelines á áá áºááẠáááºáá±á¬ááºááŸá¯áááŸááºáááºááŸá¯ááᯠá ááºážáááºááẠáá»áááºáááºáá¬ážáááºá
- á¡ááá·áºááŸááá·áºáá»ááẠá
áœááºážáááºááᯠááá·áºááœááºážáá¬ážáááºá
áá¯á¶ááŒá¯á¶áá±ážá¡áááºá·ááᯠopenssl áá¡ááŒá±á¡áá±ááœááºá á€á¡ááá·áºá áá¯á¶ááŒá¯á¶áá±ážááá¯á¡ááºáá»ááºáá»á¬ážááŸáá·áº áááá¯ááºáá®áá±á¬ áááºááŸááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááá·áº VPN ááœááºáááºáá»á¬ážááŒáá·áº á á¶áá¯á¶ááŒá¯á¶áá±ážá¡ááá·áº 2 ááá¯á· áááºááŸááºáá¬ážááá·áº áááºáááºááŸá¯á áá áºá¡áá áºáá»á¬ážááᯠááŸááºáááºá áœá¬áá¶á·ááá¯ážáá±ážáááºá¡ááœáẠáááºážááẠá¡áá¯á¶ážáááºáááºá áááºááŸá VPN ááœááºáááºáá±á¬ááºážáá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºáááºá¡ááœáẠá€ááœá±ážáá»ááºááŸá¯ááẠá¡áá¯á¶ážáááºáá«áááá·áºáááºá
ááŒá¯ááŒááºáá¬ážáá±á¬ áá¬ážááŸááºážááᯠááœáẠááœá±á·ááá¯ááºáá«áááºá
á€áááá¯ááºážááá·áºááẠá¡áá±á¬ááºá¡áá¬ážá áá á áºááŒááºážá¡ááœáẠá áááºáááºáá»á¬ážá¡áá¯á¶ážááŒá¯ááŒááºážááᯠáá¶á·ááá¯ážáá±ážááá·áºá¡ááŒáẠLinux á¡á±á¬ááºááœáẠá€á¡á á®á¡á ááºááᯠá áááºáááºááŸááºáá¬ááœáẠá¡áááºá¡áá²áá»á¬ážááŸáá·áº á¡áááºá¡áá²á¡á¬ážáá¯á¶ážááᯠáááºááá¯ááºááá»áŸ áá¯á¶ážááœááºáá¬ážáᬠáááá¯ááºážááá·áºá áá áºááá·áºááœááºážááŸá¯ááᯠááá¯ážááŸááºážááŒá®áž ááŒááºááá¯ááºááá»áŸááŒááºá¡á±á¬áẠááŒá¯áá¯ááºáá¬ážáááºá
áá¯ááºáá«áááºá PPP ááŸáá·áº client GUI á¡ááŒá¬ážá¡áááºááŒá±áá±á¬áá»áááºáááºááŸá¯á¡ááœááºá ááá±á¬áá»ááºáá áºáá¯á á®á¡ááœáẠáááºáá±á¬ááºážáááºážááŒááºááŸá¯áá»á¬ážááá«áá² áááŒá áºááá¯ááºáá±á¬áºáááºáž áááºážááá¯á·ááᯠá¡áááá·áºáá¯á¶ážááá¯á·áá»áŸá±á¬á·áá»ááá¯ááºáááº-
- áááºááŸááºáá¬ážáá²á·
PPP á០ááá¯ááẠPIN áá¯ááºááᯠopenssl á¡ááŒá±á¬ááºážá¡áá¬ááá¯á· ááŸá¬ážááœááºážá áœá¬ áááºááá·áºááá¯á·ááŒááºážá á¡ááŸá¬áž - áááºááŸááºáá¬ážáá²á·
configuration ááᯠloading ááŸáá·áº openssl context ááá¯á áááºááŒááºážáá¡á á®á¡á á¥áºááœááºá¡ááŸá¬ážá¡ááœááºážááŸááááºá . á€á¡ááŸá¬ážááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž á áááºáááºáá»á¬ážááŸáá·áº áá¯ááºáá±á¬ááºáááºá¡ááœáẠááŒá®ážáá¬ážáá±á¬ á¡áááºáááŒá±ááŸá¯ááŒá áºááá·áº openssl á¡ááºáá»ááºáá»á¬ážá¡ááŒá±á¬ááºáž á¡áá»ááºá¡áááºááŸááœá²á áá±áááá¯ááºáᬠ/etc/ppp/openssl.cnf ááœá²á·á ááºážááŸá¯ááá¯ááºá០áááºááá·áºá¡áá¬ááá¯áá»áŸ áááºááœáá·áºáááŒá¯áá²á·áá«á á¡ááŒá¬ážáá áºáá¯áá¯ááᯠáááºááŸááºáá»ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áááºáááºááŸá¯áá áºáá¯áááºáá±á¬ááºááá·áºá¡áá« áá¯á¶ááŒá¯á¶áá±ážá¡ááá·áºááᯠááŒááºáááºáá«á
ááᯠááẠá áááºáááºááŸááºááá¯ááºáá«ááŒá®á
Server Tuning
ááá¯á¡ááºáá±á¬ package áá»á¬ážá¡á¬ážáá¯á¶ážááᯠááá·áºááœááºážááá¯ááºáá¡á±á¬ááºá
strongswan (IPsec) ááᯠááá·áºááœááºážááŒááºáž
ááááá¯á¶ážá¡áá±áá²á· ipsec áá¯ááºáá±á¬ááºáá»ááºá¡ááœáẠfirewall ááᯠconfigure áá¯ááºááŒáá·áºáá¡á±á¬ááº
sudo firewall-cmd --permanent --add-port=1701/{tcp,udp}
sudo firewall-cmd --permanent --add-service=ipsec
sudo firewall-cmd --reload
ááŒá®ážááẠinstallation ááá¯á ááá¯ááºáá¡á±á¬ááº
sudo yum install epel-release ipsec-tools dnf
sudo dnf install strongswan
áááºáááºááŒá®ážáá±á¬ááºá áááºááẠstrongswan (IPSec á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážáá²ááŸáá áºáá¯) ááᯠconfigure áá¯ááºááẠááá¯á¡ááºáááºá áá®ááá¯áá¯ááºááá¯á·á ááá¯ááºááá¯áááºážááŒááºáá«á /etc/strongswan/ipsec.conf :
config setup
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
oe=off
protostack=netkey
conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
also=L2TP-PSK-noNAT
conn L2TP-PSK-noNAT
authby=secret
pfs=no
auto=add
keyingtries=3
rekey=no
ikelifetime=8h
keylife=1h
type=transport
left=%any
leftprotoport=udp/1701
right=%any
rightprotoport=udp/%any
ike=aes128-sha1-modp1536,aes128-sha1-modp1024,aes128-md5-modp1536,aes128-md5-modp1024,3des-sha1-modp1536,3des-sha1-modp1024,3des-md5-modp1536,3des-md5-modp1024
esp=aes128-sha1-modp1536,aes128-sha1-modp1024,aes128-md5-modp1536,aes128-md5-modp1024,3des-sha1-modp1536,3des-sha1-modp1024,3des-md5-modp1536,3des-md5-modp1024
áá¯á¶áááºááẠá
áá¬ážááŸááºááá¯áááºáž áá»áœááºá¯ááºááá¯á· áááºááŸááºáá«áááºá á
á
áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒáááºá¡ááœáẠáá»áŸáá±áá¬ážáá±á¬ á
áá¬ážááŸááºááᯠááœááºáááºáá«áááºáá°á¡á¬ážáá¯á¶áž ááááá«áááºá áá®áááºážáááºážá áááááá¬áá¬ááᯠá
áááºááá»ááá¬ááŒá±á¬áá·áºáá«á á€á
áá¬ážááŸááºááẠááœááºáááºááá¯á·áááºáá±á¬ááºááœáá·áºááá±ážááá¯áá±á¬ áá°áá
áºáŠážáá»ááºážá
á®á¡á¬áž á¡ááœááºááá°ááááá¯ááºáááºá
ááá¯á·áá±á¬áºá á€á¡áá»ááºáááºáááºáá»áŸáẠááœááºáááºááá¯á¶ááŒá¯á¶áá±ážááᯠááááá¯ááºáááºááá¯ááºáá±á¬ááŒá±á¬áá·áºááŒá
áºáááºá á¡ááŒá±áá¶áá±áᬠáá¯ááºááŸááºááŒááºážááŸáá·áº á¡áá¯á¶ážááŒá¯áá° á
á
áºááŸááºááŒá±á¬ááºáž áááºáá±ááŒááŒááºážááᯠPPP áááá¯ááá¯áá±á¬á áá±á¬ááºááœááºáá«áááºá ááá¯á·áá±á¬áº ááá¬ážáá»áŸáááŸá¯á¡áá Strongswan ááẠá¡áá±á¬ááºá¡áá¬ážá
áá
á
áºááŒááºážá¡ááœáẠááá¯ááá¯áá¯á¶ááŒá¯á¶áá±á¬áááºážááá¬áá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááºá á¥ááá¬á¡á¬ážááŒáá·áºá áá»áŸáá¯á·ááŸááºáá±á¬á·áá»á¬ážááá¯áá¯á¶ážá ááŸááºáááºááŒá±á¬ááºáž áááááŒá¯ááá·áºáááºá Strongswan ááẠá
áááºáááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á
á
áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒááá¯ááºáá±á¬áºáááºáž ááá¯á¡áá»áááºá¡áá á¡ááá·áºá¡áááºááŸááá±á¬ á
ááºáá
á¹á
ááºážáá»á¬ážááá¯áᬠáá¶á·ááá¯ážáá±ážáá¬ážááŒá®áž ááá¯á·ááŒá±á¬áá·áº Rutoken ááá¯áááºáá»á¬ážááŸáá·áº á
áááºáááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á á
á
áºááŸááºááŒá±á¬ááºážá¡áááºááŒá¯áááºááŸá¬ áááºáá²áá±áá²ááŒá
áºáááºá ááá¯ááºááŸáá
áºááá·áº áá±áá°áá»á
áá¬ážááŸááºáá
áºáá¯ááᯠáááºááŸááºááŒáá«á
áá¯á· /etc/strongswan/ipsec.secrets:
# ipsec.secrets - strongSwan IPsec secrets file
%any %any : PSK "SECRET_PASSPHRASE"
strongswan ááᯠááŒááºáááºá áááºááŒáá«á áá¯á·á
sudo systemctl enable strongswan
sudo systemctl restart strongswan
xl2tp ááᯠááá·áºááœááºážááŒááºážá
sudo dnf install xl2tpd
ááá¯ááºááŸáááá·áº configure áá¯ááºááŒáá¡á±á¬áẠ/etc/xl2tpd/xl2tpd.conf:
[global]
force userspace = yes
listen-addr = 0.0.0.0
ipsec saref = yes
[lns default]
exclusive = no
; ПпÑеЎелÑÐµÑ ÑÑаÑОÑеÑкОй аЎÑÐµÑ ÑеÑвеÑа в вОÑÑÑалÑМПй ÑеÑО
local ip = 100.10.10.1
; Ð·Ð°ÐŽÐ°ÐµÑ ÐŽÐžÐ°Ð¿Ð°Ð·ÐŸÐœ вОÑÑÑалÑÐœÑÑ
аЎÑеÑПв
ip range = 100.10.10.1-100.10.10.254
assign ip = yes
refuse pap = yes
require authentication = yes
; ЎаММÑÑ ÐŸÐ¿ÑÐžÑ ÐŒÐŸÐ¶ÐœÐŸ ПÑклÑÑОÑÑ Ð¿ÐŸÑле ÑÑпеÑМПй МаÑÑÑПйкО ÑеÑО
ppp debug = yes
length bit = yes
pppoptfile = /etc/ppp/options.xl2tpd
; ÑказÑÐ²Ð°ÐµÑ Ð°ÐŽÑÐµÑ ÑеÑвеÑа в ÑеÑО
name = centos.vpn.server.ad
áááºáá±á¬ááºááŸá¯ááᯠááŒááºáááºá áááºááŒáá«á áá¯á·á
sudo systemctl enable xl2tpd
sudo systemctl restart xl2tpd
PPP á áá áºááá·áºááœááºážááŒááºážá
pppd á áá±á¬ááºáá¯á¶ážááœááºáá¬ážááŸááºážááᯠááá·áºááœááºážááẠá¡ááŒá¶ááŒá¯ááá¯áá«áááºá áá«ááá¯áá¯ááºááá¯á·á á¡á±á¬ááºáá« command ááœá±áá²á· sequence ááᯠexecute áá¯ááºáá«á
sudo yum install git make gcc openssl-devel
git clone "https://github.com/jjkeijser/ppp"
cd ppp
./configure --prefix /usr
make -j4
sudo make install
ááá¯ááºááá¯á·á á¬áá±ážáá«á /etc/ppp/options.xl2tpd á¡á±á¬ááºáá«ááá¯á· (ááá¯áá±áá¬ááœáẠáááºááá¯ážáá»á¬ážááŸááá«á áááºážááá¯á·ááᯠáá»ááºááá¯ááºáááº)á
ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.8.8
ms-dns 1.1.1.1
noccp
auth
crtscts
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
lock
proxyarp
connect-delay 5000
áá»áœááºá¯ááºááá¯á·ááẠroot áááºááŸááºááŸáá·áº áá¬áá¬á¡ááá¡ááŸááºááŒá¯áááºááŸááºááᯠáá¯ááºáá±ážáááº-
#ЎОÑекÑПÑÐžÑ Ñ ÑеÑÑОÑОкаÑаЌО пПлÑзПваÑелей, УЊ О ÑеÑвеÑа
sudo mkdir /etc/ppp/certs
#ЎОÑекÑПÑÐžÑ Ñ Ð·Ð°ÐºÑÑÑÑЌО клÑÑаЌО ÑеÑвеÑа О УЊ
sudo mkdir /etc/ppp/keys
#запÑеÑаеЌ лÑбПй ЎПÑÑÑп к ÑÑПй ЎОÑÑекÑПÑОО кÑПЌе аЎЌОМОÑÑаÑПÑа
sudo chmod 0600 /etc/ppp/keys/
#геМеÑОÑÑеЌ клÑÑ Ðž вÑпОÑÑваеЌ ÑеÑÑОÑÐžÐºÐ°Ñ Ð£ÐŠ
sudo openssl genrsa -out /etc/ppp/keys/ca.pem 2048
sudo openssl req -key /etc/ppp/keys/ca.pem -new -x509 -out /etc/ppp/certs/ca.pem -subj "/C=RU/CN=L2TP CA"
#геМеÑОÑÑеЌ клÑÑ Ðž вÑпОÑÑваеЌ ÑеÑÑОÑÐžÐºÐ°Ñ ÑеÑвеÑа
sudo openssl genrsa -out /etc/ppp/keys/server.pem 2048
sudo openssl req -new -out server.req -key /etc/ppp/keys/server.pem -subj "/C=RU/CN=centos.vpn.server.ad"
sudo openssl x509 -req -in server.req -CAkey /etc/ppp/keys/ca.pem -CA /etc/ppp/certs/ca.pem -out /etc/ppp/certs/server.pem -CAcreateserial
ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááẠá¡ááŒá±áá¶áá¬áᬠáááºáááºááŸá¯ááŒáá·áº ááŒá®ážáá«ááŒá®á áá»ááºáá¬áá¬áá¯á¶á á¶ááœá²á·á ááºážááŸá¯ááœáẠáá±á¬ááºáááºá¡áá áºáá»á¬ážááᯠááá·áºááœááºážááŒááºážáá«áááºáááºá
áááá¯ááºážááá·áºá¡áá áºááᯠááá·áºáá±áááºá
ááœááºáááºááá¯á· áááá¯ááºážááá·áºá¡áá áºáá áºáá¯ááá·áºáááºá á€áááá¯ááºážááá·áºá¡ááœáẠáá¯á¶ááŒááºá áááºáá»ááá±á¬á á¬áááºážááœáẠáááºážáá¡ááá¡ááŸááºááŒá¯áááºááŸááºááᯠááá·áºááá«áááºá
á¡áá¯á¶ážááŒá¯áá°áá áºáŠážááẠVPN ááœááºáááºáá¡ááœá²á·áááºááŒá áºááá¯áá«áá áá°ááẠá€áááá¯ááºážááá·áºá¡ááœáẠáá±á¬á·ááœá²áá áºáá¯ááŸáá·áº áááºááŸááºá¡ááá®áá±ážááŸááºážáá áºáá¯ááᯠáááºáá®ážáá±ážáááºá á¡áá¯á¶ážááŒá¯áá°á áá¯á¶ááŒááºáá«áá á€á¡ááá®áá±ážááŸááºážááᯠáááºááŸááºáá±ážááá¯ážááá¯ááºááŒá®áž áááŸááá¬áá±á¬ áááºááŸááºááᯠáááºááŸááºáá»á¬ážáááºážááœáŸááºááá¯á· á á¬áá±ážááá¯ááºáááº-
sudo openssl x509 -req -in client.req -CAkey /etc/ppp/keys/ca.pem -CA /etc/ppp/certs/ca.pem -out /etc/ppp/certs/client.pem -CAcreateserial
áááá¯ááºážááá·áºá¡áááºááŸáá·áº áááºážáá¡ááá¡ááŸááºááŒá¯áááºááŸááºááŸáá·áº ááá¯ááºáá®ááẠ/etc/ppp/eaptls-server ááá¯ááºááá¯á· ááá¯ááºážáá áºáá¯ááá·áºááŒáá«á áá¯á·á
"client" * /etc/ppp/certs/client.pem /etc/ppp/certs/server.pem /etc/ppp/certs/ca.pem /etc/ppp/keys/server.pem *
ááŸááºá
á¯
ááŸá¯ááºááœá±ážááŸá¯ááᯠááŸá±á¬ááºááŸá¬ážáááºá áá¯á¶á¡áááºá áááºááŸááºááá¯ááºá¡áááºááŸáá·áº á¡áá¯á¶ážááŒá¯áá°á¡áááºááẠáá®ážááá·áºááŒá
áºááẠááá¯áá±á¬ááºážáááºá
áá»áœááºá¯ááºááá¯á·ááá·áºááœááºážáá±áá±á¬á¡áá¯á¶ážááŒá¯áá°áá¡áááºááẠá¡ááŒá¬ážá¡áá±á¬ááºá¡áá¬ážá áá á áºááŒááºážááá¯ááºáá»á¬ážááœáẠáááºááá·áºáá±áá¬ááœááºááŸááá±á«áºááŒá±á¬ááºážááá¯áááºáž á á áºáá±ážáááá·áºááŒá®áž ááá¯ááºáá«á á¡áá¯á¶ážááŒá¯áá°á¡á¬áž á á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážááŒááá·áºáááºážáááºážááŸáá·áº ááŒá¿áá¬áá»á¬ážááŸááááºááŒá áºáááºá
áá°áá®áá±á¬áááºááŸááºááᯠá¡áá¯á¶ážááŒá¯áá°áᶠááŒááºáááºáá±ážááá¯á·ááá«áááºá
áá±á¬á·ááœá²ááŸáá·áº áááºááŸááºáá¯ááºáá±ážááŒááºážá
á¡á±á¬ááºááŒááºáá±á¬ á á áºááŸááºááŒá±á¬ááºážá¡áá±á¬ááºá¡áá¬ážá¡ááœááºá áááá¯ááºážááá·áºáááº-
- áá±á¬á·ááœá²áá áºáᯠáááºáá®ážáá«á
- CA root áááºááŸááºáá áºáá¯ááŸááááºá
- root CA á០áááºááŸááºááá¯ážáá¬ážáá±á¬ áááºááá±á¬á·á¡ááœá²á¡ááœáẠáááºááŸááºáá áºáá¯ááŸááááºá
Linux ááŸá client á¡ááœááº
áŠážá áœá¬á ááá¯áááºááœáẠáá±á¬á·ááœá²áá áºáá¯ááᯠáá¯ááºáá±ážááŒá®áž áááºááŸááºá¡ááœáẠá¡ááá®áá±ážááŸááºážáá áºáá¯ááᯠáááºáá®ážááŒáá«á áá¯á·á
#ОЎеМÑОÑОкаÑÐŸÑ ÐºÐ»ÑÑа (паÑаЌеÑÑ --id) ЌПжМП заЌеМОÑÑ ÐœÐ° лÑбПй ÐŽÑÑгПй.
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 45
openssl
OpenSSL> engine dynamic -pre SO_PATH:/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so -pre ID:pkcs11 -pre LIST_ADD:1 -pre LOAD -pre MODULE_PATH:librtpkcs11ecp.so
...
OpenSSL> req -engine pkcs11 -new -key 45 -keyform engine -out client.req -subj "/C=RU/CN=client"
CA ááá¯á·áá±á«áºáá¬áá±á¬ client.req á¡ááá®áá±ážááŸááºážááᯠáá±ážááá¯á·áá«á ááá·áºáá±á¬á·á¡ááœá²á¡ááœáẠáááºááŸááºáá áºáá¯áááŸáááŒá®ážáááºááŸáá·áº áááºážááᯠáá±á¬á·áá²á·ááá¯á· áá°áá®áá±á¬ ID áá«ááá·áº ááá¯áááºáá áºáá¯ááá¯á· áá±ážááá¯ááºáá«-
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -l -y cert -w ./client.pem --id 45
Windows ááŸáá·áº Linux áá±á¬ááºáááºáá»á¬ážá¡ááœáẠ(ááá¯ááᯠuniversal áááºážáááºáž)
á€áááºážáááºážááẠááá¯á áá¬ááœááºáá±á¬ááºážááœááºáá±á¬ááŒá±á¬áá·áºááŒá áºáááºá Windows ááŸáá·áº Linux á¡áá¯á¶ážááŒá¯áá°áá»á¬áž á¡á±á¬ááºááŒááºá áœá¬ á¡ááá¡ááŸááºááŒá¯áá¶áááá·áº áá±á¬á·ááŸáá·áº áááºááŸááºááᯠáá¯ááºáá±ážááẠááá·áºá¡á¬áž ááœáá·áºááŒá¯áá±á¬áºáááºáž áá±á¬á·áá¯ááºáá¯ááºááŒááºážáá¯ááºáááºážá ááºááᯠáá¯ááºáá±á¬ááºáááºá¡ááœáẠáááºážááẠWindows á ááºáá áºáᯠááá¯á¡ááºáá«áááºá
áá±á¬ááºážááá¯ááŸá¯áá»á¬ážáááŒá¯áá¯ááºáá® á¡ááá¡ááŸááºááŒá¯áááºááŸááºáá»á¬áž ááááºááœááºážáá®á áááºááẠáá¯á¶ááŒááºááá±á¬á á¬áááºážááœáẠVPN ááœááºáááºá á¡ááŒá áºá¡ááá¡ááŸááºááŒá¯áááºááŸááºááᯠáá±á«ááºážááá·áºááá«áááºá áá«ááá¯áá¯ááºááá¯á·á á¡á²áá«ááá¯ááœáá·áºááŒá®áž ááœáá·áºáá¬áá²á· áááºážááá¯ážáá²ááŸá¬á âInstall certificateâ option ááᯠááœá±ážáá«-
ááœáá·áºááá·áºáááºážááá¯ážááœááºá áá±ááá¶á¡áá¯á¶ážááŒá¯áá°á¡ááœáẠáááºááŸááºáá áºáá¯ááá·áºááœááºážááŒááºážááᯠááœá±ážáá«-
CA á áá¯á¶ááŒááºá áááºáá»ááá±á¬ root áááºááŸááºá ááá¯ážááœáẠáááºááŸááºááᯠááá·áºááœááºážááŒáá«á áá¯á·á
á€áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡á¬ážáá¯á¶ážááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºáááºá¡áá»ááºá¡á¬ážáá¯á¶ážááᯠááá±á¬áá°áá«áááºá á áá áºááᯠááᯠááŒááºáááºááŒá®ážáá«ááŒá®á
á¡á±á¬ááºáá«á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááŒáá·áº cert.tmp ááá¯ááºáá áºáá¯ááᯠáááºáá®ážááŒáá«á áá¯á·á
[NewRequest]
Subject = "CN=client"
KeyLength = 2048
KeySpec = "AT_KEYEXCHANGE"
ProviderName = "Microsoft Base Smart Card Crypto Provider"
KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE"
KeyUsageProperty = "NCRYPT_ALLOW_DECRYPT_FLAG"
RequestType = PKCS10
SMIME = FALSE
áááºážááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬á·ááœá²áá áºáá¯ááᯠáá¯ááºáá±ážááŒá®áž áááºááŸááºá¡ááœáẠá¡ááá®áá±ážááŸááºážáá áºáá¯ááᯠáááºáá®ážáá«áááºá áá«ááá¯áá¯ááºááá¯á· powershell ááá¯ááœáá·áºááŒá®áž á¡á±á¬ááºáá« command ááá¯ááá¯ááºááá·áºáá«á
certreq.exe -new -pin $PIN .cert.tmp .client.req
áááºáá®ážáá¬ážáá±á¬ á¡ááá®áá±ážááŸááºáž client.req ááᯠáááºá CA ááá¯á· áá±ážááá¯á·ááŒá®áž client.pem áááºááŸááºááᯠáááºáá¶áááŸáááẠá á±á¬áá·áºáá«á áááºážááᯠááá¯áááºáá áºáá¯ááá¯á· á á¬áá±ážááá¯ááºááŒá®áž á¡á±á¬ááºáá« command ááᯠá¡áá¯á¶ážááŒá¯á Windows áááºááŸááºá ááá¯ážááá¯á· ááá·áºááá¯ááºáááºá
certreq.exe -accept .client.pem
mmc áááá¯ááááºá ááááºáá áºá¡ááºáá¬áá±á·á áºááᯠá¡áá¯á¶ážááŒá¯á á¡áá¬ážáá°áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážááᯠááŒááºáááºáá¯ááºáá¯ááºááá¯ááºáá±á¬áºáááºáž á€áááºážáááºážááẠá¡áá»áááºááá¯áá¯ááºááŒá®áž áááá¯ááááºáá¬ááŸá¯áááºážáá«ážááŒá±á¬ááºáž áááááŒá¯ááá·áºáááºá
Ubuntu client ááᯠá áá áºááá·áºááœááºážááŒááºážá
ááŸááºá
á¯
Linux ááœáẠclient áá
áºáá¯áááºáá±á¬ááºááŒááºážááẠáá±á¬áá±á¬ááẠá¡áá»áááºáá¯ááºáá±á¬ááŒá±á¬áá·áº... á¡áááºážá¡ááŒá
áºá០áá®ážááŒá¬ážáááá¯ááááºáá»á¬ážááᯠáááºáá±á¬ááºááẠááá¯á¡ááºáááºá ááá±ážáá±á¬á·áá±á¬á¡áá¬áááºááœáẠááá¬ážáááºááááºážáááºážáá¬ážáá±á¬áá±áá¬áá»á¬ážááœáẠá¡ááŒá±á¬ááºážá¡áá²áá»á¬ážá¡á¬ážáá¯á¶ážáá«áááºááŒá±á¬ááºáž áá±áá»á¬á
á±ááẠáá»áœááºá¯ááºááá¯á·ááŒáá¯ážá
á¬ážáá«áááºá
áá¬áá¬ááá¯á· IPSec á¡ááá·áºááœáẠáá»áááºáááºááŸá¯áá±áá»á¬á á±áááºá strongswan package ááŸáá·áº xl2tp daemon ááá¯á¡áá¯á¶ážááŒá¯áááºá á áááºáááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á ááœááºáááºááá¯á· áá»áááºáááºáá¬ááœáẠááá¯ážááŸááºážá á±áááºá ááá¯ážááŸááºážáá±á¬ áá»áááºáááºááŸá¯ á áá áºááá·áºááœááºážááŸá¯á¡ááœáẠááááºáá áºááŸá²ááºááᯠáá¶á·ááá¯ážáá±ážááá·áº l2tp-ipsec-vpn áááºáá±á·áá»áºááᯠá¡áá¯á¶ážááŒá¯áá«áááºá
á¡ááá·áºáá áºááá·áºááŒá®ážáá áºááá·áº á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠá áááºá á¯á ááºážááŒáá«á áá¯á·á ááá¯á·áá±á¬áº áááºážáááá¯ááºáá®ááœáẠáá»áœááºá¯ááºááá¯á·ááẠVPN ááá¯ááºááá¯ááºá¡áá¯ááºáá¯ááºáááºá¡ááœáẠááá¯á¡ááºáá±á¬ áááºáá±á·áá»áºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááá·áºááœááºážáá«áááºá
sudo apt-get install xl2tpd strongswan libp11-3
ááá¯áááºáá»á¬ážááŸáá·áº á¡áá¯ááºáá¯ááºáááºá¡ááœáẠáá±á¬á·ááºáá²ááᯠááá·áºááœááºážááŒááºážá
áá±á¬ááºáá¯á¶ážáá±á«áº librtpkcs11ecp.so á
á¬ááŒáá·áºááá¯ááºááᯠááá·áºááœááºážáá«á
sudo apt-get install pcscd pcsc-tools opensc libengine-pkcs11-openssl
Rutoken ááᯠáá»áááºáááºááŒá®áž á áá áºá á¡ááá¡ááŸááºááŒá¯ááŒá±á¬ááºáž á á áºáá±ážáá«á
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -O -l
áá¬áá±ážáá¬ážáá±á¬ ppp ááᯠááá·áºááœááºážááŒááºážá
sudo apt-get -y install git make gcc libssl-dev
git clone "https://github.com/jjkeijser/ppp"
cd ppp
./configure --prefix /usr
make -j4
sudo make install
L2tpIpsecVpn áááá¯ááºážááá·áºááᯠááá·áºááœááºážááŒááºážá
áá±á¬áá±á¬áááºááœááºá client áááºáááºáž source code á០compiled ááá¯á¡ááºáá«áááºá áááºážááᯠá¡á±á¬ááºáá« command áá»á¬ážá sequence ááᯠá¡áá¯á¶ážááŒá¯á áá¯ááºáá±á¬ááºááẠá
sudo apt-get -y install git qt5-qmake qt5-default build-essential libctemplate-dev libltdl-dev
git clone "https://github.com/Sander80/l2tp-ipsec-vpn"
cd l2tp-ipsec-vpn
make -j4
sudo make install
L2tpIpsecVpn áááá¯ááºážááá·áºááᯠá áá áºááá·áºááœááºážááŒááºážá
ááá·áºááœááºážáá¬ážáá±á¬ client ááá¯ááœáá·áºáá«-
á áááºááŒá®ážáá±á¬ááºá L2tpIpsecVPN applet ááá¯ááœáá·áºááá·áºáááºá áááºážáá±á«áºááœáẠright-click ááŸáááºááŒá®áž connection ááᯠconfigure áá¯ááºáá«á
ááá¯áááºáá»á¬ážááŸáá·áºá¡áá¯ááºáá¯ááºáááºá áŠážá áœá¬á áá»áœááºá¯ááºááá¯á·ááẠOpenSSL á¡ááºáá»ááºááŸáá·áº PKCS#11 á á¬ááŒáá·áºááá¯ááºá opensc á¡ááºáá»ááºáá®ááá¯á· áááºážááŒá±á¬ááºážááá¯ááœáŸááºááŒáá«áááºá áááºážááá¯áá¯ááºáá±á¬ááºááẠopenssl áá±á¬ááºáá»á¬ážááᯠconfigure áá¯ááºááẠ"Preferences" tab ááá¯ááœáá·áºáá«á
.
OpenSSL áááºáááºáááºážááá¯ážááá¯ááááºááŒá®áž ááœááºáááºááá¯á ááœáá·áºáááºááŸááºááẠááŸá±á·áááºááŒáá«á áá¯á·á áááºáááºáá»á¬ážáá±á¬ááºááŸá Add... ááá¯ááºááᯠááŸáááºááŒá®áž ááœááºáááºá¡áááºááᯠááá¯ááºááá·áºááŒááºážááŒáá·áº ááœááºáááºá¡áá áºáá áºáá¯ááᯠáá±á«ááºážááá·áºááŒáá«á áá¯á·á
áááºážááŒá®ážáá±á¬ááºá á€ááœááºáááºááᯠáááºáááºá¡ááá·áºááœáẠáááá¯ááºáá«áááºá áááºážááᯠá á®á ááºáááºááŸááºááẠááœááºáááºá¡áá áºáá±á«áºááœáẠáá¬áááºááŸá áºáá»ááºááŸáááºáá«á ááááááºááºááœáẠáááºááẠIPsec áááºáááºáá»á¬ážááᯠááŒá¯áá¯ááºááẠááá¯á¡ááºáááºá áá¬áá¬ááááºá á¬ááŸáá·áº á¡áá»á¬ážáá°ááŸá¬áá±á¬á·ááᯠáááºááŸááºááŒáá«á áá¯á·á
áááºážááŒá®ážáá±á¬ááºá PPP áááºáááºáááºááºááá¯á·ááœá¬ážá áá»áœááºá¯ááºááá¯á·ááœááºáááºááá¯áááºáá±á¬ááºááá¯ááá·áº áá¯á¶ážá áœá²áá°á¡áááºááᯠááá¯áá±áá¬ááœáẠááœáŸááºááŒáá«-
áááºážááŒá®ážáá±á¬ááºá Properties áááºááºááá¯ááœáá·áºááŒá®áž áá±á¬á·á client áááºááŸááºááŸáá·áº CA ááá¯á· áááºážááŒá±á¬ááºážááᯠáááºááŸááºáá«-
á€áááºááá¯ááááºááŒá®áž áá±á¬ááºáá¯á¶ážáááºáááºáá»á¬ážááᯠáá¯ááºáá±á¬ááºááŒáá«á áá¯á·á áááºážááá¯áá¯ááºáá±á¬ááºáááºá "IP áááºáááºáá»á¬áž" áááºááºááá¯ááœáá·áºááŒá®áž "DNS áá¬áá¬ááááºá á¬á¡ááá¯á¡áá»á±á¬ááºááá°áááº" ááœá±ážáá»ááºááŸá¯áá±ážááŸá á¡ááœááºááᯠá¡ááŸááºááŒá áºáá«á
á€ááœá±ážáá»ááºááŸá¯ááẠáá¯á¶ážá
áœá²áá°á¡á¬áž áá¬áá¬á០ááœááºáááºá¡ááœááºáž ááá¯ááºááá¯áẠIP ááááºá
á¬ááᯠáááºáá¶áááŸáá
á±áááºááŒá
áºáááºá
áááºáááºáá»á¬ážá¡á¬ážáá¯á¶ážááŒá®ážáá±á¬ááºá áááºá¡á¬ážáá¯á¶ážááá¯ááááºááŒá®áž áááá¯ááºážááá·áºááᯠááŒááºáááºá áááºáá«á
ááœááºáááºááá¯á·áá»áááºáááºáá±áááº
áááºáááºáá»á¬ážááŒá®ážáá±á¬ááºá áááºááẠááœááºáááºááá¯á· áá»áááºáááºááá¯ááºáááºá áááºážááá¯áá¯ááºáá±á¬ááºáááºá applet áááºááºááá¯ááœáá·áºááŒá®áž áá»áœááºá¯ááºááá¯á·áá»áááºáááºááá¯áá±á¬ááœááºáááºááᯠááœá±ážáá»ááºáá«-
áá»áááºáááºááŸá¯áááºáá±á¬ááºááŒááºážáá¯ááºáááºážá ááºá¡ááœááºážá áá¯á¶ážá áœá²áá°ááẠáá»áœááºá¯ááºááá¯á·á¡á¬áž Rutoken PIN áá¯ááºááᯠááá·áºááœááºážááẠáá±á¬ááºážááá¯áááá·áºáááº-
áá»áááºáááºááŸá¯ááᯠá¡á±á¬ááºááŒááºá áœá¬áááºáá±á¬ááºááŒá®ážááá·áº á¡ááŒá±á¡áá±áá¬ážááœáẠá¡ááŒá±á¬ááºážááŒá¬ážáá»ááºáá áºáᯠáá±á«áºáá¬áá«áá á áá áºááá·áºááœááºážááŸá¯ á¡á±á¬ááºááŒááºáááºáᯠááá¯ááá¯áááº-
ááá¯ááºáá«á á¡áááºááŒá±á¬áá·áº áá»áááºáááºááŸá¯ááᯠááááºáá±á¬ááºáááááºážááá¯áááºááᯠá¡ááŒá±ááŸá¬ááá»áá¯ážáááºáá«áááºá áááºážááá¯áá¯ááºáá±á¬ááºáááºá áááºááẠapplet ááŸá "Connection information" command ááá¯ááœá±ážáá»ááºááŒááºážááŒáá·áº program log ááá¯ááŒáá·áºááŸá¯ááá·áºáááº-
Windows client ááᯠá áá áºááá·áºááœááºážááŒááºážá
Windows ááœáẠclient áá áºáá¯áááºáá±á¬ááºááŒááºážááẠLinux áááºááá¯ááá¯ááœááºáá°áá±á¬ááŒá±á¬áá·áº ... ááá¯á¡ááºáá±á¬ software á¡á¬ážáá¯á¶ážááᯠsystem ááœááºááá·áºááœááºážááŒá®ážááŒá áºáááºá
á áá áºááá·áºááœááºážááŒááºážá
Rutokens ááŸáá·áº á¡áá¯ááºáá¯ááºáááºá¡ááœáẠááá¯á¡ááºáá±á¬ Driver á¡á¬ážáá¯á¶ážááᯠáááºážááá¯á·áá¶á០áá±á«ááºážáá¯ááºáá¯ááºáá«áááºá
á¡áá±á¬ááºá¡áá¬ážá áá á áºááŒááºážá¡ááœáẠá¡áááºážáááºááŸááºááᯠáááºááœááºážááŒááºážá
áá¬áᬠroot áááºááŸááºááᯠáá±á«ááºážáá¯ááºáá¯ááºááŒá®áž á áá áºááœáẠááá·áºááœááºážáá«á áá«ááá¯áá¯ááºááá¯á·á á¡á²áá«ááá¯ááœáá·áºááŒá®áž ááœáá·áºáá¬áá²á· áááºážááá¯ážáá²ááŸá¬á âInstall certificateâ option ááᯠááœá±ážáá«-
ááœáá·áºááá·áºáááºážááá¯ážááœááºá áá±ááá¶á¡áá¯á¶ážááŒá¯áá°á¡ááœáẠáááºááŸááºáá áºáá¯ááá·áºááœááºážááŒááºážááᯠááœá±ážáá»ááºáá«á á¡ááá¡ááŸááºááŒá¯áááºááŸááºááᯠááœááºáá»á°áá¬áá±á«áºááŸá á¡áá¯á¶ážááŒá¯áá°áá»á¬ážá¡á¬ážáá¯á¶áž áááá¯ááºá á±ááá¯áá«áá ááŒááºááœááºážááœááºáá»á°áá¬áá±á«áºááœáẠáááºááŸááºááᯠááá·áºááœááºážááẠááœá±ážáá»ááºááá·áºáááº-
CA á áá¯á¶ááŒááºá áááºáá»ááá±á¬ root áááºááŸááºá ááá¯ážááœáẠáááºááŸááºááᯠááá·áºááœááºážááŒáá«á áá¯á·á
á€áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá¡á¬ážáá¯á¶ážááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠáá±á¬ááºáááºá¡áá»ááºá¡á¬ážáá¯á¶ážááᯠááá±á¬áá°áá«áááºá á áá áºááᯠááᯠááŒááºáááºááŒá®ážáá«ááŒá®á
VPN áá»áááºáááºááŸá¯ááᯠá áá áºááá·áºááœááºážááŒááºážá
VPN áá»áááºáááºááŸá¯ááᯠá áá áºááá·áºááœááºážáááºá ááááºážáá»á¯ááºááŸá¯áá±á¬ááºááá¯á·ááœá¬ážááŒá®áž áá»áááºáááºááŸá¯á¡áá áºáá áºáá¯áááºáá®ážááẠááœá±ážáá»ááºá áá¬ááᯠááœá±ážáá»ááºáá«á
áá±á«áºáá¬áá±á¬áááºážááá¯ážááœááºá ááá·áºáá¯ááºáááºážááœááºááá¯á·áá»áááºáááºááẠáá»áááºáááºááŸá¯áá áºáá¯áááºáá®ážááẠááœá±ážá áá¬ááá¯ááœá±ážáá»ááºáá«-
áá¬ááá·áºáááºážááá¯ážááœááºá VPN áá»áááºáááºááŸá¯ááᯠááœá±ážáá«-
VPN áá»áááºáááºááŸá¯á¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠááá·áºááœááºážááŒá®áž á áááºáááºááᯠá¡áá¯á¶ážááŒá¯ááẠááœá±ážáá»ááºááœáá·áºááá¯áááºáž áááºááŸááºáá«-
á áá áºááá·áºááœááºážááŸá¯ áááŒá®ážááŒááºáá±ážáá«á áá»ááºááŸááá±áá±ážáááºááŸá¬ IPsec áááá¯ááá¯áá±á¬á¡ááœáẠáá»áŸáá±áá¬ážáá±á¬áá±á¬á·ááᯠáááºááŸááºáááºááŒá áºáááºá áááºážááá¯áá¯ááºáá±á¬ááºáááºá "ááœááºáááºáá»áááºáááºááŸá¯áááºáááºáá»á¬áž" áááºááºááá¯á·ááœá¬ážáᬠ"á€áá»áááºáááºááŸá¯á¡ááœáẠááá¯ááºááá¯ááºááŸá¯áá»á¬áž" áááºááºááá¯á·ááœá¬ážáá«-
ááœáá·áºáá¬áá±á¬áááºážááá¯ážááœááºá "áá¯á¶ááŒá¯á¶áá±áž" áááºááºááá¯á·ááœá¬ážáá«á ááœááºáááºá¡áá»áá¯ážá¡á á¬ážá¡ááŒá Ạ"L2TP/IPsec Network" ááá¯áááºááŸááºááŒá®áž "á¡ááá·áºááŒáá·áºáááºáááºáá»á¬áž" ááá¯ááœá±ážáá»ááºáá«-
ááœáá·áºááá·áºáááºážááá¯ážááœááºá áá»áŸáá±áá¬ážáá±á¬ IPsec áá®ážááᯠáááºááŸááºáá«-
ÐПЎклÑÑеМОе
á áá áºááá·áºááœááºážááŸá¯ááŒá®ážáá«á áááºááẠááœááºáááºááá¯á· áá»áááºáááºááẠááŒáá¯ážá á¬ážááá¯ááºáááº-
áá»áááºáááºááŸá¯áá¯ááºáááºážá ááºá¡ááœááºážá áá»áœááºá¯ááºááá¯á·ááẠááá¯ááẠPIN áá¯ááºááᯠááá·áºááœááºážááẠááá¯á¡ááºáá«áááº-
áá»áœááºá¯ááºááá¯á·ááẠáá¯á¶ááŒá¯á¶áá±á¬ VPN ááœááºáááºááᯠáááºáá±á¬ááºáá¬ážááŒá®áž áááºážááẠááááºáá²ááŒá±á¬ááºáž áá±áá»á¬á á±áá«áááºá
áá»á±ážáá°ážáááºááœáŸá¬
Linux áá¯á¶ážá áœá²áá°áá»á¬ážá¡ááœáẠVPN áá»áááºáááºááŸá¯áá»á¬ážááᯠááá¯ážááŸááºážááœááºáá°á á±ááẠá¡áá°áááœáá¯ááºáá±á¬ááºáá²á·áá±á¬ áá»áœááºá¯ááºááá¯á·ááá¯ááºáá±á¬áºááá¯ááºááẠVasily Shokov ááŸáá·áº Alexander Smirnov ááᯠáá áºáááºáá»á±ážáá°ážáááºááá¯áá«áááºá
source: www.habr.com