iPad + Raspberry Pi 기반 개발환경 구축 #3. 이더넷을 이용하여 다이렉트 접속하기
인터넷이 되지 않는 곳에서 iPad와 Raspberry Pi가 이더넷을 이용하여 다이렉트 접속하는 방법을 소개한다. iPad에서 라즈베리 파이로 접속해 터미널 환경에서 라즈베리파이 Wi-Fi를 설정하는 방법을 소개한다.

Raspberry Pi는 기본적으로 보드에 Wi-Fi 칩셋이 있어 따로 무선랜 카드나 동글 없이 자체로 무선인터넷을 사용할 수 있다. 무선공유기만 근처에 있다면 Wi-Fi 공유기에 접속해서 인터넷을 할 수 있다. 이 때 SSID 를 확인하고 비밀번호를 입력해서 접속한다. Wi-Fi 접속은 최초 첫번째 접속시 한번 인증이 필요하며 이후 자동으로 접속이 가능하다. 우리가 사용하는 무선 기기들은 대부분 사용자 인터페이스로 화면을 통해 SSID를 확인하고 입력할 수 있다.
라즈베리파이를 간편하게 사용하기 위해 모니터 없이 설치하는 Raspberry Pi는 wifi에 접속되지 않는한 원격으로 접속을 할 수 없는 문제가 있다. 인증 받지 않는 Wi-Fi 존에 가서 라즈베리파이 무선 네트워크 설정을 하기 어렵게 된다. 이동할때 공용 wifi 같은 것을 사용하기 위해서는 라즈베리파이에 Wi-Fi 없어도 접속할 수 있는 방법이 필요하다. 이런 경우 Raspberry Pi 와 iPad의 Ethenert 환경으로 다이렉트로 접속할 수 있는 방법으로 접속할 수 있다. 이 글에서는 이더넷을 통해 iPad에서 Raspberry Pi로 접속하는 방법을 소개한다.
모니터 없이 라즈베리파이 설치할 때 (headless 방식) 라즈베리파이 운영체제를 설치하는 과정에서 무선 네트워크 설정하고 운영체제 이미지를 만든다.

설치할 때 설정한 wifi 접속 정보는 다른 Wi-Fi 존으로 가면 사용할 수 없기 때문에 접속할 수 없게 된다. Raspberry Pi 는 Wi-Fi에 접속할 수 없기 때문에 앞서 소개한 내용에서 SSH로 라즈베리파이로 접근을 할 수 없는 문제가 발생한다. 이러한 문제를 해결하기 위해서 이더넷(Ethernet)을 이용하여 라즈베리파에 다이렉트로 접속하는 방법과 Raspberry Pi 에서 Wi-Fi 접속에 필요한 SSID를 등록하는 방법을 소개한다.
iPad에서 ethernet 사용하기
iPad에서 인터넷을 사용하려면 흔히 iPad에 기본 제공하는 Wi-Fi 접속 방법을 사용하거나 셀룰러 모델인 경우 e-sim을 등록해서 사용하는 방법으로 인터넷을 사용한다. iPad 에서는 기본적으로 Ethernet를 사용할 수 있는 기능을 가지고 있다. USB-C 이더넷 어댑터를 iPad에 꽂게 되면 랜선을 이용해서 이더넷을 사용할 수 있다. iPad 기본 구성품에는 포함되어 있지 않지만 아래 그림과 같이 MacBook 에서도 같이 사용할 수 있는 USB-C 이더넷 어댑터를 사용해서 이더넷 연결이 가능하다.

만약 USB-C 포트를 사용하기 이전의 라이트닝 포트 iPad 모델을 사용한다면 다음과 같이 라이트닝용 이더넷 어댑터를 사용하면 iPad에서이더넷을 사용할 수 있다.

iPad와 Raspberry Pi 이더넷 연결
라즈베이파이는 기본적으로 이더넷 캐이블을 연결할 수 있는 포트를 지원한다.

이렇게 iPad 와 Raspberry Pi 두 디바이스를 이더넷 케이블을 이용해서 연결하면 두 디바이스 간에 이더넷 네트워크를 만들 수 있고, 각각 네트워크를 통해 접근이 가능하다.
iPad 에는 Belkin 의 USB-C to Ethernet Adapter를 이해하여 이더넷 케이블을 연결했고, Raspberry Pi 에는 기본적으로 이더넷 포트를 지원해서 이더넷 케이블을 연결할 수 있다. 이 때, iPad에서 라즈베리파이의 전원으로 공급하던 USB-C 케이블 대신에 이더넷 어댑터를 연결해야 한다. 그래서 라즈베리파이에 따로 외부 전원공급 장치로부터 전원을 공급해줘야 한다.

