์ฝ๋ก๋19 ๋ฐ์ด๋ฌ์ค ๋์ ํ๊ณผ ๋ง์ ๊ตญ๊ฐ์ ์ผ๋ฐ ๊ฒ์ญ์ผ๋ก ์ธํด ๋ง์ ๊ธฐ์
์ด ๊ณ์ ์์
ํ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ์ธํฐ๋ท์ ํตํ ์์
์ฅ ์๊ฒฉ ์ก์ธ์ค์
๋๋ค. ๋น๊ต์ ์์ ํ ์๊ฒฉ ๊ทผ๋ฌด ๋ฐฉ๋ฒ์ด ๋ง์ด ์์ง๋ง ๋ฌธ์ ์ ๊ท๋ชจ๋ฅผ ๊ฐ์ํ ๋ ์ถ๊ฐ ์ค์ , ์ค๋ช
, ์ง๋ฃจํ ์๋ด ๋ฐ ๊ธด ์ง์นจ ์์ด ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์๊ฒฉ์ผ๋ก ์ฌ๋ฌด์ค์ ์ฐ๊ฒฐํ ์ ์๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๋ง์ ๊ด๋ฆฌ์ RDP(์๊ฒฉ ๋ฐ์คํฌํฑ ํ๋กํ ์ฝ)์ ์ํด ์ฌ๋๋ฐ๊ณ ์์ต๋๋ค. RDP๋ฅผ ํตํด ์์
์ฅ์ ์ง์ ์ฐ๊ฒฐํ๋ฉด ๋ฌธ์ ๊ฐ ์ด์์ ์ผ๋ก ํด๊ฒฐ๋ฉ๋๋ค. ๋จ, ์ฐ๊ณ ์ ํฐ ํ๋ฆฌ๊ฐ ํ๋ ์๋ ๊ฒฝ์ฐ๋ ์์ธ์
๋๋ค. ์ธํฐ๋ท์ ์ํด RDP ํฌํธ๋ฅผ ์ด์ด ๋๋ ๊ฒ์ ๋งค์ฐ ์์ ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์๋์์ ๊ฐ๋จํ์ง๋ง ์ ๋ขฐํ ์ ์๋ ๋ณดํธ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค.
Mikrotik ์ฅ์น๋ฅผ ์ธํฐ๋ท ์ก์ธ์ค๋ก ์ฌ์ฉํ๋ ์๊ท๋ชจ ์กฐ์ง์ ์์ฃผ ๋ง๋๊ธฐ ๋๋ฌธ์ Mikrotik์์ ์ด๋ฅผ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ์๋์ ํ์ํ์ง๋ง Port Knocking ๋ณดํธ ๋ฐฉ๋ฒ์ ์ ์ฌํ ์
๋ ฅ ๋ผ์ฐํฐ ์ค์ ๋ฐ ๋ฐฉํ๋ฒฝ์ ๊ฐ์ง ๋ค๋ฅธ ์์ ์ฅ์น์์ ์ฝ๊ฒ ๊ตฌํ๋ฉ๋๋ค. .
ํฌํธ ๋ ธํน์ ๋ํด ๊ฐ๋จํ. ์ธํฐ๋ท์ ์ฐ๊ฒฐ๋ ๋คํธ์ํฌ์ ์ด์์ ์ธ ์ธ๋ถ ๋ณดํธ๋ ๋ชจ๋ ๋ฆฌ์์ค์ ํฌํธ๊ฐ ๋ฐฉํ๋ฒฝ์ ์ํด ์ธ๋ถ์์ ๋ซํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ ๊ตฌ์ฑ๋ ๋ฐฉํ๋ฒฝ์ด ์๋ ๋ผ์ฐํฐ๋ ์ธ๋ถ์์ ์ค๋ ํจํท์ ์ด๋ค ์์ผ๋ก๋ ๋ฐ์ํ์ง ์์ง๋ง ํจํท์ ์์ ํฉ๋๋ค. ๋ฐ๋ผ์ ํน์ (์ฝ๋) ๋คํธ์ํฌ ํจํท ์ํ์ค๊ฐ โโ๋ค๋ฅธ ํฌํธ์์ ์์ ๋ ๋ ํจํท์ด ์จ IP์ ๋ํ ๋ผ์ฐํฐ(๋ผ์ฐํฐ)๊ฐ ํน์ ๋ฆฌ์์ค(ํฌํธ, ํ๋กํ ์ฝ, ๋ฑ.).
์ด์ ์ฌ์ ์ ์์ํฉ๋๋ค. Mikrotik์ ๋ฐฉํ๋ฒฝ ์ค์ ์ ๋ํ ์์ธํ ์ค๋ช ์ ํ์ง ์๊ฒ ์ต๋๋ค. ์ธํฐ๋ท์๋ ์ด์ ๋ํ ๊ณ ํ์ง ์์ค๊ฐ ๊ฐ๋ํฉ๋๋ค. ์ด์์ ์ผ๋ก๋ ๋ฐฉํ๋ฒฝ์ด ๋ค์ด์ค๋ ๋ชจ๋ ํจํท์ ์ฐจ๋จํ์ง๋ง
/ip firewall filter
add action=accept chain=input comment="established and related accept" connection-state=established,related
์ค์ ๋ ๊ด๋ จ ์ฐ๊ฒฐ์์ ๋ค์ด์ค๋ ํธ๋ํฝ์ ํ์ฉํฉ๋๋ค.
์ด์ Mikrotik์์ ํฌํธ ๋
ธํน์ ์ค์ ํฉ๋๋ค.
/ip firewall filter
add action=drop chain=input dst-port=19000 protocol=tcp src-address-list="Black_scanners" comment=RemoteRules
add action=drop chain=input dst-port=16000 protocol=tcp src-address-list="Black_scanners" comment=RemoteRules
add action=add-src-to-address-list address-list="remote_port_1" address-list-timeout=1m chain=input dst-port=19000 protocol=tcp comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=19001 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=18999 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=16001 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=15999 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="allow_remote_users" address-list-timeout=1m chain=input dst-port=16000 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
move [/ip firewall filter find comment=RemoteRules] 1
/ip firewall nat
add action=dst-nat chain=dstnat comment="remote_rdp" src-address-list="allow_remote_users" dst-port=33890 in-interface-list=WAN protocol=tcp to-addresses=192.168.1.33 to-ports=3389
์ด์ ๋ :
์ฒ์ ๋ ๊ท์น
/ip firewall filter
add action=drop chain=input dst-port=19000 protocol=tcp src-address-list="Black_scanners" comment=RemoteRules
add action=drop chain=input dst-port=16000 protocol=tcp src-address-list="Black_scanners" comment=RemoteRules
ํฌํธ ์ค์บ ์ค์ ๋ธ๋๋ฆฌ์คํธ์ ์ค๋ฅธ IP ์ฃผ์์์ ๋ค์ด์ค๋ ํจํท์ ๊ธ์งํฉ๋๋ค.
์ธ ๋ฒ์งธ ๊ท์น:
add action=add-src-to-address-list address-list="remote_port_1" address-list-timeout=1m chain=input dst-port=19000 protocol=tcp comment=RemoteRules
์ฌ๋ฐ๋ฅธ ํฌํธ(19000)์์ ์ฌ๋ฐ๋ฅธ ์ฒซ ๋ฒ์งธ ๋
ธํฌ๋ฅผ ํ ํธ์คํธ ๋ชฉ๋ก์ ip๋ฅผ ์ถ๊ฐํฉ๋๋ค.
๋ค์ ๋ค ๊ฐ์ง ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=19001 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=18999 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=16001 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
add action=add-src-to-address-list address-list="Black_scanners" address-list-timeout=60m chain=input dst-port=15999 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
ํฌํธ๋ฅผ ์ค์บํ๋ ค๋ ์ฌ๋๋ค์ ์ํด ํธ๋ฉ ํฌํธ๋ฅผ ๋ง๋ค๊ณ ๊ทธ๋ฌํ ์๋๊ฐ ๊ฐ์ง๋๋ฉด 60๋ถ ๋์ ๊ทธ๋ค์ IP๋ฅผ ๋ธ๋๋ฆฌ์คํธ์ ์ถ๊ฐํฉ๋๋ค. ์ด ๋์ ์ฒ์ ๋ ๊ท์น์ ๊ทธ๋ฌํ ํธ์คํธ๊ฐ ์ฌ๋ฐ๋ฅธ ํฌํธ๋ฅผ ๋ ธํฌํ ๊ธฐํ๋ฅผ ์ ๊ณตํ์ง ์์ต๋๋ค
๋ค์ ๊ท์น:
add action=add-src-to-address-list address-list="allow_remote_users" address-list-timeout=1m chain=input dst-port=16000 protocol=tcp src-address-list="remote_port_1" comment=RemoteRules
์ํ๋ ํฌํธ(1)์์ ๋ ๋ฒ์งธ ์ฌ๋ฐ๋ฅธ ๋ ธํฌ๊ฐ ์ด๋ฃจ์ด์ก์ผ๋ฏ๋ก 16000๋ถ ๋์ ํ์ฉ ๋ชฉ๋ก์ ip๋ฅผ ๋ฃ์ต๋๋ค(์ฐ๊ฒฐ์ ์ค์ ํ๊ธฐ์ ์ถฉ๋ถํจ).
๋ค์ ๋ช ๋ น:
move [/ip firewall filter find comment=RemoteRules] 1
์๋ก ๋ง๋ ๊ท์น์ด ์๋ํ์ง ์๋๋ก ์ด๋ฏธ ๊ตฌ์ฑ๋ ๋ค๋ฅธ ๊ฑฐ๋ถ ๊ท์น์ด ์์ ๊ฐ๋ฅ์ฑ์ด ๋๊ธฐ ๋๋ฌธ์ ๊ท์น์ ๋ฐฉํ๋ฒฝ ์ฒ๋ฆฌ ์ฒด์ธ ์๋ก ์ด๋ํฉ๋๋ค. Mikrotik์ ์ฒซ ๋ฒ์งธ ๊ท์น์ 1์์ ์์ํ์ง๋ง ๋ด ์ฅ์น์์๋ ๊ธฐ๋ณธ ์ ๊ณต ๊ท์น์ด XNUMX์ ์ฐจ์งํ๊ณ ์ด๋ํ ์ ์์์ต๋๋ค. XNUMX๋ก ์ฎ๊ฒผ์ต๋๋ค. ๋ฐ๋ผ์ ์ค์ ์ ์ดํด๋ณด๊ณ ์ด๋ํ ์ ์์ต๋๋ค. ์ํ๋ ๋ฒํธ๋ฅผ ํ์ํ์ญ์์ค.
๋ค์ ์ค์ :
/ip firewall nat
add action=dst-nat chain=dstnat comment="remote_rdp_to_33" src-address-list="allow_remote_users" dst-port=33890 in-interface-list=WAN protocol=tcp to-addresses=192.168.1.33 to-ports=3389
์์๋ก ์ ํํ ํฌํธ 33890์ ์ผ๋ฐ์ ์ธ RDP ํฌํธ 3389์ ํ์ํ ์ปดํจํฐ ๋๋ ํฐ๋ฏธ๋ ์๋ฒ์ IP๋ก ์ ๋ฌํฉ๋๋ค. ํ์ํ ๋ชจ๋ ๋ด๋ถ ๋ฆฌ์์ค์ ๋ํด ์ด๋ฌํ ๊ท์น์ ๋ง๋ค๊ณ ๋นํ์ค(๋ฐ ๋ค๋ฅธ) ์ธ๋ถ ํฌํธ๋ฅผ ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋น์ฐํ ๋ด๋ถ ๋ฆฌ์์ค์ IP๋ ์ ์ ์ด๊ฑฐ๋ DHCP ์๋ฒ์ ๊ณ ์ ๋์ด ์์ด์ผ ํฉ๋๋ค.
์ด์ Mikrotik์ด ๊ตฌ์ฑ๋์์ผ๋ฉฐ ์ฌ์ฉ์๊ฐ ๋ด๋ถ RDP์ ์ฐ๊ฒฐํ๋ ๊ฐ๋จํ ์ ์ฐจ๊ฐ ํ์ํฉ๋๋ค. ์ฃผ๋ก Windows ์ฌ์ฉ์๊ฐ ์์ผ๋ฏ๋ก ๊ฐ๋จํ bat ํ์ผ์ ๋ง๋ค๊ณ ์ด๋ฆ์ StartRDP.bat๋ก ์ง์ ํฉ๋๋ค.
1.htm
1.rdp
๊ฐ๊ฐ 1.htm์๋ ๋ค์ ์ฝ๋๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
<img src="http://my_router.sn.mynetname.net:19000/1.jpg">
ะฝะฐะถะผะธัะต ะพะฑะฝะพะฒะธัั ัััะฐะฝะธัั ะดะปั ะฟะพะฒัะพัะฝะพะณะพ ะทะฐั
ะพะดะฐ ะฟะพ RDP
<img src="http://my_router.sn.mynetname.net:16000/2.jpg">
์ฌ๊ธฐ์๋ my_router.sn.mynetname.net์ ์๋ ๊ฐ์ ์ฌ์ง์ ๋ํ ๋ ๊ฐ์ ๋งํฌ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. Mikrotik์์ ์ด ์ฃผ์๋ฅผ ํ์ฑํํ ํ Mikrotik DDNS ์์คํ ์์ ์ด ์ฃผ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค. IP-> ํด๋ผ์ฐ๋ ๋ฉ๋ด๋ก ์ด๋ํ์ฌ DDNS ํ์ฑํ ํ์ธ๋์ ์ ํํฉ๋๋ค. ์ ์ฉ์ ํด๋ฆญํ๊ณ ๋ผ์ฐํฐ์ DNS ์ด๋ฆ์ ๋ณต์ฌํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ ๋ผ์ฐํฐ์ ์ธ๋ถ IP๊ฐ ๋์ ์ด๊ฑฐ๋ ์ฌ๋ฌ ์ธํฐ๋ท ์ ๊ณต์ ์ฒด์ ๊ตฌ์ฑ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ง ํ์ํฉ๋๋ค.
์ฒซ ๋ฒ์งธ ๋งํฌ์ ํฌํธ: 19000์ ๋ ธํฌํด์ผ ํ๋ ์ฒซ ๋ฒ์งธ ํฌํธ์ ํด๋นํ๊ณ ๋ ๋ฒ์งธ ํฌํธ๋ ๊ฐ๊ฐ ๋ ๋ฒ์งธ ํฌํธ์ ํด๋นํฉ๋๋ค. ๋งํฌ ์ฌ์ด์๋ ์งง์ ๋คํธ์ํฌ ๋ฌธ์ ๋ก ์ธํด ์ฐ๊ฒฐ์ด ๊ฐ์๊ธฐ ์ค๋จ๋๋ ๊ฒฝ์ฐ ์ํํ ์์ ์ ๋ณด์ฌ์ฃผ๋ ๊ฐ๋จํ ์ง์นจ์ด ์์ต๋๋ค. ํ์ด์ง๋ฅผ ์๋ก ๊ณ ์น๋ฉด RDP ํฌํธ๊ฐ 1๋ถ ๋์ ๋ค์ ์ด๋ฆฌ๊ณ ์ธ์ ์ด ๋ณต์๋ฉ๋๋ค. ๋ํ img ํ๊ทธ ์ฌ์ด์ ํ ์คํธ๋ ๋ธ๋ผ์ฐ์ ์ ๋ํ ๋ง์ดํฌ๋ก ์ง์ฐ์ ํ์ฑํ์ฌ ์ฒซ ๋ฒ์งธ ํจํท์ด ๋ ๋ฒ์งธ ํฌํธ(16000)๋ก ์ ๋ฌ๋ ๊ฐ๋ฅ์ฑ์ ์ค์ ๋๋ค. ์ฌ๋๋ค).
๋ค์์ 1.rdp ํ์ผ์ ๋๋ค. ์ด ํ์ผ์ ์ ์ฒด ๋๋ ๊ฐ ์ฌ์ฉ์์ ๋ํด ๊ฐ๋ณ์ ์ผ๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
screen mode id:i:2
use multimon:i:1
.....
connection type:i:6
networkautodetect:i:0
.....
disable wallpaper:i:1
.....
full address:s:my_router.sn.mynetname.net:33890
.....
username:s:myuserlogin
domain:s:mydomain
์ฌ๊ธฐ์ ํฅ๋ฏธ๋ก์ด ์ค์ ์ use multimon: i: 1 - ์ฌ๊ธฐ์๋ ๋ค์ค ๋ชจ๋ํฐ ์ฌ์ฉ์ด ํฌํจ๋ฉ๋๋ค.
์ฐ๊ฒฐ ์ ํ: i: 6 ๋ฐ networkautodetect: i: 0 - ๋๋ถ๋ถ์ ์ธํฐ๋ท์ด 10Mbps ์ด์์ด๋ฏ๋ก ์ฐ๊ฒฐ ์ ํ 6(๋ก์ปฌ ๋คํธ์ํฌ 10Mbps ์ด์)์ ์ผ๊ณ networkautodetect๋ฅผ ๋๋๋ค. , ๋๋ฌธ ์์ ๋คํธ์ํฌ ๋๊ธฐ ์๊ฐ์กฐ์ฐจ๋ ์๋์ผ๋ก ์ธ์ ์ ์ค๋ ์๊ฐ ๋์ ๋๋ฆฐ ์๋๋ก ์ค์ ํ์ฌ ํนํ ๊ทธ๋ํฝ ํ๋ก๊ทธ๋จ์์ ๋์ ๋๋ ์์ ์ง์ฐ์ ์ ๋ฐํ ์ ์์ต๋๋ค.
๋ฐํ ํ๋ฉด ๋นํ์ฑํ: i: 1 - ๋ฐํ ํ๋ฉด ์ฌ์ง ๋นํ์ฑํ
username:s:myuserlogin - ์ฌ์ฉ์์ ์๋น ๋ถ๋ถ์ด ์์ ์ ๋ก๊ทธ์ธ์ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ์ ๋ก๊ทธ์ธ์ ์ง์ ํฉ๋๋ค.
domain:s:mydomain - ๋๋ฉ์ธ ๋๋ ์ปดํจํฐ ์ด๋ฆ ์ง์
๊ทธ๋ฌ๋ ์ฐ๊ฒฐ ์ ์ฐจ๋ฅผ ๋ง๋๋ ์์ ์ ๋จ์ํํ๋ ค๋ฉด PowerShell - StartRDP.ps1์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
Test-NetConnection -ComputerName my_router.sn.mynetname.net -Port 19000
Test-NetConnection -ComputerName my_router.sn.mynetname.net -Port 16000
mstsc /v:my_router.sn.mynetname.net:33890
๋ํ Windows์ RDP ํด๋ผ์ด์ธํธ์ ๋ํด ์ฝ๊ฐ: MS๋ ํ๋กํ ์ฝ๊ณผ ํด๋น ์๋ฒ ๋ฐ ํด๋ผ์ด์ธํธ ๋ถ๋ถ์ ์ต์ ํํ๋ ๋ฐ ๋จผ ๊ธธ์ ์์ผ๋ฉฐ ํ๋์จ์ด 3D ์์ , ๋ชจ๋ํฐ์ ํ๋ฉด ํด์๋ ์ต์ ํ, ๋ฉํฐ์คํฌ๋ฆฐ, ๋ฑ๋ฑ. ๊ทธ๋ฌ๋ ๋ฌผ๋ก ๋ชจ๋ ๊ฒ์ ์ด์ ๋ฒ์ ๊ณผ์ ํธํ์ฑ ๋ชจ๋๋ก ๊ตฌํ๋๋ฉฐ ํด๋ผ์ด์ธํธ๊ฐ Windows 7์ด๊ณ ์๊ฒฉ PC๊ฐ Windows 10์ด๋ฉด RDP๋ ํ๋กํ ์ฝ ๋ฒ์ 7.0์ ์ฌ์ฉํ์ฌ ์๋ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด์ ์ RDP ๋ฒ์ ์ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด ํ๋กํ ์ฝ ๋ฒ์ ์ 7.0(Windows 7)์์ 8.1๋ก ์ ๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ํด๋ผ์ด์ธํธ์ ํธ์๋ฅผ ์ํด ์๋ฒ ๋ถ๋ถ์ ๋ฒ์ ์ ์ต๋ํ ๋๋ฆฌ๊ณ ์๋ก์ด ๋ฒ์ ์ RDP ํ๋กํ ์ฝ ํด๋ผ์ด์ธํธ๋ก ์ ๊ทธ๋ ์ด๋ํ๊ธฐ ์ํ ๋งํฌ๋ฅผ ๋๋กญํด์ผ ํฉ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ์๋ ์ค์ธ PC ๋๋ ํฐ๋ฏธ๋ ์๋ฒ์ ์๊ฒฉ์ผ๋ก ์ฐ๊ฒฐํ๊ธฐ ์ํ ๊ฐ๋จํ๊ณ ๋น๊ต์ ์์ ํ ๊ธฐ์ ์ ๋ณด์ ํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ณด๋ค ์์ ํ ์ฐ๊ฒฐ์ ์ํด ์ฐ๋ฆฌ์ ํฌํธ ๋ ธํน ๋ฐฉ๋ฒ์ ํ์ธํ ํฌํธ๋ฅผ ์ถ๊ฐํ์ฌ ๋ช ๋ฐฐ๋ ๋ ๊ณต๊ฒฉํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ๋์ผํ ๋ ผ๋ฆฌ์ ๋ฐ๋ผ ํฌํธ๋ฅผ 3,4,5,6 ... ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋คํธ์ํฌ์ ์ง์ ์นจ์ ํ๋ ๊ฒ์ ๊ฑฐ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
์ถ์ฒ : habr.com