
์๋
ํ์ธ์ ์ฌ๋ฌ๋ถ. ์ด ๊ธ์ ์ฌ๋ฌ ๋์ Mikrotik ์ฅ์น๋ฅผ ๋ณด์ ํ๊ณ ์์ผ๋ฉฐ, ๊ฐ ์ฅ์น์ ๋ณ๋๋ก ์ฐ๊ฒฐํ์ง ์๊ณ ๋ ์ต๋ํ์ ํตํฉ์ ์ด๋ฃจ๊ณ ์ ํ๋ ๋ถ๋ค์ ์ํด ์์ฑ๋์์ต๋๋ค. ์ด ๊ธ์์๋ ๋ถํํ๋ ์ธ์ ์์ธ์ผ๋ก ์ธํด ์ ํฌ ์ํฉ์ ๋๋ฌํ์ง ๋ชปํ ํ๋ก์ ํธ์ ๋ํด ์ค๋ช
ํ๊ฒ ์ต๋๋ค. ๊ฐ๋จํ ๋งํด์, 200๊ฐ๊ฐ ๋๋ ๋ผ์ฐํฐ, ๋น ๋ฅธ ์ค์ ๋ฐ ์ง์ ๊ต์ก, ์ง์ญ๋ณ ํตํฉ, ๋คํธ์ํฌ ๋ฐ ํน์ ํธ์คํธ ํํฐ๋ง, ๋ชจ๋ ์ฅ์น์ ๊ท์น์ ์ฝ๊ฒ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ, ๋ก๊น
๋ฐ ์ก์ธ์ค ์ ์ด ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
์๋์ ์ค๋ช
๋ ๋ด์ฉ์ ๊ธฐ์ฑ ์ฌ๋ก๋ผ๊ณ ์ฃผ์ฅํ๋ ๊ฒ์ ์๋์ง๋ง, ๋คํธ์ํฌ๋ฅผ ๊ณํํ๊ณ ์ค๋ฅ๋ฅผ ์ต์ํํ๋ ๋ฐ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ด์ฉ๋ฉด ์ผ๋ถ ์์ ๊ณผ ํด๊ฒฐ์ฑ
์ด ์ฌ๋ฌ๋ถ์๊ฒ ์ณ์ง ์๋ค๊ณ ์๊ฐ๋ ์๋ ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์. ์ด ๊ฒฝ์ฐ ๋นํ์ ๊ณต๋์ ์ด์ต์ ์ํ ๊ฒฝํ์ด ๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ ๋
์ ์ฌ๋ฌ๋ถ, ๋๊ธ์ ์ดํด๋ณด์ธ์. ์์ฑ์๊ฐ ํฐ ์ค์๋ฅผ ํ์ ์๋ ์์ต๋๋ค. ์ปค๋ฎค๋ํฐ๊ฐ ๋์์ค ๊ฒ์
๋๋ค.
๋ผ์ฐํฐ์ ์๋ 200~300๊ฐ์ด๋ฉฐ, ์ธํฐ๋ท ์ฐ๊ฒฐ ํ์ง์ด ์๋ก ๋ค๋ฅธ ์ฌ๋ฌ ๋์์ ๋ถ์ฐ๋์ด ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ ์๋ฆ๋ต๊ฒ ๋ง๋ค์ด์ผ ํ๋ฉฐ, ๋ชจ๋ ๊ฒ์ด ์ด๋ป๊ฒ ์๋ํ ์ง ์ง์ญ ๊ด๋ฆฌ์์๊ฒ ๋ช ํํ๊ฒ ์ค๋ช ํด์ผ ํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ํ๋ก์ ํธ๋ ์ด๋์ ์์ํด์ผ ํ ๊น์? ๋ฌผ๋ก , TK.
- ๊ณ ๊ฐ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ชจ๋ ์ง์ ์ ๋ํ ๋คํธ์ํฌ ๊ณํ์ ๊ตฌ์ฑํ๊ณ ๋คํธ์ํฌ๋ฅผ ์ธ๋ถํํฉ๋๋ค(์ง์ ๋น ์ฅ์น ์์ ๋ฐ๋ผ 3๊ฐ์์ 20๊ฐ ๋คํธ์ํฌ).
- ๊ฐ ์ง์ ์ ์ฅ์น๋ฅผ ์ค์ ํฉ๋๋ค. ๋ค์ํ ์ด์ ์กฐ๊ฑด์์ ๊ณต๊ธ์์ ์ค์ ๋์ญํญ ์๋๋ฅผ ํ์ธํฉ๋๋ค.
- ๊ธฐ๊ธฐ ๋ณดํธ ์กฐ์ง, ํ์ฉ ๋ชฉ๋ก ๊ด๋ฆฌ, ์ผ์ ๊ธฐ๊ฐ ๋์ ์๋ ๋ธ๋๋ฆฌ์คํธ์ ๋ฑ๋กํ์ฌ ๊ณต๊ฒฉ์ ์๋ ๊ฐ์งํ๊ณ , ์ ๊ทผ์ ๊ฐ๋ก์ฑ๊ณ ์ ์ดํ๋ฉฐ ์๋น์ค๋ฅผ ๊ฑฐ๋ถํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ค์ํ ๊ธฐ์ ์ ์๋จ์ ์ฌ์ฉ์ ์ต์ํํฉ๋๋ค.
- ๊ณ ๊ฐ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋คํธ์ํฌ ํํฐ๋ง์ ํตํด ์์ ํ VPN ์ฐ๊ฒฐ์ ๊ตฌ์ฑํฉ๋๋ค. ๊ฐ ์ง์ ์์ ์ผํฐ๋ก ๊ฐ๋ VPN ์ฐ๊ฒฐ์ ์ต์ 3๊ฐ์ ๋๋ค.
- 1, 2๋ฒ ํญ๋ชฉ์ ๋ฐํ์ผ๋ก ์ฅ์ ํ์ฉํ VPN์ ๊ตฌ์ถํ๋ ์ต์ ์ ๋ฐฉ๋ฒ์ ์ ํํ์ธ์. ๊ณต์ฐ์๋ ์ฌ๋ฐ๋ฅธ ์ด์ ๋ก ๋์ ๋ผ์ฐํ ๊ธฐ์ ์ ์ ํํ ์ ์์ต๋๋ค.
- ๊ณ ๊ฐ์ด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ, ํฌํธ, ํธ์คํธ ๋ฐ ๊ธฐํ ํน์ ์๋น์ค๋ณ๋ก ํธ๋ํฝ ์ฐ์ ์์๋ฅผ ๊ตฌ์ฑํฉ๋๋ค. (VOIP, ์ค์ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ํธ์คํธ)
- ๊ธฐ์ ์ง์ ๋ด๋น์์ ๋์์ ์ํด ๋ผ์ฐํฐ ์ด๋ฒคํธ์ ๋ํ ๋ชจ๋ํฐ๋ง๊ณผ ๋ก๊น ์ ๊ตฌ์ฑํฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ์๋ ๋ฐ์ ๋ฐ๋ฅด๋ฉด, ๋ง์ ๊ฒฝ์ฐ ๊ธฐ์ ์ฌ์์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๊ฒฐ์ ๋ฉ๋๋ค. ์ ๋ ์ฃผ์ ๋ฌธ์ ๋ค์ ๋ฃ๊ณ ๋์ ์ด๋ฌํ ์๊ตฌ์ฌํญ์ ์ง์ ๊ณต์ํํ์ต๋๋ค. ์ ๋ ๋ค๋ฅธ ์ฌ๋์ด ์ด๋ฌํ ์ฌํญ์ ๊ตฌํ์ ๋งก์ ๊ฐ๋ฅ์ฑ์ ๊ณ ๋ คํ์ต๋๋ค.
์ด๋ฌํ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๊ธฐ ์ํด ์ด๋ค ๋๊ตฌ๊ฐ ์ฌ์ฉ๋ ๊น์?
- ELK ์คํ(์ผ๋ง ํ, Logstash ๋์ fluentd๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ถ๋ช ํด์ก์ต๋๋ค).
- ์ค์๋ธ. ๊ด๋ฆฌ์ ์ ๊ทผ ๊ณต์ ์ ํธ์์ฑ์ ์ํด AWX๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ๊น๋ฉ. ์ค๋ช ํ ํ์๊ฐ ์์ต๋๋ค. ๊ตฌ์ฑ์ ๋ฒ์ ์ ์ด๊ฐ ์์๋ค๋ฉด ์ด๋ป๊ฒ ๋์์๊น์?
- ํ์์ ธ. ๊ตฌ์ฑ์ ์ฒ์ ์์ฑํ๊ธฐ ์ํ ๊ฐ๋จํ ์คํฌ๋ฆฝํธ๊ฐ ์์ต๋๋ค.
- Doku ์ํค๋ ๋ฌธ์์ ๊ฐ์ด๋๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ์๋ habr.com์ ์ฌ์ฉํฉ๋๋ค.
- ๋ชจ๋ํฐ๋ง์ Zabbix๋ฅผ ํตํด ์ํ๋ฉ๋๋ค. ์ผ๋ฐ์ ์ธ ์ดํด๋ฅผ ๋๊ธฐ ์ํด ์ฐ๊ฒฐ ๋ค์ด์ด๊ทธ๋จ๋ ๊ทธ๋ ค์ ธ ์์ต๋๋ค.
EFK ์ค์ ํฌ์ธํธ
์ฒซ ๋ฒ์งธ ์ฌํญ๊ณผ ๊ด๋ จํด์๋ ์ง์๊ฐ ๊ตฌ์ถ๋ ์ด๋
์ ๋ํด์๋ง ์ค๋ช
ํ๊ฒ ์ต๋๋ค. ๋ง์ ๊ฒ๋ค์ด ์์ต๋๋ค
mikrotik์ ์คํํ๋ ์ฅ์น์์ ๋ก๊ทธ๋ฅผ ์ค์ ํ๊ณ ์์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ํ๋ฅญํ ๋ฌธ์์
๋๋ค.
๋ช ๊ฐ์ง ์ ์ ๋ํด ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค.
1. ์ด ๊ณํ์ ๋ฐ๋ฅด๋ฉด, ๋ค์ํ ์ฅ์์ ๋ค์ํ ํฌํธ์์ ๋ก๊ทธ๋ฅผ ์์ ํ๋ ๊ฒ์ ๊ณ ๋ คํด ๋ณผ ๋งํฉ๋๋ค. ์ด๋ฅผ ์ํด ๋ก๊ทธ ์ง๊ณ๊ธฐ๋ฅผ ์ฌ์ฉํ๊ฒ ์ต๋๋ค. ๋ํ, ๋ชจ๋ ๋ผ์ฐํฐ์ ๋ํ ์ก์ธ์ค๋ฅผ ๋ถ๋ฆฌํ ์ ์๋ ๋ฒ์ฉ ๊ทธ๋ํ๋ฅผ ๋ง๋ค๊ณ ์ถ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ธ๋ฑ์ค๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
fluentd๋ฅผ ์ฌ์ฉํ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์๋ผ์คํฑ์์น ํ์
๋ก๊ทธ์คํ์_ํฌ๋งท ์ฐธ
์ธ๋ฑ์ค ์ด๋ฆ mikrotiklogs.north
logstash_prefix mikrotiklogs.north
ํ๋ฌ์ ๊ฐ๊ฒฉ 10์ด
ํธ์คํธ : 9200
ํฌํธ 9200
์ด๋ฐ ๋ฐฉ์์ผ๋ก ์ฐ๋ฆฌ๋ ๋ผ์ฐํฐ๋ฅผ ๊ฒฐํฉํ๊ณ mikrotiklogs.west, mikrotiklogs.south, mikrotiklogs.east์ ๊ฐ์ ๊ณํ์ ๋ฐ๋ผ ์ธ๋ถํํ ์ ์์ต๋๋ค. ์ ์ด๋ ๊ฒ ๋ณต์กํ๊ฒ ๋ง๋ค์์๊น? ์ฐ๋ฆฌ๋ 200๊ฐ ์ด์์ ์ฅ์น๋ฅผ ๋ณด์ ํ๊ฒ ๋ ๊ฒ์ผ๋ก ์๊ณ ์์ต๋๋ค. ๋ชจ๋ ๊ฒ์ ๊ธฐ์ตํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค. Elasticsearch 6.8 ๋ฒ์ ๋ถํฐ๋ ๋ผ์ด์ ์ค๋ฅผ ๊ตฌ๋งคํ์ง ์๊ณ ๋ ๋ณด์ ์ค์ ์ ์ ๊ทผํ ์ ์์ผ๋ฏ๋ก ๊ธฐ์ ์ง์ ๋ด๋น์๋ ๋ก์ปฌ ์์คํ
๊ด๋ฆฌ์์๊ฒ ๋ณด๊ธฐ ๊ถํ์ ๋ถ๋ฐฐํ ์ ์์ต๋๋ค.
ํ์ ๊ทธ๋ํ - ์ด ๊ฒฝ์ฐ์๋ ์๋ก ํฉ์๋ง ํ๋ฉด ๋ฉ๋๋ค - ๊ฐ์ ๊ฒ์ ์ฌ์ฉํ๊ฑฐ๋ ๊ฐ์๊ฐ ๊ฐ์ฅ ํธ๋ฆฌํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
2. ๋ก๊น ์ ๊ดํ์ฌ. ๋ฐฉํ๋ฒฝ ๊ท์น์์ ๋ก๊น ์ ํ์ฑํํ๋ฉด ์ด๋ฆ์ ๊ณต๋ฐฑ์ด ์์ด์ง๋๋ค. fluentd์์ ๊ฐ๋จํ ๊ตฌ์ฑ์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ๊ณ ํธ๋ฆฌํ ํจ๋์ ๋ง๋ค ์ ์๋ค๋ ๊ฒ์ ๋ถ๋ช ํฉ๋๋ค. ์๋ ๊ทธ๋ฆผ์ ๋ด ์ง ๋ผ์ฐํฐ๋ฅผ ๋ณด์ฌ์ค๋๋ค.