라즈베리파이를 사용하려는 목적은 간편한 휴대가 목적인데, 이렇게 이더넷 환경을 구성하면 항상 전원공급장치(전원 어댑터)를 따로 들고 다녀야한다. 이런 문제를 해결하기 위해서는 iPad 의 USB-C포트를 허브기 또는 전원공급을 같이 처리할 수 있는 이더넷 어댑터를 사용해야한다.
Belkin 의 USB-C to Ethernet + Charge Adapter를 사용하면 iPad에 이더넷 케이블을 연결하는 동시에 iPad에서 Rasbperry Pi로 USB-C를 통한 전원 공급을 함께 할 수 있게 된다. 그래서 따로 전원공급장치를 들고 다니지 않고 이 어댑터 하나만 있으면 간편하게 휴대하는 목적을 이룰 수 있다.

iPad에서 외부장치를 사용하기 위해서는 USB-C포트 하나 밖에 없기 때문에 이런 구성을 할 수 밖에 없다. 동시에 더 많은 커넥션을 처리하기 위해서는 USB-C 포터 허브기를 사용해서 여러가지 외부장치를 동시에 사용할 수 있다. 우리는 간편하게 휴대할 수 있는 리눅스 환경을 목표하고 있기 때문에 가볍고 휴대하기 좋은 크기의 어댑터 하나를 사용하기로 한다.

iPad 이더넷 설정
iPad에 이더넷 어댑터를 연결하면 설정화면에서 Ethernet 항목이 나타나게 된다. Etherner 메뉴를 눌러 확인하면 iPad에 연결되어 있는 이더넷 어댑터가 보인다. Belkin USB-C to Ethernet Adapater를 사용할 경우 아래 그림과 같이 보이게 되고, USB-C to Ethernet + Charget Adapter 경우에는 또 다른 이름으로 보일 수 있다. 다른 써더파티 이더넷 어댑터를 사용하면 또 다른 이름으로 보일 수 있지만, 설정하는 방법은 모두 같다.

iPad에 연결되어 있는 어댑터 목록을 보고 선택해서 이더넷 설정을 하면 된다. 기본적으로 Configure IP 방식이 Aotomatic으로 되어 있는데, Raspberry Pi 와 이더넷 환경을 만들기 위해서 고정 IP 방식으로 설정을 변경하고 IP Address 와 Subnet Mask 속성에 값을 아래와 같이 입력하고 저장한다. IP Address는 자신이 원하는 네트워크 주소를 지정하면 된다. 이 자료에서는 192.168.2.x 로 저장했지만, 10.0.0.x 또는 123.0.0.x 등 사설망으로 사용하기 때문에 어떤 IP를 지정해도 상관없다.

Raspberry Pi 이더넷 설정
라즈베리파이 이더넷 설정은 조금 더 복잡하긴 하지만 한번 설정하면 다음 설정부터는 라즈베리파이로 다이렉트로 접속하기 때문에 간편해진다. 소개하는 방법은 라즈베리파이에 모니터를 연결하지 않고 headless 방법으로 설정하는 방법을 소개한다. (만약 라즈베리에 모니터를 연결하고 물리적 키보드와 마우스를 가지고 설치한다면 그렇게 진행해도 된다)
우선 라즈베리파이에 Wi-Fi 로 접속할 수 있는 공간에서 작업을 해야한다.
라즈베리파이의 이더넷 설정을 하기 위해서 라즈베리파이에 접속해야하는데, 최초 설치때 Wi-Fi 설정을 한 곳에서 무선 인터넷을 통해 SSH를 이용해서 접하해야하기 때문이다. Blink 앱을 열어서 SSH 로 라즈베리파이로 접속한다.
ssh pi@raspberrypi

라즈베리파이에 이더넷 케이블이 연결된 상태에서 현재 라즈베리파이의 네트워크 인터페이스 설정이 어떻게 되어 있는지 확인하기 위해서 다음 명령어를 입력해서 확인한다.
ifconfig

라즈베리파이에서 기본적으로 이더넷 설정은 자동으로 되어 있다. 라즈베리와 iPad가같은 네트워크에 연결하기 위해 이더넷 설정을 iPad와 같은 네트워크 주소 범위로 수정해야한다. 라즈베리파이에서 NetworkManager Terminal UI로 설정하기 위해 다음 명령어를 입력한다.
sudo nmtui

Edit a connection을 선택한다. 화면이 전환되면서 Ethernet 과 Wi-Fi 메뉴가 나타난다. Ethernet에 기본적으로 생성된 Wired connection 1 이라고 등록된 프로파일을 선택하고 Edit를 선택한다. 만약 이더넷 프로필이 다른 이름이거나 보이지 않을 경우 Add를 선택해서 이더넷 프로필을 새로 만들고 진행하면 된다.

