[해결] raspberrypi 2 putty(터미널에서)ip변경



  • ip관련 파일을 편집해서 ip를 변경하지 않고 터미널에서 직접 Command을 이용해서
    ip를 변경하는 방법이 있나요?
    sudo ifconfig eth0 192.168.x.x
    sudo ifconfig eth0 up
    이렇게 하면 변경은 되는데 rebbot하면 원상보귀되네요…ㅠ
    지금은 sudo nano /etc/dhcpcd.conf의 맨아래줄에 변경하고자하는 IP를 추가해서 변경하는데,

    Custom static IP address for eth0

    interface eth0
    static ip_address=192.168.0.100/24
    static routers=192.168.0.1
    static domain_name_servers=168.126.63.1
    터미널에서 commands를 이용해서 변경하고 싶거든요…
    부탁합니다.


  • Global Moderator

    @hipertech bash shell script 를 사용하면 가능하지만, 외부 조건이 고정적인 상황일 경우 입니다.

    주변 네트웍 환경이 바뀌면 쓸모가 없어지죠…



  • 감사합니다.
    외부조건은 고정적인 상황입니다. 로컬에서 사용하는 조건입니다.
    putty로 접속해서 로그인 후 어떻게 해야 좋을지요?
    부탁합니다.
    DHCP를 Disable 해서 ifconfig eth0 192.168.x.x up 하면 ip가 등록 안됩니다.
    bash shell script는 어떤 내용인지?
    터미널로 commands를 이용해서(관련내용을 편집하지 않는 형태) 주소를 바꾸려고 합니다.


  • Global Moderator

    @hipertech 셀 스크립트를 작성해서 자동으로 내용이 대치를 시킬 수 있습니다.

    그럼 gpio 버튼에 기능을 넣어 쉘 스크립트로 작성 하시면 되시지 싶네요

    sed 커맨드를 확인 하시면 됩니다.



  • import sys, time
    from socket import *
    
    udp_prot = 50000
    ip_address ='192.168.0.100'
    prot = '22'
    
    s = socket(AF_INET, SOCK_DGRAM)
    s.bind(('', 0))
    s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
    
    while 1:
     data = ip_address + 'is open port' + prot
     s.sendto(data, ('<broadcast>', udp_prot))
     time.sleep(2)
    

    파이썬으로 라즈베리에 통신프로그램을 설치해서 PC에서 검색하도록 코딩을 했습니다.
    검색은 되는데, 검색된 ip등을 라즈베리에 적용을 하려고 합니다.
    터미널에서 commands를 이용해서 ip변경을 할 수있다면 좀 쉬운데 제가 잘 몰라서요…
    난감하네요…결국에는 파이썬파일에서 해당파일(현재는 dhcpcd.conf)를 편집해야 할것 같은데,
    어렵네요…



  • 소켓통신방식으로 해결했습니다.
    라즈베리파이에 소켓서버를 설치하고 네트워크정보를 읽고 PC에 클라이언트를 설치하여
    IP를 설정하는 방식으로 해결했습니다.
    다른 대역도 물론 잘 됩니다.
    감사합니다.


  • Global Moderator

    @hipertech 오 멋지십니다.
    소중한 정보에 대한 별도의 포스트로 깅좌형태로 남겨주신다면 많을 분들께 도움이 되지 않을까 합니다.

    제가 생각했던 방안은 호스트 네임을 이용한 접속방식이였거든요



  • 감사합니다.
    호스트네임을 이용하는 방법도 있었군요…
    아무리 구글링을 해봐도 못찾겠더군요…
    정리해서 올리도록 하겠습니다.
    매번 감사합니다.


답글을 작성하기 위해 로그인
 

Rasplay Forum 사이트로의 연결이 끊어졌습니다. 다시 연결을 시도하는동안 잠시만 기다려 주십시오.