오류 발생 시 SSH를 통해 수행된 네트워크 구성 변경 사항을 어떻게 롤백합니까?

오류 발생 시 SSH를 통해 수행된 네트워크 구성 변경 사항을 어떻게 롤백합니까?

iptablesSSH를 통해 구성, 인터페이스 속도, 이중 설정을 변경 하겠습니다 . 호스트에 연결할 수 없는 경우 변경 사항을 롤백할 수 있는 가능성은 무엇입니까? 나는 그것이 간단하다고 생각한다:

ip addr add 10.10.10.1/24 dev eth0; ping -c1 8.8.8.8 || ip addr add 192.168.1.1/24 dev eth0

..IP 주소 변경 직후 SSH 연결이 끊어지면 쉘도 종료되고 ping -c1 8.8.8.8 || ip addr add 192.168.1.1/24 dev eth0해당 부분이 실행되지 않기 때문에 약간 위험합니다. crontab원격 호스트에 위험한 변경이 발생한 경우 사용해야 합니까? 영리한 방법 없을까요?

답변1

screen또는 세션 에서 tmux지연 후 변경 사항을 취소하는 셸을 설정하십시오. 나는 이것에 대해 아무것도 모르기 iptables때문에 아무것도 할 수 없지만 FreeBSD에서 라이브 방화벽 구성을 변경할 때 다음과 같은 것이 여러 번 나를 구해주었습니다.

# In one `screen` or `tmux` window
% sleep 60 && <command to reverse changes>

이제 다른 창에서 변경할 수 있으며 유효한 경우 kill 을 사용할 수 있습니다 sleep. 를 사용하고 있으므로 &&종료할 때 변경 사항을 취소하는 명령이 실행되지 않습니다 sleep.

변경 사항이 작동하지 않으면 종료 명령이 실행될 때까지 몇 초 정도 기다리십시오.

관련 정보