나는 SSH(중요한 경우 0 W)를 통해서만 액세스할 수 있는 헤드리스 Pi를 다루고 있기 때문에 시도하기 전에 작동하는지 확인하고 싶었습니다.
Putty를 통한 액세스를 단순화하고 Pi에서 실행되는 사용자 정의 서버에 액세스하는 데 어느 정도 필요한 라우터에서 Pi에 대한 주소 예약을 설정했습니다.
문제는 이 주소가 처음에는 예약되지 않았기 때문에 내가 예약한 "비풀" 영역의 고정 주소가 아닌 풀의 다른 임의 주소에 있다는 것입니다. 인내심은 문제를 해결하지 못했습니다. 며칠 동안 주소를 변경하는 대신 해당 주소를 유지하는 데 머물렀습니다. 나는 라우터의 DHCP 서버가 12시간 또는 24시간과 같은 합리적인 임대 기간을 가지고 있다고 가정합니다.
분명히 임대를 해제하는 데 사용했다면 dhclient -r
현재 SSH 세션이 중단되어 유용성이 떨어지는 상태가 될 것입니다. 또한 위험에 처한 경우 dhclient -r
Wi-Fi 연결도 중단될 수 있습니다. 하단의 경고를 참조하세요.이 페이지더 알아보기.
nohup (dhclient -r -d && dhclient) &
따라서 루트 bash 세션에서 (a) 현재 임대를 종료한 다음 (b) 필요한 경우 WiFi를 다시 켜고 마지막으로 (c) 새 임대를 얻을 가능성은 얼마나 됩니까? 정확한 주소로.
내 추론은 사용이 nohup
SSH 세션에 문제가 있을 때 a를 받지 않는다는 것을 의미하고 SIGHUP
, 이를 백그라운드의 하위 쉘에 두는 것은 두 명령을 모두 실행할 가능성이 가장 높다는 것을 의미한다는 것입니다.
제가 고려한 또 다른 옵션은 nohup (dhclient -r && reboot) &
루트 bash 세션입니다. 여기서 논리는 시스템을 재부팅하면 WiFi 연결을 다시 설정한 다음 주소를 얻기 위해 DHCP 서버를 핑해야 한다는 것입니다. 사본을 보관하시기 바랍니다.
이 두 가지 모두 실패할 경우 임대를 해제 및 갱신하고 기본 주소에서 WiFi에 연결되어 실행 중인 시스템을 종료하려면 어떤 다른 옵션이 있어야 합니까? 최후의 수단으로 화면과 키보드를 연결하는 방법을 알아낼 수 있는지 확인할 수 있었지만 실제로는 그렇게 하고 싶지 않으며 꽤 큰 고통이 될 것입니다.
답변1
면책조항: 테스트할 수는 없지만 마지막 선택 단계에서만 영구 구성이 변경되므로 시스템을 재설정해야 하는 상황이 발생할 수 있습니다.
설명의 편의를 위해 다음과 같이 가정합니다.
- 무선 인터페이스는 wlan0이라고 합니다.
- 이전 주소는 192.168.1.242/24입니다.
- 새 예약은 192.168.1.2/24입니다.
모든 것은 루트로 실행되어야 합니다. 방법은 다음과 같습니다
예약된 주소를 사용하여 고정 IP 주소 추가: 예약된 주소이므로 누가 신경쓰나요?
ip address add 192.168.1.2/24 dev wlan0
~할 수 있게 하다
promote_secondaries
인터페이스에서(그렇지 않으면 IP LAN에 구성된 첫 번째 주소가 삭제되면 동일한 IP LAN의 다른 모든 주소도 삭제됩니다. 새 주소도 삭제됩니다)sysctl -w net.ipv4.conf.wlan0.promote_secondaries=1
또는:
echo 1 > /proc/sys/net/ipv4/conf/wlan0/promote_secondaries
새 주소를 사용하여 연결
ssh [email protected]
그리고 다시 루트가 됩니다. 이제부터 루트 셸의 새 연결을 계속 진행하세요.
DHCP 클라이언트가 종료되는 동안 어떠한 작업(인터페이스 종료 등)도 수행할 수 없도록 SIGKILL합니다.
다른 DHCP 클라이언트가 사용 중인지 또는 그 중 하나가 아직 실행 중인지는 확실하지 않습니다
dhclient
(일부 최소 구성에서는 임대 갱신이나 만료를 전혀 처리하지 않고 IP 주소를 한 번만 가져오고 종료할 수 있음).dhcpcd
udhcpc
pkill -e -KILL dhclient
또는
pkill -e -KILL dhcpcd
등.
혹은 명령어가 없다면
pkill
kill할 PID를 알아낸다(사용kill -KILL ...
).지금부터 더 이상 실행 중인 클라이언트가 없는지 확인하는 것이 중요합니다.
이전 주소를 수동으로 삭제합니다(이렇게 하면 새 주소도 삭제되지 않고 기본 주소로 승격됩니다).
ip address del 192.168.1.242/24 dev wlan0
선택 사항: 원하는 경우 구성을 고정 주소로 업데이트하거나 아무 작업도 수행하지 않습니다.
RaspberryPi Zero W 관련이라 마지막 단계는 어떻게 해야할지 모르겠습니다(데비안을 이용해서 하면 됩니다)위 아래라면구성이 있거나
/etc/network/interfaces
다르게 구성되어 있음). 그러나 어쨌든 변경 사항 없이 다음 (재)부팅 시 이 새 IP 주소로 새 임대를 사용하거나 실제 오류가 있는 경우 이전 버전으로 되돌아갑니다.DHCP가 처리되는 경우
dhclient
관련 파일을 삭제하여 임대 메모리를 지우면/var/lib/dhcp/dhclient*.leases
다음에 새로운 임대를 요청해야 합니다.dhcpcd
그럴 수도 있으니까/var/lib/dhcpcd/*.lease