๋จธ๋ฆฌ๋ง
์ง์์ ๊ฐ์ธ์ ์ธ ํ์๋ฅผ ์ํด ๊ฐ์ ๋ผ์ฐํฐ์ Ubuntu ์๋ฒ๋ฅผ ๋ฏธ๋์ด ์๋ฒ ๋ฐ ๊ธฐํ ์ฌ๋ฌ ๊ธฐ๋ฅ์ผ๋ก ์คํํ๋ VSphere๋ฅผ ์ค์นํ์ผ๋ฉฐ ์ด ์๋ฒ๋ ์ธํฐ๋ท์์ ์ก์ธ์คํ ์ ์์ด์ผ ํฉ๋๋ค. ํ์ง๋ง ๋ฌธ์ ๋ ๋ด ๊ณต๊ธ์๊ฐ ๋์ ์ํด ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ค๋ ๊ฒ์ธ๋ฐ, ์ด๋ ํญ์ ๋ ์ ์ฉํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค. ๊ทธ๋์ ddclient + cloudflare ์กฐํฉ์ ์ฌ์ฉํ์ต๋๋ค.
ddclient๊ฐ ์๋์ ๋ฉ์ถ ๋๊น์ง ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์์ต๋๋ค. ์กฐ๊ธ ๋๋ฌ๋ณธ ๊ฒฐ๊ณผ ๋ฌธ์ ๋ฅผ ์ฐพ๋ ๋ฐ ๋๋ฌด ๋ง์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๋ชฉ๋ฐ๊ณผ ์์ ๊ฑฐ๋ฅผ ์ฌ์ฉํ ๋๊ฐ ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ๊ฒฐ๊ตญ ๋ชจ๋ ๊ฒ์ด ์ ๋๋ก ์๋ํ๋ ์์ ๋ฐ๋ชฌ์ผ๋ก ๋ฐ๋์๊ณ ๋ค๋ฅธ ๊ฒ์ ํ์ํ์ง ์์ต๋๋ค.
๊ด์ฌ ์์ผ์ ๋ถ์ ๊ณ ์์ด์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค.
์ฌ์ฉ๋ ๋๊ตฌ ๋ฐ "์ฌ์ฉ ๋ฐฉ๋ฒ" ์๋ ๋ฐฉ์
๊ทธ๋์ ์ ๊ฐ cloudflare ์น์ฌ์ดํธ์์ ๊ฐ์ฅ ๋จผ์ ์์๋ธ ๊ฒ์ ์ฌ๋ฌ๋ถ์ด ์์์ผ ํ ๋ชจ๋ ๊ฒ์
๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ํผ๊ฐ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉ๋์์ต๋๋ค.
DNS ์ ๋ฐ์ดํธ์ ๋ํ ์ ์ค ํ๋๋ฅผ ์ ํํ๊ณ ๊ตฌ์ฑ ํ์ผ ์ฌ์ฉ๊ณผ ์์ญ ๋ด์์ ์ฌ๋ฌ A ๋ ์ฝ๋๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค. ๋ฌผ๋ก ์์ญ ์๋ ๋ฌด์ ํ์ ๋๋ค.
๋ ผ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์คํฌ๋ฆฝํธ๋ ๊ตฌ์ฑ ํ์ผ์์ ์์ญ ๋ชฉ๋ก์ ์์ ํ๊ณ ์ด๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
- ๊ฐ ์์ญ์์ ์คํฌ๋ฆฝํธ๋ A ๋๋ AAAA ์ ํ์ ๊ฐ DNS ๋ ์ฝ๋๋ฅผ ๋ฐ๋ณตํ๊ณ ํด๋น ๋ ์ฝ๋๋ก ๊ณต์ฉ IP๋ฅผ ํ์ธํฉ๋๋ค.
- IP๊ฐ ๋ค๋ฅด๋ฉด ๋ณ๊ฒฝํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ๋ฃจํ ๋ฐ๋ณต์ ๊ฑด๋๋ฐ๊ณ ๋ค์ ๋ฐ๋ณต์ผ๋ก ์ด๋ํฉ๋๋ค.
- ๊ตฌ์ฑ์ ์ง์ ๋ ์๊ฐ ๋์ ์ ์ด ๋ญ๋๋ค.
์ค์น ๋ฐ ๊ตฌ์ฑ
์๋ง๋ .deb ํจํค์ง๋ฅผ ๋ง๋๋ ๊ฒ์ด ๊ฐ๋ฅํ ๊ฒ์
๋๋ค. ํ์ง๋ง ์ ๋ ์ด๊ฒ์ ์ํ์ง๋ ๋ชปํ๊ณ ๊ทธ๋ค์ง ์ด๋ ต์ง๋ ์์ต๋๋ค.
๋๋ README.md์์ ๊ทธ ๊ณผ์ ์ ๋งค์ฐ ์์ธํ๊ฒ ์ค๋ช
ํ์ต๋๋ค.
ํ์ง๋ง ๋ง์ฝ์ ๋๋นํด ์ผ๋ฐ์ ์ธ ์ฉ์ด๋ก ๋ฌ์์์ด๋ก ์ค๋ช ํ๊ฒ ์ต๋๋ค.
- python3 ๋ฐ python3-pip๊ฐ ์ค์น๋์ด ์๋์ง ํ์ธํ๊ณ , ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ค์นํฉ๋๋ค(Windows์์๋ python3-pip๊ฐ Python๊ณผ ํจ๊ป ์ค์น๋ฉ๋๋ค).
- ์ ์ฅ์ ๋ณต์ ๋๋ ๋ค์ด๋ก๋
- ํ์ํ ์ข
์์ฑ์ ์ค์นํฉ๋๋ค.
python3 -m pip install -r requirements.txt
- ์ค์น ์คํฌ๋ฆฝํธ ์คํ
๋ฆฌ๋ ์ค์ ๊ฒฝ์ฐ:chmod +x install.sh sudo ./install.sh
Windows์ ๊ฒฝ์ฐ: windows_install.bat
- ๊ตฌ์ฑ ํ์ผ ํธ์ง
๋ฆฌ๋ ์ค์ ๊ฒฝ์ฐ:sudoedit /etc/zen-cf-ddns.conf
Windows์ ๊ฒฝ์ฐ :
์คํฌ๋ฆฝํธ๋ฅผ ์ค์นํ ํด๋์์ zen-cf-ddns.conf ํ์ผ์ ์ฝ๋๋ค.
์ด๊ฒ์ ์ผ๋ฐ JSON ํ์ผ์ด๋ฉฐ ์ค์ ์ ๋ณต์กํ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ๊ธฐ์ 2๊ฐ์ ์๋ก ๋ค๋ฅธ ์์ญ์ ๊ตฌ์ฒด์ ์ผ๋ก ์ค๋ช ํ์ต๋๋ค.
์ค์น ํ๋ก๊ทธ๋จ ๋ค์ ๋ฌด์์ด ์์ต๋๊น?
Linux์ฉ install.sh:
- ํ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํ์ง ์๊ณ ๋ก๊ทธ์ธํ ์ ์๋ ๋ฐ๋ชฌ์ ์คํํ๊ธฐ ์ํด ์ฌ์ฉ์๊ฐ ์์ฑ๋ฉ๋๋ค.
sudo useradd -r -s /bin/false zen-cf-ddns
- /var/log/์ ๋ก๊ทธ ํ์ผ์ด ์์ฑ๋ฉ๋๋ค.
- ์๋ก ์์ฑ๋ ์ฌ์ฉ์๋ฅผ ๋ก๊ทธ ํ์ผ์ ์์ ์๋ก ๋ง๋ค๊ธฐ
- ํ์ผ์ ํด๋น ์์น(/etc์ ๊ตฌ์ฑ, /usr/bin์ ์คํ ํ์ผ, /lib/systemd/system์ ์๋น์ค ํ์ผ)์ ๋ณต์ฌ๋ฉ๋๋ค.
- ์๋น์ค๊ฐ ํ์ฑํ๋์์ต๋๋ค
Windows์ฉ windows_install.bat:
- ์คํ ํ์ผ ๋ฐ ๊ตฌ์ฑ ํ์ผ์ ์ฌ์ฉ์๊ฐ ์ง์ ํ ํด๋์ ๋ณต์ฌํฉ๋๋ค.
- ์์คํ
์์ ์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๊ธฐ ์ํด ์ค์ผ์ค๋ฌ์ ์์
์ ์์ฑํฉ๋๋ค.
schtasks /create /tn "CloudFlare Update IP" /tr "%newLocation%" /sc onstart
๊ตฌ์ฑ์ ๋ณ๊ฒฝํ ํ ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ ์์ํด์ผ ํฉ๋๋ค. Linux์์๋ ๋ชจ๋ ๊ฒ์ด ๊ฐ๋จํ๊ณ ์น์ํฉ๋๋ค.
sudo service zen-cf-ddns start
sudo service zen-cf-ddns stop
sudo service zen-cf-ddns restart
sudo service zen-cf-ddns status
Windows์ ๊ฒฝ์ฐ pythonw ํ๋ก์ธ์ค๋ฅผ ์ข ๋ฃํ๊ณ ์คํฌ๋ฆฝํธ๋ฅผ ๋ค์ ์คํํด์ผ ํฉ๋๋ค(C#์ผ๋ก Windows์ฉ ์๋น์ค๋ฅผ ์์ฑํ๊ธฐ์๋ ๋๋ฌด ๊ฒ์ผ๋ฆ ๋๋ค).
taskkill /im pythonw.exe
์ด๊ฒ์ผ๋ก ์ค์น ๋ฐ ๊ตฌ์ฑ์ด ์๋ฃ๋์์ต๋๋ค. ๊ฑด๊ฐํ๊ฒ ์ฆ๊ธฐ์ธ์.
๊ทธ๋ค์ง ์์์ง ์์ Python ์ฝ๋๋ฅผ ๋ณด๊ณ ์ถ์ ์ฌ๋๋ค์ ์ํด ์ฌ๊ธฐ ์์ต๋๋ค.
MIT ๋ผ์ด์ผ์ค๊ฐ ์์ผ๋ฏ๋ก ์ด ์์ ์ ์ํ๋ ๋๋ก ์ํํ์ญ์์ค.
์ถ์ : ๋๋ ๊ทธ๊ฒ์ด ์ฝ๊ฐ์ ๋ฒํ๋ชฉ์ผ๋ก ํ๋ช ๋์๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ๊ฐ๋ ฅํ๊ฒ ์ ์ญํ ์ ํฉ๋๋ค.
์
๋ฐ์ดํธ: 11.10.2019๋
17์ 37์ผ XNUMX:XNUMX
๋ฌธ์ ๋ฅผ 1๊ฐ ๋ ๋ฐ๊ฒฌํ๋๋ฐ, ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์๋ ค์ฃผ์๋ฉด ์ ๋ง ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.
๋ฌธ์ ๋ sudo python -m pip install -r ... ์์ด ์ข
์์ฑ์ ์ค์นํ๋ฉด ์๋น์ค ์ฌ์ฉ์์๊ฒ ๋ชจ๋์ด ํ์๋์ง ์์ผ๋ฉฐ ์ฌ์ฉ์๊ฐ sudo ์๋์ ๋ชจ๋์ ์ค์นํ๋๋ก ๊ฐ์ํ๊ณ ์ถ์ง ์๋ค๋ ๊ฒ์
๋๋ค. ์ ํํ์ง ์์ต๋๋ค.
์ด๋ป๊ฒ ํ๋ฉด ์๋ฆ๋ต๊ฒ ๋ณด์ด๋์?
UPD: 11.10.2019๋
19์ 16์ผ XNUMX:XNUMX ๋ฌธ์ ๋ venv๋ฅผ ์ฌ์ฉํ์ฌ ํด๊ฒฐ๋์์ต๋๋ค.
๋ช ๊ฐ์ง ๋ณํ๊ฐ ์์์ต๋๋ค. ๋ค์ ๋ฆด๋ฆฌ์ค๋ ๋ฉฐ์น ์์ ๋์ฌ ์์ ์
๋๋ค.
์ถ์ฒ : habr.com