๋ฌธ์
์ต๊ทผ์๋ ์ฌํ๊ทผ๋ฌด๊ฐ ์ด๋ค ๊ฒ์ธ์ง ๋ชจ๋ฅด๋ ์ฌ๋์ด ๋ง์ต๋๋ค. ์ ์ผ๋ณ์ ์ธ๊ณ ์ํฉ์ ๊ทน์ ์ผ๋ก ๋ณํ์์ผฐ๊ณ , ๋ชจ๋ ์ฌ๋์ด ํ์ฌ ์ํฉ, ์ฆ ์ง์ ๋ ๋๋ ๊ฒ์ด ๋จ์ํ ์์ ํ์ง ์๋ค๋ ์ฌ์ค์ ์ ์ํ๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ ์ฌ๋๋ค์ด ์ง์๋ค์ ์ํด ์ฌํ๊ทผ๋ฌด๋ฅผ ์ ์ํ๊ฒ ์กฐ์งํด์ผ ํ์ต๋๋ค.
๊ทธ๋ฌ๋ ์๊ฒฉ ์์ ์ ์ํ ์๋ฃจ์ ์ ์ ํํ๋ ๋ฐ ์์ด ์ ๋ฅํ ์ ๊ทผ ๋ฐฉ์์ด ๋ถ์กฑํ๋ฉด ๋์ดํฌ ์ ์๋ ์์ค์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์ฌ์ฉ์ ์ํธ๋ ๋๋๋นํ ์ ์์ผ๋ฉฐ, ์ด๋ก ์ธํด ๊ณต๊ฒฉ์๋ ๊ธฐ์ ์ ๋คํธ์ํฌ ๋ฐ IT ๋ฆฌ์์ค์ ํต์ ํ ์ ์๊ฒ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ด์ ์์ ์ ์ธ ๊ธฐ์ VPN ๋คํธ์ํฌ๋ฅผ ๊ตฌ์ถํด์ผ ํ ํ์์ฑ์ด ๋์์ก์ต๋๋ค. ๋๋ ๋น์ ์๊ฒ ๋งํ ๊ฒ์ ๋๋ค ๋ฏฟ์ ์์๋, ์์ ํ ะธ ๋จ์ํ VPN ๋คํธ์ํฌ ์ฌ์ฉ ์.
์ด๋ ํ ํฐ์ ์ ์ฅ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ ํค์ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ์ฌ ํด๋ผ์ด์ธํธ๋ฅผ ์ธ์ฆํ๊ณ ์ํธํ๋ ํ์์ผ๋ก ๋คํธ์ํฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ IPsec/L2TP ์ฒด๊ณ์ ๋ฐ๋ผ ์๋ํฉ๋๋ค.
CentOS 7์ด ์ค์น๋ ์๋ฒ(์ฃผ์: centos.vpn.server.ad)์ Ubuntu 20.04๊ฐ ์ค์น๋ ํด๋ผ์ด์ธํธ, Windows 10์ด ์ค์น๋ ํด๋ผ์ด์ธํธ๊ฐ ๊ตฌ์ฑ ์์ฐ๋๋ก ์ฌ์ฉ๋์์ต๋๋ค.
์์คํ ์ค๋ช
VPN์ IPSec + L2TP + PPP ๋ฐฉ์์ ๋ฐ๋ผ ์๋ํฉ๋๋ค. ๊ท์ฝ ์ง์ ๊ฐ ํ๋กํ ์ฝ (PPP)๋ OSI ๋ชจ๋ธ์ ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต์์ ์๋ํ๋ฉฐ ์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ์ ์ก๋ ๋ฐ์ดํฐ์ ์ํธํ๋ฅผ ์ ๊ณตํฉ๋๋ค. ํด๋น ๋ฐ์ดํฐ๋ ์ค์ ๋ก VPN ๋คํธ์ํฌ์์ ์ฐ๊ฒฐ ์์ฑ์ ๋ณด์ฅํ์ง๋ง ์ธ์ฆ ๋ฐ ์ํธํ๋ฅผ ์ ๊ณตํ์ง ์๋ L2TP ํ๋กํ ์ฝ์ ๋ฐ์ดํฐ์ ์บก์ํ๋ฉ๋๋ค.
L2TP ๋ฐ์ดํฐ๋ ์ธ์ฆ ๋ฐ ์ํธํ๋ ์ ๊ณตํ๋ IPSec์ ์บก์ํ๋์ง๋ง PPP์ ๋ฌ๋ฆฌ ์ธ์ฆ ๋ฐ ์ํธํ๋ ์ฌ์ฉ์ ์์ค์ด ์๋ ์ฅ์น ์์ค์์ ๋ฐ์ํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ํน์ ์ฅ์น์์๋ง ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ ์ ์์ต๋๋ค. IPSec ํ๋กํ ์ฝ์ ๊ทธ๋๋ก ์ฌ์ฉํ๊ณ ๋ชจ๋ ์ฅ์น์์ ์ฌ์ฉ์ ์ธ์ฆ์ ํ์ฉํฉ๋๋ค.
์ค๋งํธ ์นด๋๋ฅผ ์ฌ์ฉํ ์ฌ์ฉ์ ์ธ์ฆ์ EAP-TLS ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ PPP ํ๋กํ ์ฝ ์์ค์์ ์ํ๋ฉ๋๋ค.
์ด ํ๋ก์ ์๋์ ๋ํ ์์ธํ ๋ด์ฉ์ ๋ค์์์ ํ์ธํ ์ ์์ต๋๋ค.
์ด ๋ฐฉ์์ด ์ข์ VPN ๋คํธ์ํฌ์ ์ธ ๊ฐ์ง ์๊ตฌ ์ฌํญ์ ๋ชจ๋ ์ถฉ์กฑํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
- ์ด ๊ณํ์ ์ ๋ขฐ์ฑ์ ์๊ฐ์ ๋ฐ๋ผ ํ ์คํธ๋์์ต๋๋ค. 2000๋ ๋ถํฐ VPN ๋คํธ์ํฌ๋ฅผ ๋ฐฐํฌํ๋ ๋ฐ ์ฌ์ฉ๋์์ต๋๋ค.
- ์์ ํ ์ฌ์ฉ์ ์ธ์ฆ์ PPP ํ๋กํ ์ฝ์ ํตํด ์ ๊ณต๋ฉ๋๋ค.
Paul Mackerras๊ฐ ๊ฐ๋ฐํ PPP ํ๋กํ ์ฝ์ ํ์ค ๊ตฌํ ์ถฉ๋ถํ ์์ค์ ๋ณด์์ ์ ๊ณตํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ธ์ฆ์ ์ํด์๋ ๋ก๊ทธ์ธ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ ์ธ์ฆ์ด ์ฌ์ฉ๋๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. ์ฐ๋ฆฌ ๋ชจ๋๋ ๋ก๊ทธ์ธ ๋น๋ฐ๋ฒํธ๊ฐ ์ผํ, ์ถ์ธก ๋๋ ๋๋๋นํ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค๋ซ๋์ ๊ฐ๋ฐ์๋์ ์ ์คํธ ์นด์ด์ ะฒ๊ตฌํ ์ด ํ๋กํ ์ฝ์ ์ด ๋ฌธ์ ๋ฅผ ์์ ํ๊ณ ์ธ์ฆ์ ์ํด EAP-TLS์ ๊ฐ์ ๋น๋์นญ ์ํธํ ๊ธฐ๋ฐ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค. ๋ํ ์ธ์ฆ์ ์ํด ์ค๋งํธ ์นด๋๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ฌ ์์คํ ์ ๋์ฑ ์์ ํ๊ฒ ๋ง๋ค์์ต๋๋ค.
ํ์ฌ ์ด ๋ ํ๋ก์ ํธ๋ฅผ ๋ณํฉํ๊ธฐ ์ํ ํ๋ฐํ ํ์์ด ์งํ ์ค์ด๋ฉฐ ์กฐ๋ง๊ฐ ์ด๋ฐ ์ผ์ด ์ผ์ด๋ ๊ฒ์ด๋ผ๊ณ ํ์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํจ์น๋ PPP ๋ฒ์ ์ ์ธ์ฆ์ ์ํด ๋ณด์ ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ์ค๋ซ๋์ Fedora ์ ์ฅ์์ ์์์ต๋๋ค. - ์ต๊ทผ๊น์ง ์ด ๋คํธ์ํฌ๋ Windows ์ฌ์ฉ์๋ง ์ฌ์ฉํ ์ ์์์ง๋ง ๋ชจ์คํฌ๋ฐ ์ฃผ๋ฆฝ ๋ํ Vasily Shokov์ Alexander Smirnov์ ๋๋ฃ๋ค์ด ๋ฐ๊ฒฌํ์ต๋๋ค.
Linux์ฉ ์ด์ L2TP ํด๋ผ์ด์ธํธ ํ๋ก์ ํธ ์์ ํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ํด๋ผ์ด์ธํธ ์์ ์ ๋ง์ ๋ฒ๊ทธ์ ๋จ์ ์ ํจ๊ป ์์ ํ๊ณ , ์์ค์์ ๋น๋ํ๋ ๊ฒฝ์ฐ์๋ ์์คํ ์ค์น ๋ฐ ๊ตฌ์ฑ์ ๋จ์ํํ์ต๋๋ค. ๊ทธ ์ค ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.- ์๋ก์ด ๋ฒ์ ์ openssl ๋ฐ qt ์ธํฐํ์ด์ค์ ์ด์ ํด๋ผ์ด์ธํธ์ ํธํ์ฑ ๋ฌธ์ ๊ฐ ์์ ๋์์ต๋๋ค.
- ์์ ํ์ผ์ ํตํด ํ ํฐ PIN์ ์ ๋ฌํ๋ pppd๋ฅผ ์ ๊ฑฐํ์ต๋๋ค.
- ๊ทธ๋ํฝ ์ธํฐํ์ด์ค๋ฅผ ํตํ ๋น๋ฐ๋ฒํธ ์์ฒญ ํ๋ก๊ทธ๋จ์ ์๋ชป๋ ์คํ์ ์์ ํ์ต๋๋ค. ์ด๋ xl2tpd ์๋น์ค์ ๋ํ ์ฌ๋ฐ๋ฅธ ํ๊ฒฝ์ ์ค์นํ์ฌ ์ํ๋์์ต๋๋ค.
- ์ด์ L2tpIpsecVpn ๋ฐ๋ชฌ ๋น๋๊ฐ ํด๋ผ์ด์ธํธ ์์ฒด ๋น๋์ ํจ๊ป ์ํ๋๋ฏ๋ก ๋น๋ ๋ฐ ๊ตฌ์ฑ ํ๋ก์ธ์ค๊ฐ ๋จ์ํ๋ฉ๋๋ค.
- ๊ฐ๋ฐ ํธ์์ฑ์ ์ํด Azure Pipelines ์์คํ ์ด ์ฐ๊ฒฐ๋์ด ๋น๋์ ์ ํ์ฑ์ ํ ์คํธํฉ๋๋ค.
- ๊ฐ์ ๋ค์ด๊ทธ๋ ์ด๋ ๊ธฐ๋ฅ ์ถ๊ฐ
๋ณด์ ์์ค openssl์ ๋งฅ๋ฝ์์. ์ด๋ ํ์ค ๋ณด์ ์์ค์ด 2๋ก ์ค์ ๋ ์ ์ด์ ์ฒด์ ์ ์ด ์์ค์ ๋ณด์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ์ง ์๋ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ๋ VPN ๋คํธ์ํฌ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ง์ํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค. ์ด ์ต์ ์ ๊ธฐ์กด์ ๊ธฐ์กด VPN ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค.
์์ ๋ ๋ฒ์ ์ ๋ค์์์ ์ฐพ์ ์ ์์ต๋๋ค.
์ด ํด๋ผ์ด์ธํธ๋ ์ธ์ฆ์ ์ํ ์ค๋งํธ ์นด๋ ์ฌ์ฉ์ ์ง์ํ๋ฉฐ Linux์์ ์ด ์ฒด๊ณ๋ฅผ ์ค์ ํ๋ ๋ฐ ๋ฐ๋ฅธ ๋ชจ๋ ์ด๋ ค์์ ์ต๋ํ ์จ๊ฒจ ํด๋ผ์ด์ธํธ ์ค์ ์ ์ต๋ํ ๊ฐ๋จํ๊ณ ๋น ๋ฅด๊ฒ ๋ง๋ญ๋๋ค.
๋ฌผ๋ก PPP์ ํด๋ผ์ด์ธํธ GUI ๊ฐ์ ํธ๋ฆฌํ ์ฐ๊ฒฐ์ ์ํด ๊ฐ ํ๋ก์ ํธ์ ๋ํ ์ถ๊ฐ ํธ์ง ์์ด๋ ๋ถ๊ฐ๋ฅํ์ง๋ง ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ต์ํ๋๊ณ ์ต์ํ์ผ๋ก ์ถ์๋์์ต๋๋ค.
- ๊ฒฐ์ ๋
PPP์์ openssl ์ปจํ ์คํธ๋ก ํ ํฐ PIN ์ฝ๋๋ฅผ ์๋ชป ์ ๋ฌํ๋ ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. - ๊ฒฐ์ ๋
๊ตฌ์ฑ์ ๋ก๋ํ๊ณ openssl ์ปจํ ์คํธ๋ฅผ ์ด๊ธฐํํ๋ ์์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. . ์ด ์ค๋ฅ๋ก ์ธํด ์ค๋งํธ ์นด๋ ์์ ์ ์ํ openssl ์์ง์ ๋ํ ์ ๋ณด๋ฅผ ์ ์ธํ๊ณ ๋ก์ปฌ /etc/ppp/openssl.cnf ๊ตฌ์ฑ ํ์ผ์์ ์๋ฌด๊ฒ๋ ๋ก๋ํ ์ ์์์ต๋๋ค. ์ด๋ ์๋ฅผ ๋ค์ด ์์ง์ ๋ํ ์ ๋ณด ์ธ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์ฌ๊ฐํ ๋ถํธ์ ๊ฒช์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ญ๊ฐ ๋ค๋ฅธ ๊ฒ์ ์ค์ ํ๊ณ ์ถ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฐ๊ฒฐ์ ์ค์ ํ ๋ ๋ณด์ ์์ค์ ์์ ํฉ๋๋ค.
์ด์ ์ค์ ์ ์์ํ ์ ์์ต๋๋ค.
์๋ฒ ํ๋
ํ์ํ ํจํค์ง๋ฅผ ๋ชจ๋ ์ค์นํด ๋ณด๊ฒ ์ต๋๋ค.
Strongswan(IPsec) ์ค์น
์ฐ์ IPsec ๋์์ ์ํ ๋ฐฉํ๋ฒฝ์ ๊ตฌ์ฑํด๋ณด์
sudo firewall-cmd --permanent --add-port=1701/{tcp,udp}
sudo firewall-cmd --permanent --add-service=ipsec
sudo firewall-cmd --reload
๊ทธ๋ผ ์ค์น๋ฅผ ์์ํด๋ณด์
sudo yum install epel-release ipsec-tools dnf
sudo dnf install strongswan
์ค์น ํ์๋ Strongswan(IPSec ๊ตฌํ ์ค ํ๋)์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ํ์ผ์ ํธ์งํ์ธ์. /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
ํ์ผ์ ํตํด ๊ตฌ์ฑํ์ /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๋ฅผ ์ค์นํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ ์์๋๋ก ์คํํ์ญ์์ค.
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
๋ฃจํธ ์ธ์ฆ์์ ์๋ฒ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํฉ๋๋ค.
#ะดะธัะตะบัะพัะธั ั ัะตััะธัะธะบะฐัะฐะผะธ ะฟะพะปัะทะพะฒะฐัะตะปะตะน, ะฃะฆ ะธ ัะตัะฒะตัะฐ
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 ๋ฃจํธ ์ธ์ฆ์๊ฐ ์์ด์ผ ํฉ๋๋ค.
- ๋ฃจํธ CA์์ ์๋ช ํ ํค ์์ ๋ํ ์ธ์ฆ์๊ฐ ์์ด์ผ ํฉ๋๋ค.
Linux ํด๋ผ์ด์ธํธ์ ๊ฒฝ์ฐ
๋จผ์ ํ ํฐ์ ๋ํ ํค ์์ ์์ฑํ๊ณ ์ธ์ฆ์์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํด ๋ณด๊ฒ ์ต๋๋ค.
#ะธะดะตะฝัะธัะธะบะฐัะพั ะบะปััะฐ (ะฟะฐัะฐะผะตัั --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 ํด๋ผ์ด์ธํธ์ฉ(๋ณด๋ค ๋ณดํธ์ ์ธ ๋ฐฉ๋ฒ)
์ด ๋ฐฉ๋ฒ์ ๋ ๋ณดํธ์ ์ด๊ธฐ ๋๋ฌธ์ Windows ๋ฐ Linux ์ฌ์ฉ์๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ธ์ํ ์ ์๋ ํค์ ์ธ์ฆ์๋ฅผ ์์ฑํ ์ ์์ง๋ง ํค ์์ฑ ์ ์ฐจ๋ฅผ ์ํํ๋ ค๋ฉด Windows ์์คํ ์ด ํ์ํฉ๋๋ค.
์์ฒญ์ ์์ฑํ๊ณ ์ธ์ฆ์๋ฅผ ๊ฐ์ ธ์ค๊ธฐ ์ ์ VPN ๋คํธ์ํฌ์ ๋ฃจํธ ์ธ์ฆ์๋ฅผ ์ ๋ขฐํ ์ ์๋ ์ธ์ฆ์ ๋ชฉ๋ก์ ์ถ๊ฐํด์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ํด๋น ์ฐฝ์ ์ด๊ณ ์ด๋ฆฌ๋ ์ฐฝ์์ "์ธ์ฆ์ ์ค์น" ์ต์ ์ ์ ํํ์ญ์์ค.
์ด๋ฆฌ๋ ์ฐฝ์์ ๋ก์ปฌ ์ฌ์ฉ์๋ฅผ ์ํ ์ธ์ฆ์ ์ค์น๋ฅผ ์ ํํฉ๋๋ค.
CA์ ์ ๋ขฐํ ์ ์๋ ๋ฃจํธ ์ธ์ฆ์ ์ ์ฅ์์ ์ธ์ฆ์๋ฅผ ์ค์นํด ๋ณด๊ฒ ์ต๋๋ค.
์ด๋ฌํ ๋ชจ๋ ์กฐ์น ํ์ ์ฐ๋ฆฌ๋ ๋ชจ๋ ์ถ๊ฐ ์ฌํญ์ ๋์ํฉ๋๋ค. ์ด์ ์์คํ ์ด ๊ตฌ์ฑ๋์์ต๋๋ค.
๋ค์ ๋ด์ฉ์ผ๋ก 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์ ์ด๊ณ ๋ค์ ๋ช ๋ น์ ์ ๋ ฅํ์ญ์์ค.
certreq.exe -new -pin $PIN .cert.tmp .client.req
์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ client.req๋ฅผ CA์ ๋ณด๋ด๊ณ client.pem ์ธ์ฆ์๊ฐ ์์ ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ๋ค์ ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ํ ํฐ์ ๊ธฐ๋กํ๊ณ Windows ์ธ์ฆ์ ์ ์ฅ์์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
certreq.exe -accept .client.pem
mmc ํ๋ก๊ทธ๋จ์ ๊ทธ๋ํฝ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฌํ ์์ ์ ์ฌํํ ์ ์๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ง๋ง ์ด ๋ฐฉ๋ฒ์ ์๊ฐ์ด ๋ ๋ง์ด ๊ฑธ๋ฆฌ๊ณ ํ๋ก๊ทธ๋๋ฐ ๊ฐ๋ฅ์ฑ์ด ๋ฎ์ต๋๋ค.
Ubuntu ํด๋ผ์ด์ธํธ ์ค์
์ฃผ์์ฌํญ
Linux์์ ํด๋ผ์ด์ธํธ๋ฅผ ์ค์ ํ๋ ๊ฒ์ ํ์ฌ ์๊ฐ์ด ๋ง์ด ์์๋ฉ๋๋ค. ์๋ํ๋ฉด... ์์ค์ ๋ณ๋์ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ถํด์ผ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ฐ๊น์ด ์์ผ ๋ด์ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๊ณต์ ์ ์ฅ์์ ํฌํจ๋ ์ ์๋๋ก ๋
ธ๋ ฅํ ๊ฒ์
๋๋ค.
IPSec ์์ค์์ ์๋ฒ์ ๋ํ ์ฐ๊ฒฐ์ ๋ณด์ฅํ๊ธฐ ์ํด Strongswan ํจํค์ง์ xl2tp ๋ฐ๋ชฌ์ด ์ฌ์ฉ๋ฉ๋๋ค. ์ค๋งํธ ์นด๋๋ฅผ ์ฌ์ฉํ์ฌ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ๋จ์ํํ๊ธฐ ์ํด ๋จ์ํ๋ ์ฐ๊ฒฐ ์ค์ ์ ์ํ ๊ทธ๋ํฝ ์ ธ์ ์ ๊ณตํ๋ 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 ํด๋ผ์ด์ธํธ ์ค์น
ํ์ฌ๋ก์๋ ํด๋ผ์ด์ธํธ๋ ์์ค ์ฝ๋์์ ์ปดํ์ผํด์ผ ํฉ๋๋ค. ์ด ์์ ์ ๋ค์ ๋ช ๋ น ์์๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ฉ๋๋ค.
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 ํด๋ผ์ด์ธํธ ์ค์
์ค์น๋ ํด๋ผ์ด์ธํธ๋ฅผ ์คํํฉ๋๋ค:
์คํ ํ L2tpIpsecVPN ์ ํ๋ฆฟ์ด ์ด๋ฆฝ๋๋ค. ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ ํด๋ฆญํ๊ณ ์ฐ๊ฒฐ์ ๊ตฌ์ฑํฉ๋๋ค.
ํ ํฐ ์์ ์ ์ํด ๋จผ์ OpenSSL ์์ง์ opensc ์์ง๊ณผ PKCS#11 ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด "๊ธฐ๋ณธ ์ค์ " ํญ์ ์ด์ด openssl ๋งค๊ฐ๋ณ์๋ฅผ ๊ตฌ์ฑํ์ธ์.
.
OpenSSL ์ค์ ์ฐฝ์ ๋ซ๊ณ ๋คํธ์ํฌ ์ค์ ์ผ๋ก ๋์ด ๊ฐ์๋ค. ์ค์ ํจ๋์์ ์ถ๊ฐ... ๋ฒํผ์ ํด๋ฆญํ๊ณ ๋คํธ์ํฌ ์ด๋ฆ์ ์ ๋ ฅํ์ฌ ์ ๋คํธ์ํฌ๋ฅผ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค.
๊ทธ ํ์๋ ์ค์ ํจ๋์์ ์ด ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค. ์ ๋คํธ์ํฌ๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ๋ ๋ฒ ํด๋ฆญํ์ฌ ๊ตฌ์ฑํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ํญ์์๋ IPsec ์ค์ ์ ์ง์ ํด์ผ ํฉ๋๋ค. ์๋ฒ ์ฃผ์์ ๊ณต๊ฐ ํค๋ฅผ ์ค์ ํด ๋ณด๊ฒ ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ PPP ์ค์ ํญ์ผ๋ก ์ด๋ํ์ฌ ๋คํธ์ํฌ์ ์ก์ธ์คํ๋ ค๋ ์ฌ์ฉ์ ์ด๋ฆ์ ํ์ํ์ญ์์ค.
๊ทธ๋ฐ ๋ค์ ์์ฑ ํญ์ ์ด๊ณ ํค, ํด๋ผ์ด์ธํธ ์ธ์ฆ์ ๋ฐ CA์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค.
์ด ํญ์ ๋ซ๊ณ ์ต์ข ์ค์ ์ ์ํํด ๋ณด๊ฒ ์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด "IP ์ค์ " ํญ์ ์ด๊ณ "์๋์ผ๋ก DNS ์๋ฒ ์ฃผ์ ๋ฐ๊ธฐ" ์ต์ ์์ ํ์ธ๋์ ์ ํํ์ธ์.
์ด ์ต์
์ ์ฌ์ฉํ๋ฉด ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก๋ถํฐ ๋คํธ์ํฌ ๋ด์ ๊ฐ์ธ IP ์ฃผ์๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
๋ชจ๋ ์ค์ ์ด ๋๋๋ฉด ๋ชจ๋ ํญ์ ๋ซ๊ณ ํด๋ผ์ด์ธํธ๋ฅผ ๋ค์ ์์ํ์ญ์์ค.
ะ ัะ ัะ าะ ัะ ยปะกะะก โก ะ ฮผะ ะ ะ ัะ ฮผ ะ ั ะกะะ ฮผะก'ะ ั
์ค์ ์ด ์๋ฃ๋๋ฉด ๋คํธ์ํฌ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ์ ํ๋ฆฟ ํญ์ ์ด๊ณ ์ฐ๊ฒฐํ๋ ค๋ ๋คํธ์ํฌ๋ฅผ ์ ํํ์ญ์์ค.
์ฐ๊ฒฐ ์ค์ ํ๋ก์ธ์ค ์ค์ ํด๋ผ์ด์ธํธ๋ Rutoken PIN ์ฝ๋๋ฅผ ์ ๋ ฅํ๋๋ก ์์ฒญํฉ๋๋ค.
์ฐ๊ฒฐ์ด ์ฑ๊ณต์ ์ผ๋ก ์ค์ ๋์๋ค๋ ์๋ฆผ์ด ์ํ ํ์์ค์ ๋ํ๋๋ฉด ์ค์ ์ด ์ฑ๊ณตํ๋ค๋ ์๋ฏธ์ ๋๋ค.
๊ทธ๋ ์ง ์์ผ๋ฉด ์ฐ๊ฒฐ์ด ์ค์ ๋์ง ์์ ์ด์ ๋ฅผ ์์๋ด๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ์ ํ๋ฆฟ์์ "์ฐ๊ฒฐ ์ ๋ณด" ๋ช ๋ น์ ์ ํํ์ฌ ํ๋ก๊ทธ๋จ ๋ก๊ทธ๋ฅผ ํ์ธํด์ผ ํฉ๋๋ค.
Windows ํด๋ผ์ด์ธํธ ์ค์
Windows์์ ํด๋ผ์ด์ธํธ๋ฅผ ์ค์ ํ๋ ๊ฒ์ Linux๋ณด๋ค ํจ์ฌ ์ฝ์ต๋๋ค. ์๋ํ๋ฉด... ํ์ํ ๋ชจ๋ ์ํํธ์จ์ด๋ ์ด๋ฏธ ์์คํ ์ ๋ด์ฅ๋์ด ์์ต๋๋ค.
์์คํ ์ค์น
Rutoken ์์
์ ํ์ํ ๋ชจ๋ ๋๋ผ์ด๋ฒ๋ฅผ ๋ค์์์ ๋ค์ด๋ก๋ํ์ฌ ์ค์นํฉ๋๋ค.
์ธ์ฆ์ ์ํ ๋ฃจํธ ์ธ์ฆ์ ๊ฐ์ ธ์ค๊ธฐ
์๋ฒ ๋ฃจํธ ์ธ์ฆ์๋ฅผ ๋ค์ด๋ก๋ํ์ฌ ์์คํ ์ ์ค์นํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ํด๋น ์ฐฝ์ ์ด๊ณ ์ด๋ฆฌ๋ ์ฐฝ์์ "์ธ์ฆ์ ์ค์น" ์ต์ ์ ์ ํํ์ญ์์ค.
์ด๋ฆฌ๋ ์ฐฝ์์ ๋ก์ปฌ ์ฌ์ฉ์๋ฅผ ์ํ ์ธ์ฆ์ ์ค์น๋ฅผ ์ ํํฉ๋๋ค. ์ปดํจํฐ์ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์ธ์ฆ์๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ค๋ฉด ๋ก์ปฌ ์ปดํจํฐ์ ์ธ์ฆ์๋ฅผ ์ค์นํ๋๋ก ์ ํํด์ผ ํฉ๋๋ค.
CA์ ์ ๋ขฐํ ์ ์๋ ๋ฃจํธ ์ธ์ฆ์ ์ ์ฅ์์ ์ธ์ฆ์๋ฅผ ์ค์นํด ๋ณด๊ฒ ์ต๋๋ค.
์ด๋ฌํ ๋ชจ๋ ์กฐ์น ํ์ ์ฐ๋ฆฌ๋ ๋ชจ๋ ์ถ๊ฐ ์ฌํญ์ ๋์ํฉ๋๋ค. ์ด์ ์์คํ ์ด ๊ตฌ์ฑ๋์์ต๋๋ค.
VPN ์ฐ๊ฒฐ ์ค์
VPN ์ฐ๊ฒฐ์ ์ค์ ํ๋ ค๋ฉด ์ ์ดํ์ผ๋ก ์ด๋ํ์ฌ ์ ์ฐ๊ฒฐ ์์ฑ ์ต์ ์ ์ ํํ์ธ์.
ํ์ ์ฐฝ์์ ์ง์ฅ์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์ฐ๊ฒฐ์ ์์ฑํ๋ ์ต์ ์ ์ ํํฉ๋๋ค.
๋ค์ ์ฐฝ์์ VPN ์ฐ๊ฒฐ์ ์ ํํ์ธ์.
VPN ์ฐ๊ฒฐ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๊ณ ์ค๋งํธ ์นด๋ ์ฌ์ฉ ์ต์ ๋ ์ง์ ํฉ๋๋ค.
์์ง ์ค์ ์ด ์๋ฃ๋์ง ์์์ต๋๋ค. ๋จ์ ๊ฒ์ IPsec ํ๋กํ ์ฝ์ ๋ํ ๊ณต์ ํค๋ฅผ ์ง์ ํ๋ ๊ฒ๋ฟ์ ๋๋ค. ์ด๋ฅผ ์ํํ๋ ค๋ฉด "๋คํธ์ํฌ ์ฐ๊ฒฐ ์ค์ " ํญ์ผ๋ก ์ด๋ํ ๋ค์ "์ด ์ฐ๊ฒฐ์ ์์ฑ" ํญ์ผ๋ก ์ด๋ํฉ๋๋ค.
์ด๋ฆฌ๋ ์ฐฝ์์ "๋ณด์" ํญ์ผ๋ก ์ด๋ํ์ฌ ๋คํธ์ํฌ ์ ํ์ผ๋ก "L2TP/IPsec ๋คํธ์ํฌ"๋ฅผ ์ง์ ํ๊ณ "๊ณ ๊ธ ์ค์ "์ ์ ํํฉ๋๋ค.
์ด๋ฆฌ๋ ์ฐฝ์์ ๊ณต์ IPsec ํค๋ฅผ ์ง์ ํฉ๋๋ค.
ะะพะดะบะปััะตะฝะธะต
์ค์ ์ ์๋ฃํ ํ ๋คํธ์ํฌ์ ์ฐ๊ฒฐํด ๋ณผ ์ ์์ต๋๋ค.
์ฐ๊ฒฐ ํ๋ก์ธ์ค ์ค์ ํ ํฐ PIN ์ฝ๋๋ฅผ ์ ๋ ฅํด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์์ ํ VPN ๋คํธ์ํฌ๋ฅผ ์ค์ ํ๊ณ ๊ทธ๊ฒ์ด ์ด๋ ต์ง ์๋๋ก ํ์ต๋๋ค.
๊ฐ์ฌ์ ๋ง
Linux ํด๋ผ์ด์ธํธ์ฉ VPN ์ฐ๊ฒฐ ์์ฑ์ ๋จ์ํํ๊ธฐ ์ํด ํจ๊ป ์์ ํ ๋๋ฃ Vasily Shokov์ Alexander Smirnov์๊ฒ ๋ค์ ํ ๋ฒ ๊ฐ์ฌ์ ๋ง์์ ์ ํ๊ณ ์ถ์ต๋๋ค.
์ถ์ฒ : habr.com