이전에 우리는 DuckDNS를 이용하여 DDNS 등록을 했었는데요.
오늘은 Home Assistant 외부 접속을 위하여 OpenWRT 설정을 하는 방법에 대하여 얘기해 보겠습니다.


해야 할 작업목록

  • Hassbian 의 IP 고정
  • 포트포워딩 


처음 해야할 작업은 Hassbian이 깔려있는 라즈베리파이의 IP를 고정하는겁니다.
IP는 이전에 설명했듯이 그 컴퓨터가 누군가를 판별해주는 주소의 역할을 하기 때문에 무조건 부여가 되어야 하는데요.
공유기는 외부(인터넷망)에서 IP를 부여받아서 내부에 인터넷이 가능하게 해줍니다. 
그리고 공유기에 연결된 기기(스마트폰,컴퓨터 등)에 내부에서만 판별 가능한 주소(IP)를 부여하는데 DHCP(Dynamic Host Configuration Protocol)라고 하는 방식을 이용하는데 IP가 고정이 되어 있지 않고 무작위로 분배를 하는 방식입니다.

우리는 이러한 무작위로 바뀌는 IP를 고정해보려고 합니다.
우선 공유기 설정 메뉴에서 네트워크 - DHCP와 DNS 로 이동하여 맨 아래로 내려가보면 Static Lease 가 있는데요. 

<LuCI DHCP 설정화면>


여기에 MAC 주소에서 hassbian.lan 이 적혀있는 걸로 선택을 합니다.
IPv4 주소는 페이지 위에 있는 Active DHCP 임대목록을 참고하여 hassbian에 해당하는 IP를 선택하면 됩니다.
그리고 저장 & 적용을 해주면 IP 고정이 완료가 됩니다.


이제 포트포워딩 작업을 해봅시다.
컴퓨터는 통신작업을 포트를 이용하여 하게 됩니다.
통신작업은 인터넷 웹페이지를 보여주는 웹서비스 뿐아니라 메일서비스, 프린트서비스 외부접속서비스 등 다양한대요.
기본적으로 웹서비스는 80, ssh는 22 등 이러한 포트명을 가지고 있습니다.
Home Assistant의 웹서비스도 포트가 따로 존재합니다. 바로 접속 주소 http://hassbian.local:8123 에 나와있는 숫자 8123 입니다.

이걸 공유기를 통해 외부에서 들어오는 통신을 받아서 보내주는 작업을 하게 될텐데요.

관리페이지 상단 메뉴의 네트워크 - 방화벽 으로 이동합니다.
그 페이지에서 Port Forwards 탭으로 이동하면 다음이 나오죠.
<LuCI 포트포워딩 설정화면>

밑에 New port forward 에 입력을 하면 됩니다.
이름은 원하는걸로 아무거나 적으면 됩니다.
프로토콜은 할얘기가 좀 있지만 여기서는 그냥 두도록 하죠.
External zone 과 Internal zone은 그냥 두면 됩니다. 
External port는 80을 입력해주고
Internal IP address는 Hassbian의 고정시킨 IP를 선택해줍니다.
Internal port는 HA의 포트인 8123을 입력하고 추가를 하면 모든 작업이 끝나게 됩니다.

이제 외부에서 DuckDNS에서 만들어준 주소로 접속을 하면 HA 홈화면이 나올 겁니다.
끝~!


여기서 한가지 좀 얘기하고 싶은게 있는데요. 80 포트는 웹서비스를 표시하는 대표적인 포트입니다.
따라서 난 외부에 내 페이지가 공개되는게 싫다라고 생각하거나 보안 상의 이유로 80포트가 아닌 다른 포트를 사용하는 경우도 많이 있습니다.
다만 다른 포트로 바꿔서 쓰는 경우에는 항상 주소 뒤에 포트번호를 입력해주어야 합니다.
예를 들어 DuckDNS로 만들어준 주소가 http://test.duckdns.org 이고 포트포워딩에서 포트를 8080으로 설정했다면
접속을 위해서 http://test.duckdns.org:8080 이라는 주소를 입력을 해야됩니다.


+ Recent posts