나이가 들면서 쉐어 혹은 정보 공유라는 개념이 점차 사라지고 있네요.
인터넷상에서의 공부와 배우고 싶은 것이 많이 있지만 어느덧 중년으로 진입을 안착하고
현재는 노후 준비로 인한 생업에 열심히 살고 있습니다.
다들 잘 지내시죠?
슬슬 글을 올리기 시작 할 예정이며, 현재 라즈베리파이 5로 업그레이드 할 예정입니다.
테스트는 완료 된 상태입니다.
나이가 들면서 쉐어 혹은 정보 공유라는 개념이 점차 사라지고 있네요.
인터넷상에서의 공부와 배우고 싶은 것이 많이 있지만 어느덧 중년으로 진입을 안착하고
현재는 노후 준비로 인한 생업에 열심히 살고 있습니다.
다들 잘 지내시죠?
슬슬 글을 올리기 시작 할 예정이며, 현재 라즈베리파이 5로 업그레이드 할 예정입니다.
테스트는 완료 된 상태입니다.
안녕하세요? JParker입니다.
이곳에 사용된 cloudflare.com과 연동해서 이용한 python 소스를 공개합니다.
import requests
import os
API_KEY = "Cloudflare에서 만든 api key"
EMAIL = "이메일 주소"
ZONE_ID = "DNS 존 ID"
# Cloudflare 도메인 정보 #
DOMAIN_NAME = "도메인명"
RECORD_NAME = "2차 도메인"
RECORD_ID = "도메인 ID"
def get_current_ip():
# 현재 공인 IP 주소 가져오기
response = requests.get("https://api.ipify.org?format=json")
data = response.json()
return data["ip"]
def update_cloudflare_dns(ip):
# Cloudflare DNS 레코드 업데이트
url = f"https://api.cloudflare.com/client/v4/zones/{ZONE_ID}/dns_records"
url = f"https://api.cloudflare.com/client/v4/zones/{ZONE_ID}/dns_records/{RECORD_ID}"
headers = {
"Content-Type": "application/json",
"X-Auth-Key": API_KEY,
"X-Auth-Email": EMAIL
}
params = {
"type": "A",
"name": f"{RECORD_NAME}.{DOMAIN_NAME}",
"content": ip
}
response = requests.put(url, headers=headers, json=params)
data = response.json()
if data["success"]:
print(f"DNS 레코드 업데이트 성공 - IP: {ip}")
os.system("cp -f /root/resolv.conf /etc/resolv.conf")
else:
print("DNS 레코드 업데이트 실패")
if name == "main":
try:
current_ip = get_current_ip()
print(f"현재 IP 주소: {current_ip}")
update_cloudflare_dns(current_ip)
except Exception as e:
print(f"오류 발생: {e}")
위와 같이 작성하셔서 ip.py 라고 만드시면 됩니다. 저의 경우 계속 dns가 바뀌게 되어 /root/resolv.conf 파일을 만들어 동작될 때마다 /etc/에 복사하도록 변경하였습니다. 여러분들도 더 멋지게 추가하면 될 거 같습니다.
이 파일을 작성한 이후에 sudo su – 하신 뒤 crontab -e 명령으로 아래와 같이 작성하시면 계속 5분 마다 동작되고 문제가 없다면 도메인이 계속 유지되는 것을 확인하실 수 있을 것입니다.
*/5 * * * * /usr/bin/python /root/ip.py 2>&1
더 궁금하신 사항이 있으시다면 댓글 부탁드릴께요~
이전부터 해당 도메인을 구입하였지만, 가장 비싼 서버를 사용했을 때는 2차 도메인만 유지하다가 이제 와서 급 메인 페이지를 열게 되었습니다.
root.so는 루트닷소라고 발음하시면 되구요. 주로 리눅스관련 글들을 올리게 될 것
같습니다.
현재는 리눅스 엔지니어가 아닌 시스템 엔지니어로 있기는 하지만. 리눅스는 오랫동안 해온 만큼 까먹지 않도록 하기 위함이라고 생각합니다.
물론, 향후에 이 부분은 업데이트가 되어야 겠지만 지금은 다시 시작한다는 마음으로 목표를 잡고 다시 시작 하려 합니다.
이곳은 "Rasberry pi 4 / 8G / 128G SD"로 운영되어지고 있으며, 제 개인적인 팁과 공부를 위하여 연동하였습니다. 궁금증이 있다면 이메일 ([email protected]) 이나 이곳에 글을 남겨주시기 바랍니다.
감사합니다.
2023.08.02