#20/28 [매직미러 HowTo] / 스텝 3

2020. 11. 22. 17:54IT

고정 IP를 설정하기

  일반적인 네트워크 구성은 DHCP라고 해서 인터넷 주소인 IP 주소를 지정된 범위 내에서 임의로 지정을 하게 됩니다. 예를 들자면 192.168.1.25와 같은 IP가 내 컴퓨터에 할당이 되어있고 네트워크 마스크라는 것이 255.255.255.0이라고 한다면 IP의 맨 끝에 25라는 숫자가 있는 부분이 1~255까지 사용될 수 있습니다. 즉 192.168.1.1에서 192.168.1.255까지가 범위가 됩니다.  

지금까지 따라하기를 통해서 쭉 이 책을 따라왔다면 고정된 주소가 아니라 접속할 때마다 자동으로 할당되는 주소를 사용했을 것입니다. 나중에 외부에서 매직미러를 직접 접속을 하여 제어를 하기 위해서는 고정된 주소가 필요합니다. 이런 인터넷 주소를 Internet Protocol 약어로 IP 주소라고 부릅니다. DHCP는 Dynamic Host Configuration Protocol의 약자이면 이와 반대되는 고정 IP는 Static IP라고 합니다.

 

  집안에서 인터넷을 사용하기 위해서는 공유기를 연결하게 되는데 공유기에 연결된 기기들은 모두 집안에서만 유효한 가상의 주소입니다. 유일하게 Wifi의 주소 정확하게는 모뎀 또는 라우터라고 부르는 기기의 주소만이 실제 외부에서도 인식이 되는 공인 IP 주소입니다.  

 

  그런데 제가 가지고 있는 기기가 가상 주소이거나 실제 주소이건 상관 없이 인터넷은 잘 됩니다. 잘 알려진 주소, 예를 들면 naver.com과 같이 알고 있는 주소를 내 기기에서 입력함으로써 연결이 되기 때문입니다. 그런데 우리집 밖에서 우리집 안에 있는 라즈베리파이의 주소를 알더라도 가상주소이기 때문에 우리집의 모뎀까지 밖에 접근을 할 수 없습니다.

 

  더군다나 집 안에 있는 라즈베리파이가 Wi-Fi에 접속할 때마다 IP 주소가 바뀐다면 밖에서 집 밖에서는 알 수 있는 방법이 전혀 없겠죠. 그래서 가상 IP 주소이지만 고정을 시켜주는 것입니다. 이것을 고정 IP를 설정한다고 합니다.

그래서 라즈베리파이의 주소가 고정이 되면 

 

라우터 주소 : 라즈베리파이의 포트 번호

 

와 같은 형식으로 표현을 합니다. 현재 자신의 IP 주소가 192.168.1.5라고 하면 이 주소는 공인 IP가 아니기 때문에 외부에서는 접속을 할 수 없습니다. 공유기 혹은 라우터라고 외부에서 들어오는 인터넷 선이 꼽혀 있는 기기의 IP는 공인 IP이기 때문에 외부에서 접속을 할 수 있습니다. 그래야 이통사에서 우리 가정에 있는 기기를 인식할 수 있겠죠. 공유기의 IP 주소를 편의상 172.168.1.25라고 하고, 라즈베리파이의 IP를 192.168.1.5라고 하면 공유기의 설정을 다음과 같이 할 수 있습니다. 공유기마다 설정하는 방법이 다르기 때문에 방법은 구글링을 해 보시기 바랍니다. ‘포트포워딩’이라고 검색하시면 찾으실 수 있습니다. 다시 돌아와서 공유기의 공인 IP인 172.168.1.25에 5000번 포트를 요청을 받으면 192.168.1.5로 연결하도록 하라고 공유기에 설정이 필요한거죠. 포트 번호는 0에서 65535까지 사용할 수 있고 이미 사용되고 있는 포트 번호들이 있어서 저는 주로 5000번대를 사용합니다. 그래서 외부에서 라즈베리파이에 접속하기 위해서는 172.168.1.25:5000와 같이 접속을 할 수 있다는 것입니다. 