3. ์ ์ ๋ ๊ณต๊ฐ๊ณผ ํต๋๋ฌด๋ก. ํ๊ท ์ ์ผ๋ก ์๊ฐ๋น 1000๊ฐ์ ๋ฉ์์ง๊ฐ ์ฒ๋ฆฌ๋๋ฏ๋ก ๋ก๊ทธ๋ ํ๋ฃจ์ 2~3MB๋ฅผ ์ฐจ์งํฉ๋๋ค. ์ด๋ ๊ทธ๋ ๊ฒ ๋ง์ง ์๋ค๋ ๊ฒ์ ์ธ์ ํด์ผ ํฉ๋๋ค. Elasticsearch ๋ฒ์ 7.5.
ANSIBLE.AWX
๋คํํ๋ ์ฐ๋ฆฌ์๊ฒ๋ ๋ผ์ฐํฐ์ฉ ๊ธฐ์ฑ ๋ชจ๋์ด ์์ต๋๋ค.
์ ๋ AWX๋ฅผ ์ง์ ํ์ง๋ง, ์๋ ๋ช
๋ น์ ์์ํ ํํ์ Ansible์ ๋ํ ๊ฒ์ผ ๋ฟ์
๋๋ค. Ansible์ ์ฌ์ฉํด ๋ณธ ์ฌ๋์ด๋ผ๋ฉด GUI๋ฅผ ํตํด AwX๋ฅผ ์ฌ์ฉํ๋ ๋ฐ ์๋ฌด๋ฐ ๋ฌธ์ ๊ฐ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์์งํ ๋งํด์, ์ด์ ์ ssh๋ฅผ ์ฌ์ฉํ ๋ค๋ฅธ ๊ฐ์ด๋๋ฅผ ์ดํด๋ดค๋๋ฐ, ๋ชจ๋ ์๋ต ์๊ฐ ๋ฌธ์ ์ ๊ทธ ์ธ ์ฌ๋ฌ ๊ฐ์ง ๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์์์ต๋๋ค. ๋ค์ ๋ง์๋๋ฆฌ์ง๋ง, ์ธ์์ผ๋ก ์ด์ด์ง์ง๋ ์์์ต๋๋ค. ๏ ์ด ์ ๋ณด๋ 20๋์ ๋ผ์ฐํฐ๋ฅผ ๋์ด์์ง ์๋ ์คํ์ผ๋ก ๋ฐ์๋ค์ฌ์ฃผ์ธ์.
์ธ์ฆ์๋ ๊ณ์ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๊ฒฐ์ ์ ๋น์ ์๊ฒ ๋ฌ๋ ค ์์ต๋๋ค. ์ ๋ ์๊ฒฉ์ฆ์ ์ง์งํฉ๋๋ค. ๊ถ๋ฆฌ์ ๋ํ ๋ฏธ๋ฌํ ์ . ์ฐ๊ธฐ ๊ถํ์ ์คฌ๋๋ฐ "๊ตฌ์ฑ ์ฌ์ค์ "๋ ์๋ํ์ง ์์์.
์ธ์ฆ์ ์์ฑ, ๋ณต์ฌ ๋ฐ ๊ฐ์ ธ์ค๊ธฐ์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
๋ช
๋ น์ด์ ๊ฐ๋ตํ ๋ชฉ๋ก๊ทํ์ PC์์
ssh-keygen -t RSA, ์ง๋ฌธ์ ๋ตํ๊ณ ํค๋ฅผ ์ ์ฅํฉ๋๋ค.
mikrotik์ ๋ณต์ฌ:
์ฌ์ฉ์ ssh-ํค ๊ฐ์ ธ์ค๊ธฐ public-key-file=id_mtx.pub ์ฌ์ฉ์=ansible
๋จผ์ , ๊ณ์ ์ ๋ง๋ค๊ณ ๊ถํ์ ํ ๋นํด์ผ ํฉ๋๋ค.
์ธ์ฆ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ ํ์ธ
ssh -p 49475 -i /keys/mtx ansible@192.168.0.120
vi /etc/ansible/hosts๋ฅผ ์์ฑํฉ๋๋ค.
MT01 ansible_network_os=๋ผ์ฐํฐ ansible_ssh_port=49475 ansible_ssh_user= ansible
MT02 ansible_network_os=๋ผ์ฐํฐ ansible_ssh_port=49475 ansible_ssh_user= ansible
MT03 ansible_network_os=๋ผ์ฐํฐ ansible_ssh_port=49475 ansible_ssh_user= ansible
MT04 ansible_network_os=๋ผ์ฐํฐ ansible_ssh_port=49475 ansible_ssh_user= ansible
์, ํ๋ ์ด๋ถ์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. โ ์ด๋ฆ: add_work_sites
ํธ์คํธ: testmt
์๋ฆฌ์ผ: 1
์ฐ๊ฒฐ: network_cli
remote_user: mikrotik.west
gather_facts: ์
์์
:
โ ์ด๋ฆ: ์์
์ฌ์ดํธ ์ถ๊ฐ
๊ฒฝ๋ก ๋ช
๋ น:
๋ช
๋ น :
โ /ip ๋ฐฉํ๋ฒฝ ์ฃผ์ ๋ชฉ๋ก ์ถ๊ฐ ์ฃผ์=gov.ru ๋ชฉ๋ก=work_sites ์ฃผ์=Ticket665436_Ochen_nado
โ /ip ๋ฐฉํ๋ฒฝ ์ฃผ์ ๋ชฉ๋ก ์ถ๊ฐ ์ฃผ์=habr.com ๋ชฉ๋ก=work_sites ์ฃผ์=for_habr
์์ ๊ตฌ์ฑ์์ ๋ณผ ์ ์๋ฏ์ด, ์์ ์ ํ๋ ์ด๋ถ์ ๋ง๋๋ ๊ฒ์ ์ด๋ ต์ง ์์ต๋๋ค. ํด๋ฆฌ ๋ฏธํฌ๋กํฑ์ ์ ๋ค๋ฃจ๋ฉด ์ถฉ๋ถํฉ๋๋ค. ๋ชจ๋ ๋ผ์ฐํฐ์์ ํน์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ์ฃผ์ ๋ชฉ๋ก์ ์ ๊ฑฐํด์ผ ํ๋ ์ํฉ์ ์์ํด ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด:
์ฐพ์์ ์ญ์ /ip ๋ฐฉํ๋ฒฝ ์ฃผ์ ๋ชฉ๋ก ์ ๊ฑฐ [find where list="gov.ru"]
์ฌ๊ธฐ์ ์ ์ฒด ๋ฐฉํ๋ฒฝ ๋ชฉ๋ก์ ์๋์ ์ผ๋ก ๋ฃ์ง ์์ ์ด์ ๋... ๊ฐ ํ๋ก์ ํธ๋ง๋ค ๊ฐ๋ณ์ ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ํ์คํ ๋งํ ์ ์๋ ๊ฑด ์ฃผ์ ๋ชฉ๋ก๋ง ์ฌ์ฉํ๋ผ๋ ๊ฒ๋๋ค.
GITLAB์ ๋ํ ๋ชจ๋ ๊ฒ์ ๋ช ํํฉ๋๋ค. ์ด ์ ์ ๋ํด์๋ ๋ ์ด์ ์ธ๊ธํ์ง ์๊ฒ ์ต๋๋ค. ๋ชจ๋ ๊ฒ์ ๋ณ๋์ ์์ , ํ ํ๋ฆฟ, ํธ๋ค๋ฌ์์ ์๋ฆ๋ต์ต๋๋ค.
ํ์ ์
์ฌ๊ธฐ์๋ 3๊ฐ์ ํ์ผ์ด ์์ต๋๋ค. ์ PowerShell์ ์ฌ์ฉํด์ผ ํ๋์? ๊ทํ์๊ฒ ๋ ํธ๋ฆฌํ ๋๊ตฌ๋ฅผ ์ ํํ์ฌ ๊ตฌ์ฑ์ ์์ฑํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋ชจ๋ ์ฌ๋์ PC์ Windows๊ฐ ์ค์น๋์ด ์์ผ๋ฏ๋ก PowerShell์ด โโ๋ ํธ๋ฆฌํ ๋ Bash์์ ์์ ํ ํ์๊ฐ ์์ต๋๋ค. ๊ทํ์๊ฒ ๋ ํธ๋ฆฌํ ๊ฒ์ด๋ผ๋ฉด.
์คํฌ๋ฆฝํธ ์์ฒด(๊ฐ๋จํ๊ณ ๋ช
ํํจ):[cmdletBinding()]
๋งค๊ฐ๋ณ์(
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$์ธ๋ถ์ง์นจ,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$EXTERNALIPROUTE,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$BWorknets,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$CWorknets,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$BVoipNets,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$CVoipNets,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$CClientss,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$BVPNWORKS,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$CVPNWORKS,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$BVPNCLIENTSs,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$cVPNCLIENTSs,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$NAMEROUTER,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[string]$ServerCertificates,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$infile,
[๋งค๊ฐ๋ณ์(ํ์=$true)]
[๋ฌธ์์ด]$outfile
)
Get-Content $infile | Foreach-Object {$_.Replace("EXTERNIP", $EXTERNALIPADDRESS)} |
Foreach ๊ฐ์ฒด {$_.Replace("EXTROUTE", $EXTERNALIPROUTE)} |
Foreach-Object {$_.Replace("BWorknet", $BWorknets)} |
Foreach-Object {$_.Replace("CWorknet", $CWorknets)} |
Foreach ๊ฐ์ฒด {$_.Replace("BVoipNet", $BVoipNets)} |
Foreach ๊ฐ์ฒด {$_.Replace("CVoipNet", $CVoipNets)} |
Foreach-๊ฐ์ฒด {$_.Replace("CClients", $CClientss)} |
Foreach ๊ฐ์ฒด {$_.Replace("BVPNWORK", $BVPNWORKs)} |
Foreach ๊ฐ์ฒด {$_.Replace("CVPNWORK", $CVPNWORKs)} |
Foreach ๊ฐ์ฒด {$_.Replace("BVPNCLIENTS", $BVPNCLIENTSs)} |
Foreach ๊ฐ์ฒด {$_.Replace("CVPNCLIENTS", $cVPNCLIENTSs)} |
Foreach ๊ฐ์ฒด {$_.Replace("MYNAMERROUTER", $NAMEROUTER)} |
Foreach-Object {$_.Replace("ServerCertificate", $ServerCertificates)} | Set-Content $outfile
์ฉ์ํด ์ฃผ์ธ์. ๋ชจ๋ ๊ท์น์ ๊ฒ์ํ ์๋ ์์ด์... ๋ณ๋ก ๋ณด๊ธฐ ์ข์ง ์์ ํ ๋๊น์. ๋ชจ๋ฒ ์ฌ๋ก์ ๋ฐ๋ผ ์ง์ ๊ท์น์ ๋ง๋ค ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, ๋ด๊ฐ ํ๋ก์ฐํ ๋งํฌ ๋ชฉ๋ก์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.:๋ผ์ฐํฐ ๋ณด์
:IP/๋ฐฉํ๋ฒฝ/ํํฐ
:OSPF ์์
:์๋ฐ์ค
:๋ผ์ฐํฐOS ์
๊ทธ๋ ์ด๋
:IP/Fasttrack โ ์ฌ๊ธฐ์ ์์์ผ ํ ์ ์ Fasttrack์ด ํ์ฑํ๋๋ฉด ์ฐ์ ์์ ์ง์ ๋ฐ ํธ๋ํฝ ์กฐ์ ๊ท์น์ด ์๋ํ์ง ์๋๋ค๋ ๊ฒ์
๋๋ค. ์ด๋ ์ฑ๋ฅ์ด ์ฝํ ์ฅ์น์ ์ ์ฉํฉ๋๋ค.
๋ณ์์ ๋ํ ๊ธฐ์กด ํ๊ธฐ๋ฒ:๋ค์ ๋คํธ์ํฌ๋ฅผ ์๋ก ๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
192.168.0.0/24 ์๋ ๋คํธ์ํฌ
172.22.4.0/24 VOIP ๋คํธ์ํฌ
๋ก์ปฌ ๋คํธ์ํฌ์ ์ก์ธ์คํ ์ ์๋ ํด๋ผ์ด์ธํธ๋ฅผ ์ํ 10.0.0.0/24 ๋คํธ์ํฌ
๋๊ท๋ชจ ์ง์ ์ ์ํ 192.168.255.0/24 VPN ๋คํธ์ํฌ
์๊ท๋ชจ ๊ธฐ์
์ ์ํ 172.19.255.0/24 VPN ๋คํธ์ํฌ
๋คํธ์ํฌ ์ฃผ์๋ 4๊ฐ์ 192.168.0.0์ง์ ABCD๋ก ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ, ๋์ฒด๋ ๋์ผํ ์๋ฆฌ๋ก ์๋ํฉ๋๋ค. ์์ ์ B๋ฅผ ๋ฌป๋ ๊ฒฝ์ฐ ๋คํธ์ํฌ 24/0์ ๋ํด ์ซ์ 0์ ์
๋ ฅํด์ผ ํ๊ณ , C์๋ XNUMX์ ์
๋ ฅํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค.
$EXTERNALIPADDRESS โ ๊ณต๊ธ์์ ์ ์ฉ ์ฃผ์์
๋๋ค.
$EXTERNALIPROUTE โ ๋คํธ์ํฌ 0.0.0.0/0์ ๋ํ ๊ธฐ๋ณธ ๊ฒฝ๋ก
$BWorknets โ Worknet, ์ฐ๋ฆฌ ์์์๋ 168์ด ๋ฉ๋๋ค.
$CWorknets โ ์์
๋คํธ์ํฌ, ์ฐ๋ฆฌ ์์์๋ 0์ด ๋ฉ๋๋ค.
$BVoipNets โ ์ฌ๊ธฐ ์์์ VOIP ๋คํธ์ํฌ 22
$CVoipNets โ ์ฌ๊ธฐ ์์์ VOIP ๋คํธ์ํฌ 4
$CClientss โ ํด๋ผ์ด์ธํธ์ฉ ๋คํธ์ํฌ โ ์ธํฐ๋ท์๋ง ์ก์ธ์ค ๊ฐ๋ฅ, ์ด ๊ฒฝ์ฐ์๋ 0์
๋๋ค.
$BVPNWORKs โ ๋๊ท๋ชจ ์ง์ ์ ์ํ VPN ๋คํธ์ํฌ(์: 20)
$CVPNWORKs โ ๋๊ท๋ชจ ์ง์ ์ ์ํ VPN ๋คํธ์ํฌ(์: 255)
$BVPNCLIENTS โ ์๊ท๋ชจ ์ง์ ์ ์ํ VPN ๋คํธ์ํฌ, 19
$CVPNCLIENTS โ ์๊ท๋ชจ ์ง์ ์ ์ํ VPN ๋คํธ์ํฌ์ด๋ฏ๋ก 255
$NAMEROUTER โ ๋ผ์ฐํฐ ์ด๋ฆ
$ServerCertificate - ์ด์ ์ ๊ฐ์ ธ์จ ์ธ์ฆ์์ ์ด๋ฆ
$infile โ ๊ตฌ์ฑ์ ์ฝ์ ํ์ผ์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค(์: D:config.txt(๋ฐ์ดํ์ ๊ณต๋ฐฑ์ด ์๋ ์์ด ๊ฒฝ๋ก๊ฐ ๋ฐ๋์งํจ)).
$outfile โ ์ ์ฅํ ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค(์: D:MT-test.txt).
์ ๋ ๋ช ํํ ์ด์ ๋ก ์์์์ ์ฃผ์๋ฅผ ์๋์ ์ผ๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
๊ณต๊ฒฉ๊ณผ ๋น์ ์์ ์ธ ํ๋์ ๊ฐ์งํ๋ ๊ฒ์ ๋ํ ์์ ์ ๋์ณค์ต๋๋ค. ์ด๋ ๋ณ๋์ ๊ธฐ์ฌ๋ก ๋ค๋ฃจ์ด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค. ํ์ง๋ง ์ด ์นดํ ๊ณ ๋ฆฌ์์๋ Zabbix์ ๋ชจ๋ํฐ๋ง ๋ฐ์ดํฐ ๊ฐ๊ณผ Elasticsearch์ ์ฒ๋ฆฌ๋ curl ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
์ด๋ค ์ ์ ์ง์คํด์ผ ํ ๊น์?
- ๋คํธ์ํฌ ๊ณํ. ๋ฐ๋ก ์ฝ์ ์ ์๋ ํํ๋ก ์์ฑํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์์ ์ด๋ฉด ์ถฉ๋ถํฉ๋๋ค. ์ํ๊น๊ฒ๋ ์ ๋ ๋คํธ์ํฌ๊ฐ "์๋ก์ด ์ง์ ์ด ์๊ฒผ์ต๋๋ค. ์ฌ๊ธฐ์ /24๊ฐ ์์ต๋๋ค."๋ผ๋ ์์น์ ๋ฐ๋ผ ๋ง๋ค์ด์ง๋ ๊ฒ์ ์์ฃผ ๋ด ๋๋ค. ์ด ์ง์ญ์์ ์ผ๋ง๋ ๋ง์ ๊ธฐ๊ธฐ๊ฐ ์ฌ์ฉ๋ ๊ฒ์ผ๋ก ์์๋๋์ง, ๊ทธ๋ฆฌ๊ณ ์์ผ๋ก๋ ๊ณ์ ์ฑ์ฅํ ์ง๋ ์๋ฌด๋ ์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์์ ๋งค์ฅ์ด ๋ฌธ์ ์ด์๋๋ฐ, ์ฒ์์๋ ์ฅ์น๊ฐ 10์ ๋์ง ์์ ๊ฒ์ด ๋ถ๋ช ํ์ต๋๋ค. ์ /24๋ฅผ ํ ๋นํ์ต๋๊น? ๋ฐ๋ฉด, ๋๊ท๋ชจ ์ง์ ์ ๊ฒฝ์ฐ /24๊ฐ ํ ๋น๋๊ณ , ์ฅ์น๊ฐ 500๊ฐ์ด๋ฏ๋ก ๊ฐ๋จํ ๋คํธ์ํฌ๋ฅผ ์ถ๊ฐํ ์ ์์ง๋ง, ๋ชจ๋ ๊ฒ์ ํ ๋ฒ์ ์๊ฐํด ๋ณด๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ํํฐ๋ง ๊ท์น. ํ๋ก์ ํธ์์ ๋คํธ์ํฌ ๋ถ๋ฆฌ์ ์ต๋ ์ธ๋ถํ๊ฐ ์ด๋ฃจ์ด์ง ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค. ๋ชจ๋ฒ ์ฌ๋ก๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๋ณํฉ๋๋ค. ์ด์ ์๋ PC ๋คํธ์ํฌ์ ํ๋ฆฐํฐ ๋คํธ์ํฌ๊ฐ ๋ถ๋ฆฌ๋์์ง๋ง, ์ง๊ธ์ ์ด๋ฌํ ๋คํธ์ํฌ๋ฅผ ๋ถ๋ฆฌํ์ง ์๋ ๊ฒ์ด ๋งค์ฐ ์ผ๋ฐ์ ์ ๋๋ค. ์์์ ์ผ๋ก ๋ถํ์ํ ๊ณณ์ ์ฌ๋ฌ ๊ฐ์ ์๋ธ๋ท์ ๋ง๋ค์ง ์๊ณ ๋ชจ๋ ์ฅ์น๋ฅผ ํ๋์ ๋คํธ์ํฌ๋ก ๊ฒฐํฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ๋ชจ๋ ๋ผ์ฐํฐ์ "๊ณจ๋ " ์ค์ ์ ์ฉ. ์ ๊ฒ๋ค. ๋ง์ฝ ๋น์ ์ด ๊ณํ์ ์ธ์ ๋ค๋ฉด. ๋ชจ๋ ๊ฒ์ ๋ฐ๋ก ๊ณ ๋ คํ๊ณ ๋ชจ๋ ์ค์ ์ด ๋์ผํ์ง ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ฃผ์ ๋ชฉ๋ก๊ณผ IP ์ฃผ์๋ง ๋ค๋ฆ ๋๋ค. ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋๋ฒ๊น ์๊ฐ์ด ๋จ์ถ๋ฉ๋๋ค.
- ์กฐ์ง์ ์ธ ์ธก๋ฉด์ ๊ธฐ์ ์ ์ธ ์ธก๋ฉด๋งํผ ์ค์ํฉ๋๋ค. ๊ฒ์ผ๋ฅธ ์ง์์ ๊ธฐ์ฑ ๊ตฌ์ฑ๊ณผ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ "์๋์ผ๋ก" ๊ถ์ฅ ์ฌํญ์ ๋ฐ๋ฅด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ์ด๋ ๊ฒฐ๊ตญ ์๊ธฐ์น ๋ชปํ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํฉ๋๋ค.
๋์ ๋ผ์ฐํ ์ ํตํด์. ๊ตฌ์ญ ๋ถํ ์ด ๊ฐ๋ฅํ OSPF๊ฐ ์ฌ์ฉ๋์์ต๋๋ค. ํ์ง๋ง ์ด๊ฒ์ ์ํ๋์ ๋๋ค. ์ด๋ฐ ๊ฒ๋ค์ ์ ํฌ ์ํฉ์ ๋ง์ถฐ ์ค์ ํ๋ ๊ฒ ๋ ํฅ๋ฏธ๋กญ์ฃ .
์ ๊ฐ ๋ผ์ฐํฐ ๊ตฌ์ฑ์ ๊ฒ์ํ์ง ์์์ ํ๊ฐ ๋ ์ฌ๋์ด ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ ๋ ๋งํฌ๋ง ์์ผ๋ฉด ์ถฉ๋ถํ๋ค๊ณ ์๊ฐํ๊ณ , ๊ทธ ์ธ์๋ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ๋ฌผ๋ก ํ ์คํธ๋ ํ์ํ๊ณ , ๋ ๋ง์ ํ ์คํธ๊ฐ ํ์ํฉ๋๋ค.
์ํด์๋ ๋ชจ๋๊ฐ ๊ณํํ ํ๋ก์ ํธ๋ฅผ ์คํํ๊ธธ ๋ฐ๋๋๋ค. ์ ๊ทผ ๊ถํ์ด ๊ทํ์ ํจ๊ป ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!!!
์ถ์ฒ : habr.com
