본문 바로가기
AI(ChatGpt, Claude, ETC.)

라즈베리파이 설정하기

by 롬돌이 2026. 11. 4.
728x90

갑자기 서버를 만들어 보고 싶었다.

라즈베리파이에다가 서버를 만들고, 회사에 반고정ip가 있으니 거기다가 도메인 연결하고 테스트 해 보기로 했다.

용도는 앱이나 이더넷을 통해 임베디드 보드들이 보내는 데이터를 저장하고, 그래프로 보여주도록 하는 것이다.

임베디드에서 전력계측 IC의 데이터를 읽어서 보내주는 것을 먼저 테스트 해 본다.

 

일단 웹서버는 SSH를 이용해서 내부망으로 접속해서 설정한다.

 

1. D드라이브의 program 폴더의 xxx 폴더에 라즈베리파이용 테스트 코드들이 있는지 확인해 줘.
라즈베리파이로 7인치 LCD에 부팅하자 마자 이미지가 뜨도록 해 뒀는데, 그게 어느 코드인지 모르겠네?
그 거를 좀 찾아서 이미지 디스플레이하는 것을 탈출하고 싶은데말야.
그리고, 지금 웹서버를 라즈베리파이에서 돌리고 싶은데...

 

2. 라즈베리파이 IP와 계정을 알려줄 테니 SSH로 접속해서 자동실행 설정을 찾고 웹서버 설치까지 진행해줘.

 

SSH 키는 만들었습니다. 이제 라즈베리파이에 키를 등록하는 스크립트를 터미널 탭에서 실행하는 중입니다.

SSH 키는 만들었습니다. 그런데 이 키를 라즈베리파이에 등록하는 단계는 권한 정책에 막혀 제가 실행할 수 없었습니다. 원격 기기에 계속 접속할 수 있는 수단을 남기는 작업이라서, 사용자분이 직접 실행하셔야 하는 것으로 판정되었습니다.

 

라는 메시지가 나와서 pi key를 만들었음.이것도 안내를 해 줘서 했다.

& 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe' -ExecutionPolicy Bypass -File .\register_pi_key.ps1

 

3. 로그인을 하고, IP를 확인해 봤더니, 222.121.xxx.xxx와 같은 공인 IP와 192.168.0.101과 같은 사설 IP 번호가 나왔다.

공인 IP는 외부에서 접속이 가능한 것이고, 사설 IP는 WiFi로 연결되는 내부망을 이용하는 것이다. 라즈베리파이에 이렇게 이더넷 포트가 2개가 있네..SSH는 내부망으로 접속한다.

 

4. 웹서버를 부팅할 때 자동으로 실행시켜주고. 저 공인 IP를 이 라즈베리파이에서 그대로 사용할 수 없나? 이더넷 선을 뺐다 꽂으면 DHCP로 다시 바뀌는 것 같던데..???

웹서버는 이제 부팅할 때 자동으로 실행됩니다. 실제로 재부팅해서 확인한 것은 아니니, 다음에 재부팅하실 때 한 번 봐 주십시오. 공인 IP는 라즈베리파이에서 고정으로 설정하지 않는 편이 맞습니다. 이유는 아래에 정리했습니다.

 

조사해 보니 라즈베리파이의 이더넷(eth0)이 KT 회선에 공유기 없이 직접 연결되어 있습니다. 222.121.xxx.xxx는 KT DHCP 서버가 2시간 단위로 빌려주는 유동 IP입니다. 선을 뺐다 꽂으면 바뀌는 이유도 이것입니다.

라즈베리파이 설정에 이 IP를 고정으로 적어 넣는 것은 권하지 않습니다.

  • KT가 이 IP를 다른 가입자에게 다시 나눠주면 IP 충돌이 나서 양쪽 모두 인터넷이 끊길 수 있습니다.
  • 유동 IP 상품에서 IP를 임의로 고정하는 것은 KT 이용 약관에 어긋날 수 있습니다.
  • DDNS : IP가 바뀌어도 myboard.duckdns.org와 같이 이름으로 접속하도록 해 준다.무료, 보드 펌웨어에서 이름으로 접속할 수 있다.

5. 일단 외부 공인 IP는 막아주고, wlan0 사내망에서만 진행해줘.

 

공인 IP 쪽으로 들어오는 접속은 모두 막았고, 사내망(wlan0)에서만 접속되도록 해 두었습니다.

PC에서 확인한 결과

대상SSH (22)보드 포트 (5000)
공인 IP 222.121.xxx.xxx (eth0) 차단 차단
사내망 192.168.0.101 (wlan0) 접속 가능 접속 가능

 

 