인터넷 주소 정보 확인

  많이 어렵죠. 라즈베리파이 주소를 외부에서 인식하는 이유는 뒷편에서 확인하실 수 있습니다. 이제부터 고정 IP를 설정해 보도록 하겠습니다. 우선 라즈베리파이에서 현재 할당된 IP 주소를 알아보기 위해서는 터미널에서 다음과 같이 ifconfig를 입력을 합니다.

 

pi@raspberrypi:~ $ ifconfig

eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        ether dc:a6:32:81:72:d9  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (Local Loopback)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.1.58  netmask 255.255.0.0  broadcast 192.168.255.255

        inet6 fe80::dea6:32ff:fe81:72da  prefixlen 64  scopeid 0x20<link>

        ether dc:a6:32:81:72:da  txqueuelen 1000  (Ethernet)

        RX packets 12565  bytes 7615072 (7.2 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 9976  bytes 2739656 (2.6 MiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


pi@raspberrypi:~$

 

라즈베리파이의 무선랜을 고정 IP로 지정을 할 것인데 무선랜에 해당하는 것이 wlan0입니다. 

 

고정 IP를 지정할 때 필요한 정보는 총 4개로 지정할 IP, Gateway와 주 DNS 및 보조 DNS 입니다. 앞의 ifconfig 결과의 세 블럭 중에서 맨 아랫부분이며 현재 라즈베리파이의 IP는 192.168.1.58 입니다. 다음은 Gateway 정보를 얻기 위해서는 다음과 같이 route 명령을 통해서 볼 수 있습니다.

 

pi@raspberrypi:~ $ route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

default         192.168.1.254    0.0.0.0         UG    303    0        0 wlan0

192.168.1.0      0.0.0.0         255.255.255.0   U     303    0        0 wlan0

pi@raspberrypi:~$

 

  마지막으로 DNS는 각 가정에 있는 인터넷 라우터에 접속을 해서 찾거나 인터넷을 검색해서 두 개의  DNS를 찾아 하나는 주 또 다른 하나는 보조로 설정을 하면 됩니다. 


터미널에서 IP 설정하기

  $sudo nano /etc/dhcpcd.conf

 

위와 같이 파일을 열고서 다음과 같이 파일의 맨 아래에 추가를 해 줘야 합니다. 여기서는 유선 네트워크 eth0과 무선 네트워크 wlan0를 각각 지정해 주었습니다. nano 에디터는 처음으로 사용하게 되는 에디터인데요. 상단에 보이는 메뉴들은 터미널의 메뉴입니다.  nano 에디터의 메뉴는 터미널 하단에 보여집니다. ^는 Ctrl 키를 의미합니다. 예를 들어 ^X는 Ctrl + X를 의미합니다. 

 

interface eth0

static ip_address=192.168.1.23/24

static routers=192.168.1.254

static domain_name_servers=168.126.63.1

static domain_search=168.126.63.2


interface wlan0

static ip_address=192.168.1.24/24

static routers=192.168.1.254

static domain_name_servers=168.126.63.1

static domain_search=168.126.63.2



쉬운 고정 IP 설정

  터미널에서 파일을 직접 수정하는 방법도 있습니다만 다음의 방법으로도 설정을 할 수 있습니다. 상단 우측에서 인터넷 아이콘에서 마우스 오른쪽 버튼을 눌러 “Wireless & Wired Network Settings”을 선택하고 우측 그림과 같이 IP를 각각 입력해 줍니다. 아래의 IP 주소는 각자가 위의 명령에서 확인하신 주소로 넣으셔야 합니다. 

 

 

그림 137. 고정 IP 설정하기

 

이제 라즈베리파이를 시작할 때마다 언제나 동일한 IP가 설정이 되게 됩니다.

 

반응형

'IT' 카테고리의 다른 글

#22/28 [매직미러 HowTo] / 스텝 3  (3) 2020.11.23
#21/28 [매직미러 HowTo] / 스텝 3  (11) 2020.11.23
#19/28 [매직미러 HowTo] / 스텝 3  (0) 2020.11.22
#18/28 [매직미러 HowTo] / 스텝 3  (23) 2020.11.22
#17/28 [매직미러 HowTo] / 스텝 2  (0) 2020.11.22