Edit Connection 네트워크 프로필 수정창이 나타난다. 이 때 IPv4 CONFIGURATION 항목을 보면 Automatic 으로 되어 있는것을 확인할 수 있다.

IPv4 CONFIGURATION에서 Automatic이 선택되게 이동후 엔터를 치면 다음과 같이 IP를 설정하는 방법이 나오는데 Manual로 선택한다. 그리고 옆에 Show를 선택해서 IP 정보를 입력하면 된다.

네트워크 정보는 iPad와 동일한 네트워크로 설정한다. iPad에서 192.168.2.1 로 네트워크를 설정했기 때문에 라즈베리파이 네트워크는 다음과 같이 설정한다.
- Addresses : 192.168.2.2/24
- Gateway : 192.168.2.1
- DNS Severs: 8.8.8.8, 8.8.4.4

모든 설정을 저장하고 터미널로 돌아가서 네트워크 인터페이스가 제대로 설정되었는지 ifconfig
명령어를 사용해서 확인한다.

네트워크 정보 설정이 제대로 된 것을 확인하면 이제 이더넷 장치가 제대로 동작하도록 내렸다가 올려야 한다. 이 과정 대신에 라즈베리파이를 재부팅해도 되지만 간단하게 이더넷 서비스를 내렸다가 올리면 재부팅 없이 바로 적용이 가능하다.
sudo ifconfig eth0 down
sleep 10
sudo ifconfig eth0 up
이더넷 장치가 내렸다가 올라오면 iPad 기기로 ping을 보내어서 라즈베리파이와 iPad가 서로 네트워크 패킷을 주고 받을 수 있는지 확인한다.

iPad 에서 Raspberry Pi에 이더넷으로 접속하기
이제 iPad에서 라즈베리파이의 이더넷 IP로 접속이 가능한지 확인한다. iPad에서 Blink 앱을열어서 SSH로 라즈베리파이 이더넷 IP로 접속해보자
ssh pi@192.168.2.2

Raspberry Pi 에서 터미널로 Wi-Fi 설정하기
앞의 이더넷 설정으로 이젠 iPad와 라즈베리파이는 인터넷이 없는 공간에서도 서로 네트워크가 가능하다. 만약 Wi-Fi 존에서 라즈베리파이가 Wi-Fi를 사용하게 만들기 위해서는 SSID와 Password를 설정해야한다. 설정하는 방법은 앞에서 이더넷 설정을 하기 위해 사용한 sudo nmtui
명령어를 사용하면 된다.

결론

이젠 iPad 와 Raspberry Pi 만 있으면 어디에서도 인터넷을 사용할 수 있게 되었다. Wi-Fi 설정이 필요하면 이데넷으로 접속해서 SSID와 Password를 설정하고 Wi-Fi를 사용할 수 있고, iPad에서 전원까지 공급 가능해서 따로 전원공급 어댑터를 들고 다니지 않아도 된다.
참고
이 포스팅은 iPad와 Raspberry Pi 두 기기 사이의 네트워크 환경을 소개한 것이다. 이더넷 네트워크를 구성한다고 라즈베리파이에서 Wi-Fi 없이 iPad를 통해서 인터넷을 공유할 수 없음을 주의해야한다.
MacBook 에서는 인터넷 공유라는 기능이 있어 라즈베리파이에서 Wi-Fi 없이 이더넷 네트워크를 통해 MacBook 인터넷 공유를 사용해서 인터넷을 할 수 있지만, iPad에서는 네트워크 공유 기능을 지원하지 않는다. 다시 말해서 Raspberry Pi에서 Wi-Fi 기능을 사용해서 인터넷을 할 수 있으니, Wi-Fi 설정 변경할 때 iPad에서 라즈베리파이로 접속해서 라즈베리파이의 Wi-Fi 설정을 켜고 wlan0 인터페이스르 down/up해서줘 Wi-Fi를 사용할 수 있게 해줘 인터넷을 사용할 수 있다.
이젠 Wi-Fi 또는 인터넷이 안되는 곳에 가더라도 이젠 iPad에서 Raspberry Pi로 바로 접속해서 VSCode를 실행하고, Python 이나 Node.js 그리고 와서버와 데이터베이스를 라즈베리파이에서 바로 실행할 수 있거 오프라인 로컬 개발이 가능하게 되었다.
다음 포스팅에서 MacBook의 인터넷 공유 기능을 통해서 Raspberry Pi 에서 Wi-Fi 없이 인터넷을 사용하는 방법을 소개할 예정이다.
질문 및 의견을 남겨주세요 >