ํฐ๋๋ง(Tunneling)
ํฐ๋๋ง์ด๋ Telnet์ด๋ SSH ๋ฑ์ผ๋ก ํ๊ฒ ํธ์คํธ์ ์ฐ๊ฒฐ๋ ์ธ์ (1์ฐจ ์ฐ๊ฒฐ) ๋ด์ ์๋ก์ด ์ฐ๊ฒฐ(ํฐ๋)์ ์์ฑ(2์ฐจ ์ฐ๊ฒฐ)ํด์ ๋ ์๊ฒฉ ์์คํ ์ฌ์ด์ ์๋๋ ๋ณด์ ์ธ์ ์ ํ์ฑํ๋ ๊ฒ์ ๋งํ๋ค. ํฐ๋๋ง์์ Telnet ๋ฑ์ผ๋ก ์ฐ๊ฒฐํ ์๋ ์์ง๋ง ๋ณด์ ์ฐ๊ฒฐ์ด ๋ชฉ์ ์ด๋ฏ๋ก ์ผ๋ฐ์ ์ผ๋ก SSH๋ฅผ ์ฌ์ฉํด์ ์ฐ๊ฒฐํ ๋ค ์์ ํ๋ค.
Windows ์๋ฒ์์ kahn.edu ๋๋ฉ์ธ์ LAN1์ ์๋ client1 ํธ์คํธ์ LAN2์ ์๋ client2 ํธ์คํธ ์ฌ์ด์ SSH ํฐ๋๋ง์ ๊ตฌ์ถํด๋๋ฉด ์๋ฒ ์ธ์ฆ์ ํตํ์ง ์๊ณ ๋ ๋ฆฝ๋ SSH ๋ณด์ ์ฑ๋๋ก ์๋ก ์ฐ๊ฒฐ๋ ์ ์์ด์ ํดํน์์๋ ์๋ฒ์ ๊ฐ์ข ๋ณด์ ์ค์ ์ ๊ฑฐ์น์ง ์๊ณ ๋ ํ๋์ ํด๋ผ์ด์ธํธ ํธ์คํธ๋ฅผ ํตํด์ ๋ค๋ฅธ ๋คํธ์ํฌ๋ ๋ ธ๋๋ก ๋ค์ด๊ฐ ์ ์๊ธฐ ๋๋ฌธ์ ๊ด๋ฆฌ์๋ ๋งค์ฐ ์ฃผ์ํด์ผ ํ๋ค.
=>์๋๋ ๋คํธ์ํฌ์์ VPN ์ฐ๊ฒฐ์์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
Tunneling์ ๋ค์ ์ธ ๊ฐ์ง๋ก ์ฃผ๋ก ์ฌ์ฉ๋๋๋ฐ
1) VPN์์ ๊ณต์ค๋ง๋ฅผ ํต๊ณผํ๋ ๋ ์ง์ ์ด ๋ง์น ์ ์ฉ์ (leased line)์ฒ๋ผ ์ฐ๊ฒฐํ๋ ๊ฒฝ์ฐ ํฐ๋๋ง ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค.
2) ํ๋กํ ์ฝ์ด ๋ค๋ฅธ ๋ ํ์ ์ ์ฐ๊ฒฐํ ๋(IPv4์ IPv6, TCP/IP์ IPX/SPX, ....)๋ ํฐ๋๋ง์ผ๋ก ์ฐ๊ฒฐํ ์ ์๋ค.
3) ํดํน์์ ์๋ฒ์ ์ค์น๋ mysql, dns, ssh, web ๋ฑ์ ์๋น์ค์ 1์ฐจ ์ฐ๊ฒฐํ ๋ค, ํฐ๋๋ง์ ์ฌ์ฉํด์ Kali ๋ฑ ๋ก์ปฌ์์ ์ด๋ค ์๋น์ค์ ์ง์ ์ฐ๊ฒฐํ๋ ๊ฒฝ์ฐ๋ ํฐ๋๋ง ๊ธฐ๋ฒ์ ์ด์ฉํ๋ค.
์ค์ ๊ตฌํ์์๋ port-forwarding, standard tunneling, reverse tunneling ๋ฑ์ด ์๋ค.
์ค์ต
yum -y install httpd
echo "<h1>This is CentOS1 Web Page</h1>" > /var/www/html/index.html
ํํ์ด์ง๋ฅผ ๋ง๋๋ ๋ช ๋ น์ด
[root@localhost centos]# firewall-config >>http, https
(firewall-config:6628): dconf-WARNING **: 15:03:34.082: failed to commit changes to dconf: The connection is closed
(firewall-config:6628): dconf-WARNING **: 15:03:34.082: failed to commit changes to dconf: The connection is closed
[root@localhost centos]# firewall-cmd --reload
success
[root@localhost centos]# service httpd start
Redirecting to /bin/systemctl start httpd.service
iptables -nL --line-numbers
์ฐ๋ถํฌ์์
nano /etc/hosts
/etc/hosts๋ ๋ฆฌ๋ ์ค์ ์ ๋์ค ๊ธฐ๋ฐ ์ด์์ฒด์ ์์ ํธ์คํธ ์ด๋ฆ์ IP ์ฃผ์์ ๋งคํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ก์ปฌ ํธ์คํธ ํ์ผ์ ๋๋ค. *(๋งคํ(Mapping)์ ํ๋์ ๊ฐ์ฒด๋ ๊ฐ๋ ์ ๋ค๋ฅธ ๊ฐ์ฒด๋ ๊ฐ๋ ์ ๋์์ํค๋ ๊ณผ์ ์ ๋งํฉ๋๋ค.)
์ฆ, ์ด ํ์ผ์ ํธ์คํธ ์ด๋ฆ๊ณผ IP ์ฃผ์ ์์ ๊ธฐ๋กํ๋ ํ ์คํธ ํ์ผ๋ก, DNS(Domain Name System)์ ๋น์ทํ ์ญํ ์ ํฉ๋๋ค. ์ด ํ์ผ์ ์ฌ์ฉํ๋ฉด ๋ก์ปฌ ์์คํ ์์ DNS ์๋ฒ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ ํธ์คํธ ์ด๋ฆ์ IP ์ฃผ์๋ก ๋ณํํ ์ ์์ต๋๋ค.
์ด ํ์ผ์ ๋ณด์ ์์ ์ด์ ๋ก ๋ก์ปฌ ์์คํ ์์๋ง ์ฌ์ฉ๋๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ์์คํ ์ ๊ธฐ๋ณธ ์ค์ ์ผ๋ก ์ ๊ณต๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ก์ปฌ ๋ฃจํ๋ฐฑ ์ฃผ์์ธ 127.0.0.1์ ์ผ๋ฐ์ ์ผ๋ก "localhost"๋ผ๋ ์ด๋ฆ๊ณผ ํจ๊ป /etc/hosts ํ์ผ์ ๊ธฐ๋ก๋ฉ๋๋ค.
๋ฐ๋ผ์ /etc/hosts ํ์ผ์ ๋ก์ปฌ ์์คํ ์์ ํธ์คํธ ์ด๋ฆ์ IP ์ฃผ์๋ก ๋ณํํ๊ธฐ ์ํด ์์ฃผ ์ฌ์ฉ๋๋ ํ์ผ ์ค ํ๋์ ๋๋ค.
*(์ปดํจํฐ ๋คํธ์ํฌ์์ ํธ์คํธ(Host)๋ ๋คํธ์ํฌ์ ์ฐ๊ฒฐ๋ ์ปดํจํฐ๋ ๋ค๋ฅธ ์ฅ์น๋ฅผ ๊ฐ๋ฆฌํต๋๋ค. ์ด ์ปดํจํฐ๋ ์ฅ์น๋ ๋คํธ์ํฌ ์์์ ๊ณ ์ ํ ์๋ณ์(IP ์ฃผ์)๋ฅผ ๊ฐ๊ณ ์์ผ๋ฉฐ, ๋ค๋ฅธ ํธ์คํธ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ ์ ์์ต๋๋ค.)
์ /etc/hosts ํ์ผ์ ํญ๋ชฉ์ ๋ค์๊ณผ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋๋ค.
- IP ์ฃผ์: 192.168.100.140
- ํธ์คํธ ์ด๋ฆ: www.kahn.edu, centos1.kahn.edu, centos1
์ด๋ฅผ ํด์ํ๋ฉด, ๋ก์ปฌ ์์คํ ์์ www.kahn.edu, centos1.kahn.edu, centos1์ด๋ผ๋ ํธ์คํธ ์ด๋ฆ์ ๊ฐ๊ฐ 192.168.100.140์ IP ์ฃผ์๋ก ๋งคํํ๋๋ก ์ค์ ํ ๊ฒ์ ๋๋ค.
์ฆ, ์ด ์์คํ ์์๋ www.kahn.edu, centos1.kahn.edu, centos1์ด๋ผ๋ ํธ์คํธ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ 192.168.100.140์ IP ์ฃผ์๋ก ์ ๊ทผํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋งคํ์ ๋ก์ปฌ DNS ์๋ฒ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ ํธ์คํธ ์ด๋ฆ์ IP ์ฃผ์๋ก ๋ณํํ ์ ์๋๋ก ํฉ๋๋ค.
๋งคํํด์คฌ๋ค.
FQDN(Fully Qualified Domain Name)
FADN์ ๋๋ฉ์ธ์ ๊ฐ์
๋ ํธ์คํธ๋ฅผ ์๋ฏธํ๋๋ฐ
ํธ์คํธ๋ช
์ด centos1์ผ ๋ kahn.edu ๋๋ฉ์ธ์ ์ํด ์์ผ๋ฉด(workstation์ผ๋ก ๋ถ๋ฆ) ์ด๋ centos1.kahn.edu์์ผ๋ก ํ์๋๋ ์ด๋ฆ์ด๋ค.
์ด๋ ๊ฒ ์ ์ํ๋ ๊ฒ ๊ฐ๋ฅํ ์ด์ ๋ ์๊น /etc/hosts ํ์ผ์ www.kahn.edu ๋ฅผ ์ถ๊ฐํด์คฌ๊ธฐ ๋๋ฌธ์ด๋ค.
scp /etc/hosts root@centos1:/etc/hosts
๋ด๊ฐ ๊ฐ์ง๊ณ ์๋ /etc/hosts ํ์ผ์ ์ ์ชฝ์ root์ ์ผํ ์ค์ /etc/hosts ํ์ผ๋ก ๋ณด๋ธ๋ค.
์ด์ ์ผํ ์ค๋ก ๊ฑด๋๊ฐ๋ค.
์ด์ ์ผํ ์ค์๋ ํธ์คํธ ์ด๋ฆ์ด IP ์ฃผ์์ ๋งคํ๋์ด ์๋ค.
root์์ ssh๋ก ๋ค์ด๊ฐ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ์์๋ ์ผํ ์ค๋ก ๋ก๊ทธ์ธ์ด ๋์์ง๋ง, ์๋๋ ์ผํ ์ค๋ก ๋ก๊ทธ์ธ๋ ์๋์๋๋ฐ ๋ช ๋ น์ด๋ก ์ ๋ณด๋ง ๋จนํํ๋ค ใท ใท (์ฐ๊ฒฐ์ ์ด๋ฃจ์ง ์๊ณ )
ssh -L 8888:www.kahn.edu:80 centos@centos1
ํด๋น ๋ช ๋ น์ด๋ SSH ํฌํธ ํฌ์๋ฉ ๊ธฐ๋ฅ ์ค ํ๋์ธ ๋ก์ปฌ ํฌํธ ํฌ์๋ฉ(Local Port Forwarding)์ ์ํํฉ๋๋ค.
์ด ๋ช ๋ น์ด๋ ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑ๋ฉ๋๋ค.
ssh: SSH ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ์ ์คํํฉ๋๋ค.-L 8888:www.kahn.edu:80: ๋ก์ปฌ ํฌํธ 8888์ www.kahn.edu์ 80๋ฒ ํฌํธ๋ก ํฌ์๋ฉํฉ๋๋ค.centos@centos1: SSH ์ฐ๊ฒฐ์ ์ํํ ์๊ฒฉ ํธ์คํธ ๋ฐ ๊ณ์ ์ ๋ณด์ ๋๋ค.
๋ฐ๋ผ์ ์ด ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด, ๋ก์ปฌ ํฌํธ 8888๋ก ๋ค์ด์ค๋ ๋ชจ๋ ํธ๋ํฝ์ด SSH ์ฐ๊ฒฐ์ ํตํด ์๊ฒฉ ํธ์คํธ์ธ centos1.kahn.edu์ 80๋ฒ ํฌํธ(์น ์๋ฒ ํฌํธ)๋ก ์ ๋ฌ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ก์ปฌ ๋จธ์ ์์ http://localhost:8888/ ์ฃผ์๋ฅผ ์ฌ์ฉํ์ฌ centos1.kahn.edu์ ์น ์๋ฒ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
์ฆ, ์ด ๋ช ๋ น์ด๋ SSH๋ฅผ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ๋จธ์ ์์ ์ธํฐ๋ท ์์ ๋ค๋ฅธ ํธ์คํธ์ ์ ๊ทผํ๋ ๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ํฌํธ ํฌ์๋ฉ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
www.kahn.edu:80 80ํ์ผ ์น์๋ฒ๋ฅผ ๋ก์ปฌ 8888 ํฌํธํ๊ณ ์ผํ ์ค ์ฌ์ฉ์ํ๊ณ ์ฐ๊ฒฐํ๋ ๊ทธ๋ฐ ํฐ๋์ ๋ง๋๋ ๊ฒ?
์ผ๋จ ์ธ์ ์ ์ด์ด๋๋ค?
์ด ์ธ์ ๋ ์ด์ด๋๋ค.
ssh -L 8888:naver.com:80 centos@localhost
์๋ ๋ค์ด๋ฒ์ ๋ค์ด๊ฐ๋ ค๋ฉด firefox๋ฅผ ์ด์ฉํ์ง๋ง ์ฌ๊ธฐ์๋ ๊ทธ๋ฅ ํฐ๋์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ก์ปฌ๋ก ์น์ฌ์ดํธ๋ฅผ ์ฐ๊ฒฐํ๊ฒ ๋ค.
firefox http://localhost:8888
์น์ผ๋ก ๋ค์ด๊ฐ๋ ค ํ๋๋ฐ ๋ค์ด๋ฒ๋ฅผ ์น์ง ์์๋ค!!!!!!
์ธ์ ์ด ํ์ฑ๋์ด์ผ ํ๋ค.
ํ ๋ฒ ๋
kahn.edu๋ฅผ ์ ๋ ฅํ์ง ์์๋๋ฐ๋ ์นํ์ด์ง๊ฐ ๋ด๋ค.
wall -n LOG OUT PLZ.. ๊ฒฝ๊ณ (๊ทธ๋ฌ๋ ๊บผ์ง์ง ์์)
IP Binding
๋ฌผ๋ฆฌ์ ์ผ๋ก ํ๋์ ๋คํธ์ํฌ ์นด๋์ ์ฌ๋ฌ IP ์ฃผ์๋ฅผ ์ค ์ ์๋๋ฐ ์ฃผ๋ก ๊ณ ์ฑ๋ฅ์ Linux ์๋ฒ ํ๋๋ก FTP๋ Proxy Server, ํน์ ์ฌ๋ฌ Web ์๋ฒ๋ฅผ ์ด์ํ ๋ ์ ์ฉํ ๊ธฐ๋ฒ์ด๋ค.
=>์ด ๊ธฐ๋ฒ์ ํ๋์ ๊ฐ๋ ฅํ ์๋ฒ๋จธ์ ์ ์ฌ๋ฌ ์น ์๋ฒ๋ฅผ ์ด์ํ ๋ ์ ๋ฆฌํ๋ค.
์๋ฅผ ๋ค์ด์
eth0:0 =>192.168.111.100 =>www.pretty-clothing.com
eth0:1 =>192.168.111.101 =>www.pretty-pets.com์์ผ๋ก ์ฌ๋ฌ ๋๋ฉ์ธ(์น ์ฌ์ดํธ)์ ์ค์ ํ๊ณ /etc/hosts ํ์ผ์์ ์ด๋ค์ ์ง์ ํ๋ฉด ๋
๋ฆฝ์ ์ผ๋ก ๊ฐ ์น ์๋ฒ๋ฅผ ์ ์ด์ํ ์ ์๋ค.
๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ํ๋์ง๋ง ํ์ด ๋ถ๋ช ๊ฐ๋ค.
์ฑ๋ ๋ณธ๋ฉ(channel bonding)
์ฌ๋ฌ ๊ฐ์ ๋คํธ์ํฌ ์นด๋๋ฅผ ํ๋๋ก ๋ฌถ์ด์ ๋จ์ผ Channel(or Ethernet) bonding)์ผ๋ก ๋ง๋ค์ด์ฃผ๋ฉด ํธ์คํธ์ ๋คํธ์ํฌ ๋์ญํญ์ด ๋์ด๋๊ณ ,
=>ํ๋์ ๋คํธ์ํฌ ์นด๋์ ๋ฌธ์ ๊ฐ ์์ด๋ ํต์ ์ ์ง์ฅ์ด ์๋ ํดํธ ํจ๋ฌ๋ฐ์ค(fault tolerance)์
๋คํธ์ํฌ ์นด๋์ ๋ํ ์์ฌ๋ถ ๋ฆฌ๋๋์(redundancy)์
๋คํธ์ํฌ ์นด๋๋ผ๋ฆฌ ๋์ญํญ์ ๊ท ํ ๋ถ์ฐ์ํค๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ(load balancing), ๊ทธ๋ฆฌ๊ณ
ํธ๋ํฝ์ด ์ ์ ์นด๋๊ฐ ๋จผ์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ๋ผ์ด๋ ๋ก๋น(round robin)
์ด ๋์์ ๊ตฌ์ถ๋ ์ ์๋ค. ํ๋์ ํธ์คํธ์ ์ฌ๋ฌ NIC๊ฐ ์๋ ๊ฒ์ multi-homed host๋ผ๊ณ ๋ถ๋ฅธ๋ค. 6๊ฐ์ ๋ชจ๋๊ฐ ์๋ค.
=>HDD๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ฌถ์ด์ ์ค๋ฅ๋ฅผ ๊ทน๋ณตํด์ฃผ๋ RAID์ฒ๋ผ
NIC๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ฌถ์ด์ ์ค๋ฅ ๋ฑ์ ๊ทน๋ณตํด์ฃผ๋ Channel Bonding์ด๋ค.
=>์ด์ ์ ์ฌํ๊ฒ
โช ์ฌ๋ฌ HDD๋ฅผ ๋ฌถ์ด์ ํ๋์ HDD์ ์ค๋ฅ๊ฐ ์์ด๋ ๋ฐ์ดํฐ ๋ณต์์ด ๊ฐ๋ฅํ๊ฒ ํ๋ fault-tolerance๊ฐ RAID์ด๋ค.
์ฌ๊ธฐ์ ์์ฃผ ์ฌ์ฉ๋๋ ๋คํธ์ํฌ ํ์ ์ค์ ์ฉ์ด๋ก
โช fault-tolerance(์ฅ์ ๊ทน๋ณต) : ์ฅ์ ๊ฐ ์์ ๋ ์์คํ
์ด ์ผ์ ๊ธฐ๊ฐ ๋ฒํ
จ์ DoS ๊ณต๊ฒฉ์ด ๋ ๊ธฐํ ๊ด๋ฆฌ์๊ฐ ์์คํ
์ ๊ด๋ฆฌํ ์ ์์ ๋๊น์ง ๊ฒฌ๋์ฃผ๋ ๊ฒ, (์์คํ
์ ์ผ๋ถ๊ฐ ๊ณ ์ฅ ๋๋๋ผ๋ ๋๋จธ์ง๋ ์ฌ๋ฐ๋ก ์๋ํ๋ ๋ฅ๋ ฅ์ ๊ฐ๋ฆฌํจ๋ค)
=>RAID๋ฅผ ํตํ HDD ์ค๋ฅ ์ ๋ฐ์ดํฐ ๋ณต๊ตฌ,
Channel Bonding์ ํตํ NIC ์ค๋ฅ ์ ๋คํธ์ํฌ ์ ์ ์ด์๋๋ ์
โช load balancing(๋ถํ๊ท ๋ฑ) : ์ด๋ ํ ์๋ฒ๋ NIC๋ก ํธ๋ํฝ์ด ๋ชฐ๋ฆด ๋ ์ด๋ฅผ ์ ์ ํ ๋ถ์ฐํด์ ์ ์ฒด์ ์ธ ์์คํ
์ ๋ถ๋ด์ด ์ ๊ฒ ํ๊ณ , ์ฌ์ฉ์๋ ์ ์์ด ๋นจ๋ผ์ง๊ฒ ํ๋ ์ด์ ์ ์ค๋ค.
โช redundancy(์์ฌ) : ์์คํ
์ ์์ ์ ์ผ๋ก ์ด์ํ๊ธฐ ์ํด์ ๋์ผํ ๋ธ๋๋์ ์ฉ๋ ๋ฑ์ ๊ฐ์ง๊ณ ์๋ HDD, NIC, Cable, ..๋ฑ์ ์์คํ
์ ๋ณ๋๋ก ๊ตฌ๋นํด์ ๋ฌธ์ ๊ฐ ์์ ๋ ๋ฐ๋ก ์กฐ์น๋๊ฒ ํ๋ ๊ธฐ๋ฒ
โช round-robin(๋จผ์ ์๋น์ค ์ ๊ณต) : www.youtube.com์ด๋ผ๋ ๋๋ฉ์ธ_๋ช
์ผ๋ก ์์ญ๋ ์ ์๋ฒ๊ฐ ๋ฌถ์ฌ ์๊ฑฐ๋, Channel Bonding์ผ๋ก ์ฌ๋ฌ NIC๊ฐ ๋ฌถ์ฌ์์ ๋, ์ธ๋ถ์์ ์๋น์ค ์์ฒญ ์ ํธ๋ํฝ์ด ์ ์ ์ฅ์น๊ฐ ๋จผ์ ์๋ตํ๊ฒ ํด์ ์๋น์ค ์ ๊ณต์ ์ํํ๊ณ ๋น ๋ฅด๊ฒ ์ด๋ค์ง๊ฒ ํ๋ ๊ธฐ๋ฒ <=IPv6์์์ AnyCast
โช hot|warm|cold site : ๋ฉ์ธ ์๋ฒ์ ๋ฌธ์ ๊ฐ ์์ ๋ ๋ค๋ฅธ ์ฅ์์ ์๋ฒ๋ฅผ ๊ตฌ์ถํด ๋๊ณ ์ธ์ ๋ ์ง ์๋น์ค๊ฐ ์ ๊ณต๋๊ฒ ํ๋ ๊ธฐ๋ฒ์ผ๋ก์จ ๋ ํ์ฌ ์๋ฒ์ ๊ฐ๊ฒ(์ ์๊ฐ ๋ด|๋ฉฐ์น ๋ด|๋ช ๋ฌ ๋ด ์ค์ ) ์๋น์ค๋ฅผ ์ ๊ณตํ๊ฒ ๊ตฌ์ฑ๋ ์ฌ์ดํธ
<=CDN(Contents Delivery Network)์ผ๋ก ์ ํ๋๋ ์ํฉ(์์ฑ ์๋ฒ ๊ตฌ์ถ), HSRP/VRRP ๊ธฐ๋ฒ์ ์ด์ฉํ ์๋ ์๋ค.
hot site: ์ ์๊ฐ ๋ด
warm site: ๋ฉฐ์น ๋ด
cold site: ๋ช๋ฌ ๋ด
๊ด๋ฆฌ ์์
์๋ํ CRON/AT
Linux ๊ด๋ฆฌ์๋ ์ํํธ์จ์ด ์
๋ฐ์ดํธ๋ ๋์คํฌ ์กฐ๊ฐ๋ชจ์๊ณผ ๊ฐ์ด ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ์์
์ด๋ ๋ฐฑ์
์ฒ๋ผ ์ฃผ๊ธฐ์ ์ด๊ณ ๋ฐ๋ณต์ ์ผ๋ก ์ํํ๋ ์์
๋ฑ์ Windows์ ์ค์ผ์ฅด๋ฌ์ ๊ฐ์ ์ญํ ์ ํ๋ cron๊ณผ at ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ ์ํ๋ ์์
์ ์์ฝํด๋๊ณ ์์
์ ์คํ์ํฌ ์ ์๋ค.
ํ์ฌ ์์
ํ๊ณ ์๋ ์ฝ์์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ค๋ฉด tty ํด์ /dev/pts/1์์ผ๋ก ๋์ค๋ฉด ๊ฐ ๋ช
๋ น์ด ๋์ '1>/dev/pts/1'์ ๋ถ์ฌ์ฃผ๋ฉด ๋๋ค. ๋ฐ๋ ๋ฒจ 3 tty์์๋ '1>/dev/console'์ ๋ถ์ด๋ฉด ์ง์ ๋ ์ฝ์์์ ๊ฒฐ๊ณผ๊ฐ ๋ณด์ธ๋ค.
์ฐธ๊ณ
Descriptor
2> : ํ์ค ์๋ฌ - ํ์ค ์๋ฌ๊ฐ ๋ฐ์ํด์ ๋ชจ๋ํฐ์ ํ์ ๋๋ค.
1> : ํ์ค ์ถ๋ ฅ - ๋ช ๋ น์ด ์คํ์ ๊ธฐ๋ณธ ์ฅ์น์ธ ๋ชจ๋ํฐ๋ก ๊ฒฐ๊ณผ๊ฐ์ด ๋ณด์ฌ์ง๋ค
0> : ํ์ค ์ ๋ ฅ - ์ถ๋ ฅ๊ฐ์ ๋ชจ๋ํฐ์ ํ์ํ์ง ํ์ง ์๋๋ค.
์ผ๋ฐ์ ์ผ๋ก cron ์ค์ ์ ๋ ๊ฐ์ง๋ก ํ๋๋ฐ
โ nano /etc/crontab ํด์
a. '๋ถ ์ ๋ ์ง ์ ์์ผ (root run-parts) ์คํํ์ผ_์์น' ๊ตฌ๋ฌธ์ผ๋ก ์ค์ ํ๊ณ (root run- parts๋ ๋ช
๋ น์ด ์คํ์๋ก์จ root๋ก ์คํํ๋ค๋ ๊ฒ์ธ๋ฐ ์๋ตํ ์ ์๋ค),
b. /etc/cron.hourly(daily, weekly, monthly) ๋๋ ํฐ๋ฆฌ ์ค์์ ์ํ๋ ๊ณณ์ ์ง์ ํ ์คํํ์ผ์ ๋ฃ์ด์ฃผ๋ ๋ฐฉ๋ฒ
โ crontab -e ํ ๋ค, i๋ฅผ ์
๋ ฅํด์ vi ํธ์ง๋ชจ๋๋ก ๊ฐ์
'๋ถ ์ ๋ ์ง ์ ์์ผ ์คํ_๋ช
๋ น์ด' ๊ตฌ๋ฌธ์ผ๋ก ์ค์ ํ ์ ์๋๋ฐ ์ด ๊ฒฝ์ฐ์๋ ์คํ_๋ช
๋ น์ด๋ฅผ ๋ฐ๋ก ์ ์ด์ฃผ๋ฏ๋ก ๋ณ๋๋ก ์คํ๋ ํ์ผ์ด ์๋ ์์น๋ฅผ ์ง์ ํ ํ์๊ฐ ์๋ค.
์ฃผ๊ธฐ์ ์ผ๋ก ์์
ํ ๋ด์ฉ์ ์ค์ ํ ๋์
๋ถ(minute)์ 0-59,
์(hour)๋ 0-23,
๋ ์ง(date)๋ 1-31,
์(month)์ 1-12, ๊ทธ๋ฆฌ๊ณ
์ฃผ(week)๋ 0-6(or Sunday-Saturday)์ผ๋ก ํ์ํด์ฃผ๋๋ฐ,
โช '๋ถ ์๊ฐ ์ผ ์ ์์ผ'์ * ๊ธฐํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋งค(every) ~์ ์๋ฏธ์ธ๋ฐ
@hourly, @daily, @midnight, @weekly, @monthly, @yearly(OR @annually)์ ๋ถํ
๋ ๋๋ง๋ค ์คํ๋๊ฒ ํด์ฃผ๋ @reboot๋ ์๋ค. @reboot * * * * * ~์์ผ๋ก ์ค์ ์ด๊ตฌ ๋งจ ์์ ์จ์ฃผ๋ฉด ๋๋ค.
โช ๋ถ์์ 0,20,40 * * * * ํ๋ฉด ๋งค 0๋ถ, 20๋ถ, 40๋ถ์ ๋งํ๊ณ ,
๋ถ์์ */10 ํ๋ฉด 10๋ถ๋ง๋ค์ ์๋ฏธ์ด๋ฉฐ,
โช ์์ผ์์ * * * * 1-5 ํ๋ฉด ์~๊ธ์ด๊ณ ,
์์ผ์์ * * * * 1,3,5 ํ๋ฉด ์,์,๊ธ์ด ๋๋ค. ์ด ์ธ์๋ ์ฌ๋ฌ ์ค์ ๋ฐฉ๋ฒ์ด ์๋ค.
์๊ฐ ์ค์ ์ ์๋ฅผ ๋ช ๊ฐ ๋ณด์.
crontab -e(OR /etc/crontab) ํ๊ณ
โ 02 4 * * * root run-parts /etc/cron.daily๋ก ์์ฑํด์ฃผ๋ฉด
=>๋งค์ผ 04์ 02๋ถ์ /etc/cron.daily์ ์๋ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ค.
โก 03 4 * * 0 root run-parts /etc/cron.weekly๋ก ์์ฑํด์ฃผ๋ฉด
=>๋งค์ฃผ ์ผ์์ผ(0), 04์ 03๋ถ์ /etc/cron.weekly์ ์๋ ์คํ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ค.
โข 0,30 8-19 15 * * root run-parts /etc/cron.monthly๋ก ์์ฑํด์ฃผ๋ฉด
=>๋งค์ 15์ผ๋ง๋ค, 8~19์ ์ฌ์ด, ๋งค ์ ๊ฐ(0)๊ณผ 30๋ถ๋ง๋ค /etc/cron.monthly์ ์๋ ์คํ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ค.
โฃ * */2 * * * bash /root/backup.sh 1> /dev/pts/1 ํ๋ฉด
=>๋งค 2์๊ฐ๋ง๋ค /root/ ๋ฐ์ ์๋ backup.sh ์คํฌ๋ฆฝํธ๋ฅผ ์คํํด์ /dev/pts/1 ์ฝ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ธ๋ค.
โค 00 18 * * 1 cd ~ && ls > week.out 1> /dev/console ํด์ฃผ๋ฉด
=>์์์ผ(1) ์คํ 6์(18) ์ ๊ฐ(00)์ ํ ๋๋ ํฐ๋ฆฌ๋ก ๊ฐ์(cd ~) ๋ด์ฉ์ ์ถ๋ ฅ(ls)ํด์ week. out๋ผ๋ ํ์ผ๋ก ์ ์ฅํ๊ณ , ๊ทธ ๋ด์ฉ์ /dev/console ํฐ๋ฏธ๋๋ก ๋ณด์ฌ๋ผ(~ 1> /dev/console)๋ผ๋ ์๋ฏธ์ด๋ค.
๊ทธ๋ฆฌ๊ณ cron์ ๋ช
๋ น์ด๋ฅผ ์คํํ๋ ํด๋น ์ฌ์ฉ์์๊ฒ ์คํ๊ฒฐ๊ณผ ๋ฑ์ ๋ฉ์ผ์ ๋ณด๋ด๊ฒ ๋์ด์์ผ๋ฏ๋ก ๋ช
๋ น์ด ๋ค์ '>/dev/null 2> &1'์์ผ๋ก ๋ง๋ถ์ด๋ฉด ์ฌ์ฉ์์๊ฒ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ฝ์์ ๋ณด์ด๊ฑฐ๋ ๋ฉ์ผ์ ๋ณด๋ด์ง ์๋๋ค.
์ฐธ๊ณ ๋ก ๋ช
๋ น์ด๋ฅผ ์ฐ์์ผ๋ก ์คํ์ํฌ ๋ ;๋ ํ ์ค์ ๋ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ๊ฐ๊ฐ ์คํํ๋ ๊ฒ์ด๊ณ , &&๋ ์์ ๋ช
๋ น์ด๊ฐ ์์ ํ ์คํ๋ ๋ค ๋ค์ ๋ช
๋ น์ด๊ฐ ์คํ๋๊ฒ ํ๋ค. |๋ ์์ ๋ช
๋ น์ด ๊ฒฐ๊ณผ๊ฐ ๋ค๋ก ๋์ด๊ฐ๋ค๋ ์๋ฏธ์ด๋ค.
์ค์ต
0 3 15 * * root run-parts /etc/cron.monthly
์์ผ ๋ชฐ๋ผ ๋งค๋ฌ 15์ผ๋ง๋ค 3์ ์ ๊ฐ์ ๋ etc ํฌ๋ก ๋จผ์ฐ์ ๊ฐ๋ฉด ๊ทธ ํ์ผ์ด ์์ ๊ฑฐ์ผ
์ค์ต์ด๋๊น ์ต์๋จ์ 1๋ถ์ผ๋ก ์ก์
[root@www centos]# cd /etc/cron.monthly
[root@www cron.monthly]# date
Thu Apr 6 16:56:11 KST 2023
[root@www cron.monthly]# nano backup.sh
[root@www cron.monthly]# chmod +x backup.sh
[root@www cron.monthly]# ls
backup.sh
1๋ถ ๋จ์๋ก ๋ฐฑ์ ์ด ๋๋ค.
crontab -e
ํ๋ฐ์ ์ผํ ์ค ์ฌ์ฉ์์ ๋์คํฌ ์ฌ์ฉ๋์ ๋ณด์ฌ๋ผ
crontab -l๋ก ์กฐํ
141M๊ฐ ๋์๋ค!!
์ค๋ ์ค์ต ๋
ํฐ๋๋ง IP Binding ์ฑ๋ ๋ณธ๋ฉ(channel bonding) ๊ด๋ฆฌ ์์ ์๋ํ CRON/AT