분리 된 네트워크 케이블 또는 다운 서버를 시뮬레이트하는 방법은 무엇입니까?


14

netem으로 네트워크 대기 시간을 시뮬레이트 했으며 훌륭합니다. 이제 분리 된 네트워크 케이블을 시뮬레이트하고 서버가 다운 될 때를 시뮬레이션하려고합니다. 내 응용 프로그램을 쉽게 테스트하기 위해 이것이 필요하며 웹에서 나를 도울만한 것을 찾을 수 없었습니다. 내 서버는 가상 CentOS 인스턴스이며 Virtualbox에 있습니다. PHP 웹 페이지 에서이 작업을 수행하고 싶습니다.

답변:


17

인터페이스를 내리십시오. 예를 들어, eth0의 경우 :

ip link set eth0 down

인터페이스를 다시 불러 오려면 :

ip link set eth0 up

감사합니다. 여기
SafeY

1
그것은 성공적으로 작동하지만 ip link set eth0 up작동하지 않습니다 :( 그리고 나는 둘 다 필요합니다
SafeY

@NancySmith "작동하지 않습니다"는 의미가 없습니다. 어떤 오류 메시지가 발생합니까? IP와 넷 마스크를 할당 했습니까?
Chris Down

나는 ip link set eth0 downPHP를 통해 사용 하고 핑 내 서버에 연결할 수 없음을 보여줍니다. 그런 다음 다시 "위로"얻고 싶었 ip link set eth0 up습니다. PHP와 서버를 통해 여전히 다운되었습니다.
SafeY

3
@NancySmith (라우트 등을 사용하여) 연결하려는 모든 것에 액세스 할 수없는 다른 네트워크 인터페이스를 만듭니다. 해당 인터페이스를 사용하여 호스트에 SSH. SSH에 연결 하지 않은 인터페이스를 종료하십시오 .
Chris Down

7

SSH를 통해 연결하는 컴퓨터에서 가장 많이 투표 된 답변을 사용하면 네트워크가 중단되고 다시 가져올 수있는 방법이 없습니다. 다음은 SSH 연결 중에 시스템을 종료하고 다시 시작하는 방법입니다.

인터페이스를 사용하는 예 ens32:

당신이 실행하는 경우 :

ip link set ens32 down

그리고 SSH를 통해 연결하는 중입니다. 네트워크를 비활성화하여 서버에 SSH를 연결할 수 없으므로 다시 시작할 수 없습니다.

다음 스크립트를 사용하여 가동 중지 시간 20 초를 시뮬레이션합니다.

#!/bin/sh
ip link set ens32 down
sleep 20
ip link set ens32 up

downtime.sh로 저장하고 파일에 실행 권한이 있는지 확인한 후 다음을 실행하십시오.

sudo ./downtime.sh

1
좋은 물건. 또한 어떤 인터페이스를 다운 시킬지
Jeutnarg

1
음 ... 나는 리눅스 초보자이지만 여기에 나쁜 조언이 있다고 생각합니다.이 스크립트를 nohup하지 않으면 실행하면 세션이 종료되고 (연결 끊김으로 인해) 스크립트가 중지됩니다 ( 네트 인터페이스를 부활시키지 않습니다). 나는 nohup을 읽는 것이 가치가 있다고 생각합니다!
DraxDomax

@DraxDomax 당신이 말하는 것은 논리적으로 들리지만 다시는 나타나지 않는 데 아무런 문제가 없었습니다. 승인 된 답변에 문제가있는 반면.
Mocking

@Mocking 죄송합니다. 댓글을 편집 할 수 없습니다. 반드시 "나쁜 조언"은 아닙니다. 이 질문을하는 사람들의 90 %가 같은 일을하려고하기 때문에 실제로 좋은 사전 예방 적 답변입니다. "컴퓨터 연결이 끊긴 후에 소프트웨어가 작동하는지 테스트해야합니다. 가상화 호스트에 액세스 할 수 없습니다" . 실제로, 나는 당신의 스크립트에 의지했습니다 (내 어댑터는 br0였습니다)-그것은 내 경우 (MacOS에서 CentOS 로의 SSH)에서 작동하지 않았으며 우리 네트워크를 다시 불러 오기 위해 IT 담당자에게 전화해야했습니다.
DraxDomax

1

virtualbox 콘솔 창에서 Machine 메뉴가 아래로 당겨 져야합니다. 그 밑에는 몇 가지 행동이 있습니다. 그중 하나가 전원 끄기입니다. 즉시 전원을 끄려면이 중 하나를 선택해야합니다. 이것은 물리적 서버의 전원 코드를 잡아 당기는 가장 가까운 것입니다.


나는 웹 페이지에서 이것을하고 싶다. 확실히 나는 기계의 전원을 끄는 방법을 알고 있습니다.
SafeY

그리고 나는 그것을 가짜하고 싶지 않습니다. 실제로 종료 한 후 다시 부팅하지 마십시오.
SafeY

의 언급에 netem따르면, 문제는 실제로 전원 케이블이 아닌 서버에서 네트워크 케이블을 분리하는 것에 관한 것입니다 (분명하지는 않지만).
Chris Down

더 명확하게하기 위해 질문을 편집하겠습니다.
SafeY
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.