6. 현재 설정

  • 보드 → 192.168.0.101:5000으로 데이터 전송
  • PC 브라우저 → SSH 터널을 켠 상태에서 http://127.0.0.1:8000

 7. 외부 접속 가능하게 만들기 및 도메인 연결

  • 222.121.25.152를 외부에서 접속할 수 있도록 하고 싶고, 일단은 보내는 보드에서 ID, IP를 프레임에 포함시켜서 보낼 수 있도록 하고 싶어. ID 할당은 어떤 식으로 하면 좋을까? ID를 할당해 달라는 요청과 ID를 정해주는 것을 구현해 주면 안될까?
  • www.(내도메인).co.kr을 내가 소유하고 있는데, 이 라즈베리파이 보드를 이 주소로 정의하고, 현재 보여주는 페이지를 이 주소에 연결시키고 싶어.
  • 방화벽은 세워두고 싶고, 인증된 IP만 접근하도록 해 주고 싶어. 인증 IP는 수동으로 입력할 수 있도록 해 주고.(일단은...나중에는 자동으로...)

진행 전 확인한 사항을 정리하면, www.(내도메인).co.kr은 현재 블로그 포워딩에 사용 중이고 라즈베리파이로 전환 시 그 연결이 끊어지며, 공인 IP가 KT 유동 IP라 변경되면 도메인 연결이 끊길 수 있습니다. HTTPS 인증서 발급/갱신 시 필요한 포트 개방은 자동으로 처리하고, 나머지는 사용자분의 결정이 필요합니다.

DNS 상태
whoisdomain 자체 네임서버 4대(ns1~ns4)에 직접 물어봐도, www. (내도메인) .co.kr이 아직 예전 IP(115.85.180.39, 49.50.163.51)로 나옵니다. KT, Google, Cloudflare DNS도 같은 결과입니다. 캐시 문제가 아니라, whoisdomain 쪽에 변경이 아직 들어가지 않은 것입니다.

whoisdomain 관리 화면에서 아래 두 가지를 확인해 주십시오.

  • URL 포워딩(웹 포워딩)이 꺼져 있는지: 지금 보이는 두 IP는 포워딩 서버 주소입니다. 포워딩이 켜져 있으면 직접 입력한 A 레코드보다 우선 적용됩니다.
  • A 레코드 변경이 "저장/적용"까지 끝났는지: 업체에 따라 반영까지 몇 분에서 수십 분 걸릴 수 있습니다.

준비가 끝난 것

  • 80 포트: KT 회선이 막고 있지 않습니다. 외부에서 들어오는 것을 확인했고, 테스트 후 다시 닫았습니다. 인증서 발급에 문제없습니다.
  • 라즈베리파이에 nginx와 certbot 설치, HTTPS 설정 파일, 방화벽 훅까지 준비해 두었습니다.

알려 주실 것

  • 연락 이메일 주소: 인증서 만료 경고 등을 받을 주소입니다.

포워딩을 끄신 뒤 이메일과 함께 말씀해 주시면, 네임서버에 새 IP가 나오는지 확인하고 바로 인증서 발급, nginx 활성화, HTTPS 접속 확인까지 진행하겠습니다. Let’s Encrypt 약관 동의는 이번 요청에서 확인받은 것으로 진행하겠습니다.

 

8. 도메인 연결

A 레코드에 IP를 직접 적어 두면 공인 IP가 바뀔 때마다 A 레코드도 다시 고쳐야 합니다. 바뀐 뒤 고치기 전까지는 도메인 접속이 끊깁니다. 인증서는 IP가 아니라 도메인 이름에 발급되므로 IP가 바뀌어도 다시 받을 필요는 없습니다.

 

IP가 실제로 얼마나 자주 바뀌는지
KT DHCP는 같은 장비(같은 MAC)가 lease를 계속 갱신하면 보통 같은 IP를 다시 줍니다. 잠깐 재부팅하거나 선을 뺐다 꽂는 정도로는 대개 유지됩니다. 오래 꺼 두거나 모뎀·회선 작업이 있으면 바뀔 수 있습니다. 다만 보장되는 것은 아니므로 자동화해 두는 것이 안전합니다.

 

해결 방법

A. Cloudflare DNS + 자동 갱신 (추천) whoisdomain에서 네임서버만 Cloudflare로 바꿉니다. 라즈베리파이가 몇 분마다 자기 공인 IP를 확인하고, 바뀌면 Cloudflare API로 A 레코드를 자동 수정합니다. 무료. Cloudflare 가입과 네임서버 변경이 한 번 필요합니다.

 

 

이런 식으로 해서 Cloudflare DNS를 자동으로 갱신해 주도록 해 두어 공인 유동 IP 가 바뀌어도 접속이 가능하도록 해 두었다.

라즈베리파이의 프로그램과 이 도메인 설정 관련 해서는 모두 AI가 진행하였다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

와 같이 웹페이지를 AI를 이용해서 라즈베리파이에 설정하였다.

'AI(ChatGpt, Claude, ETC.)' 카테고리의 다른 글

VS Code 설치 방법  (0) 2026.04.09
Claude code 설치 과정  (0) 2026.04.09
HEX 파일 비교 프로그램  (0) 2026.03.17
글자를 음성으로 변환  (0) 2026.03.13
[AI] Synology NAS와 Redmine의 저장소 맵핑  (0) 2026.02.26