본문 바로가기
프로젝트 모음/HRI ROS Project

[Robotics][Proj 15] Raspberry pi CLI 환경 고정IP

by 하람 Haram 2023. 5. 23.
728x90

Turtlebot 같은 경우 계속 IP가 달라져서 불편한 상황을 겪었기에

Raspberry pi를 고정 IP를 사용하려고 한다

 

하지만 GUI가 아닌 CLI환경이기에 따로 정리를 하고자 한다

 

 

현재 OS, NET 정보 확인

 

본인 라즈베리파이 OS정보

uname -a
cat /etc/os-release

 

ifconfig

를 통해서 현재의 IP주소를 확인 하자

 

현재 상황 

wlan0 : 192.168.0.24 
netmask : 255.255.255.0
boardcast 192.168.0.255

 

그 다음 gateway주소를 확인하자

netstat -nr
gateway : 192.168.0.1

 

 

고정 IP 설정

고정 IP 설정 (dhcpcd.conf)

이제 설정을 위해서 다음 파일을 열어주자

sudo nano /etc/dhcpcd.conf

다음 과 같은 파일이 없는 경우

아래 dhcpcd.conf 없는 경우를 참고하자

The Raspbian released in May 2015 changed the way networking (and particularly WiFi) works.
‘This applies to the current Foundation releases of Raspbian Jessie and the last Raspbian Wheezy 2015-05-05’

(나는 없어서 패스 했다)

 

고정 IP 설정 (interfaces)

Ubuntu 리눅스 17.04 전 방식

dhcpcd.conf 없는 경우

sudo nano /etc/network/interfaces

를 열어서 아래를 추가해 주자

auto eth0
allow-hotplug eth0
iface eth0 inet static
  address 192.168.0.200
  netmask 255.255.255.0
  gateway 192.168.0.1

address 는 내가 주고싶은 고정  ip를 적으면 된다

auto ![인터페이스 이름!] : 부팅시 네트워크 인터페이스를 자동으로 올린다.
auto lo : 부팅시 루프백 장치를 올린다.
auto eth0 : 부팅시 eth0 장치를 올린다.
iface ![인터페이스 이름!] inet ![static|dhch!] : 인터페이스 이름의 네트워크 장치를 설정한다.
static | dhcp : static으로 할건지 dhcp로 올릴 것인지 결정한다.
address : IP 주소. dhcp일 경우 필요 없다.
netmask : netmask. dhcp일 경우 필요 없다.
gateway : default gateway. dhcp일 경우 필요 없다.
dns-nameserver : 기본 네임서버

그 다음 재부팅해준다

sudo init 6

 

(본인은 실패했다)

 

 

고정 IP 설정 (Netplan)

Ubuntu 리눅스 17.04 이후 방식

리눅스 17.10 부터 Netplan을 사용한다

cd /etc/netplan

에 들어가서 yaml파일을 열어주자 (yaml 파일의 이름이 다르다)

sudo nano *.yaml

지금 내 상황은

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes
      dhcp6: yes
      optional: true
    wifis:
      wlan0:
        dhcp4: yes
        dhcp6: yes
        access-points:
          wifi이름:
            password: wifi비밀번호

여기서 render에 적혀있는 networkd는

인터페이스를 관리하는 렌더러인데 networkManager와 networkd를 이용할 수 있다

networkManager : X Window 환경에서만 사용
networkd : 나머지

 

이를 고정 ip 로 바꾸기 위해서

위애서 etho 가 아닌 wifis를 static으로 바꾸면 된다

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: yes
      dhcp6: yes
      optional: true
    wifis:
      wlan0:
        dhcp4: no
        dhcp6: no
        addresses: [192.168.0.200/24]
        gateway4: 192.168.0.1
        nameservers:
          addresses: [ DNS 주소 ]
        access-points:
          wifi이름:
            password: wifi비밀번호

이렇게 바꾼 다음에

sudo netplan generate
sudo netplan apply

를 한다

 

여가서 네임서버란?

 

Nameserver

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=4717010&logNo=60210283728

 

쉽게 IP주소를 우리가 쓰는 URL 주소 (DNS)로 버꿔 주는 역할을 Nameserver가 해준다 

그래서 DNS 와 Nameserver를 혼용해서 사용한다

 

 

잘 적용되었는지 확인

10초 정도 뒤에

ifconfig

를 해주면 바뀐 것을 확인할 수 있다

 

이제

sudo nano ~/.bashrc

에 들어가서 HOSTNAME을 바꿔준다음

source ~/.bashrc

해주면 된다

 

 

 

 

 

참고자료

 

https://khstu-98.tistory.com/38

 

[Raspberry Pi 라즈베리파이] 고정 ip 설정하기

라즈베리파이를 매번 모니터에 연결하고, 키보드랑 마우스를 연결하고 ifconfig로 ip주소를 찾아보고 또 PuTTY로 접속하는게 너무 귀찮아서 IP를 고정 설정했습니다. 우선 ifconfig 명령어로 현재 ip주

khstu-98.tistory.com

 

https://erider.co.kr/142

 

라즈베리파이 3 유선랜 고정아이피 세팅

라즈베리파이 3 유선랜은 기본적으로 DHCP 서버에서 자동으로 아이피를 가져오도록 설정되어 있습니다. 그래서 대부분 인터넷공유기를 사용하는 가정에서는 랜 선을 연결만 하면 바로 사용할 수

erider.co.kr

https://power-of-optimism.tistory.com/142

 

[라즈베리파이]고정 IP 설정(CLI, GUI)

라즈베이파이4에 운영체제(OS)를 설치하면 유동 IP로 설정이 되어 있다 죽, DHCP로 부터 현재 사용하지 않는 IP를 할당받는 것이다 이 경우에는 Putty 또는 VNC Viewer 등을 사용하는 경우에 IP가 매번 변

power-of-optimism.tistory.com

https://www.joinc.co.kr/w/Site/System_management/NetworkConfiguration

 

리눅스 네트워크 설정

운영체제를 설치하면 가장 먼저 하는 일이 네트워크 설정이다. 내가 사용하는 운영체제는 오로지 리눅스이고, 배포판이라고 해봐야 Centos와 Ubuntu이니, 설정을 외우는게 그리 어렵지는 않을 것이

www.joinc.co.kr

https://powernote.tistory.com/11

 

728x90