한 인터페이스에서 다른 인터페이스로 IP 주소를 이동해야 할 때 일반적으로 ip addr flush dev eth0; ip addr add 10.10.10.181/26 dev eth0.35
SSH 세션을 통해 수행합니다. 지금까지 연결이 끊어진 적이 없지만 ip addr flush dev eth0
원격 시스템에 도달하기 전에 명령을 실행하는 것이 이론적으로 가능합니까? ip addr add 10.10.10.181/26 dev eth0.35
이것이 SSH 구성에 어떤 방식으로 의존합니까?
답변1
를 누르면 Enter전체 명령이 이미 원격 컴퓨터에 있습니다.
이로 인해 연결이 끊어지지 않을 것이라는 보장은 없지만 지금까지 세션에 영향을 미치지 않은 이유는 시스템이 실제로 연결이 끊어지는 것을 알아차릴 시간이 없었기 때문입니다. 연결이 끊어진 동안 데이터를 수신하는 프로세스는 이를 인지할 수 있습니다.
현재 수행하는 작업보다 더 짧거나 빠르게 만드는 해결 방법은 없으며, 자주 수행하지 않는 한 1초 미만의 중단은 걱정할 가치가 없습니다.
답변2
이를 수행하는 올바른 방법은 세미콜론으로 구분하여 한 줄에 두 명령을 모두 실행하는 대신 이러한 명령을 간단한 쉘 스크립트에 넣고 원격 시스템으로 전송한 후 단일 원격 SSH 명령을 통해 스크립트를 실행하는 것입니다. 일반적으로 Julie가 말했듯이 걱정할 문제는 아니지만 그렇다고 완전히 안전한 것도 아닙니다.
또한 일부 네트워크 스위치는 동일한 IP 주소의 MAC 주소를 너무 자주 변경하는 것을 좋아하지 않습니다. 인터페이스가 일종의 집계 구성에서 실행되고 있으면 상황은 더욱 악화됩니다(여기서는 장애 조치 유형 또는 팻 파이프 유형 집계에 대해 이야기하고 있습니다).