패킷 삭제, 대기 시간 발생, 데이터 손상을 위해 라우터 구성


13

네트워크를 통해 요청을 보내거나받을 때 성능이 저하되도록 설계된 환경을 설정 한 경험이있는 사람이 있는지 궁금합니다. 응용 프로그램을 개발 중이며 성능이 매우 떨어지는 네트워크에서 강력하게 만들고 싶습니다. 라우터를 다음과 같이 구성 할 수 있는지 아는 사람이 있습니까?

  1. 간헐적으로 패킷을 삭제
  2. 패킷에서 간헐적으로 대기 시간 발생
  3. 패킷의 손상된 데이터 (TCP 계층이 이러한 유형의 문제를 포착하므로 패킷을 열고 데이터를 변경하며 체크섬을 업데이트해야하므로 필요하지 않음)

라우터에서 가능하지 않은 경우 컴퓨터가 라우터 역할을하도록 구성하고이를 수행 할 수 있습니까?

많은 감사합니다!

답변:


17

Linux 상자를 라우터로 사용하는 경우 netfilter는 패킷 트래픽을 망칠 수있는 여러 가지 방법이 있습니다.

random모듈은 패킷을 무작위로 삭제하는 데 사용할 수 있습니다. 예를 들면 다음과 같습니다.

iptables -A FORWARD -m random --average 10 -j DROP

라우터가 평균 10 %의 속도로 무작위로 패킷을 삭제하게합니다.

XOR 대상으로 임의의 패킷을 손상시킬 수도 있습니다. 예 :

iptables -A FORWARD -m random --average 1 -j XOR --key "junktoxortomypacket"

주어진 문자열에서 파생 된 키를 사용하여 전달 된 패킷의 1 %를 손상시킵니다.


대단해! 고마워 스티븐! 이것을 설정 한 적이 있습니까? 어떤 리눅스 배포판?
Mark

데비안을 사용하여 소규모 네트워크 용 라우터를 만드는 데 성공했습니다. 그러나 netfilter가 커널에 내장되어 있기 때문에 최근 커널이있는 Linux 배포판은 거의 정상적으로 작동합니다. 여기에 설명 된대로 "나쁜"라우터를 만들려고 한 적이 없지만 게으른 일요일 오후에는 흥미로운 프로젝트 일 것입니다.
Steven Monday

iptables 버전 1.3.5를 사용하는 경우 위의 명령은 "iptables v1.3.5 :`random '과 일치하는로드 할 수 없습니다"라는 메시지와 함께 오류가 발생할 수 있습니다. 아래 명령이 나를 위해 일했습니다-iptables -A FORWARD -m statistic --mode random --probability 0.2 -j DROP
prashantsunkari

3

나는 독일과 인도 사이의 WAN의 네트워크 조건을 시뮬레이션하기 위해 WANem 을 성공적으로 사용 했습니다 . WANem은 부팅 가능한 CD 또는 가상 어플라이언스로 제공됩니다. 부팅하고 원하는 네트워크 속성을 구성한 다음 트래픽을 라우팅하면됩니다. 공식 설명 인용 :

WANem은 광역 네트워크 에뮬레이터로, LAN 환경에서 응용 프로그램을 개발 / 테스트하는 동안 광역 네트워크 / 인터넷의 실제 경험을 제공하기위한 것입니다. 일반적으로 응용 프로그램 개발자는 LAN에서 응용 프로그램을 개발하지만 클라이언트의 목적은 WAN 또는 인터넷을 통해 동일한 응용 프로그램에 액세스하는 것입니다. 따라서 WANem을 사용하면 응용 프로그램 개발 팀이 네트워크 지연, 패킷 손실, 패킷 손상, 연결 끊기, 패킷 순서 변경, 지터 등과 같은 WAN 특성을 시뮬레이션하는 데 사용할 수있는 투명한 응용 프로그램 게이트웨이를 설정할 수 있습니다. WANem을 사용하여 넓은 영역을 시뮬레이션 할 수 있습니다 데이터 / 음성 트래픽의 네트워크 조건이며 널리 허용되는 GPL v2 라이센스에 따라 릴리스됩니다.


2

가능하면 업 링크 포트를 10Mbps 및 반이중으로 설정하십시오. 그런 다음 네트워크의 호스트를 사용하여 코딱지를 ping합니다. 그것은 당신에게 적당하게 중립해야합니다 : D


핑의 패킷 크기도 기본값보다 상당히 크게 설정하십시오. 포화 / 일반적으로 불량한 네트워크 링크를 시뮬레이트하는 효과적이고 쉬운 방법입니다. 대역폭을 의도적으로 '공격'시스템보다 낮게 설정하여 명시한대로 특정 연결을 손상시킬 수있는 경우.
Andrew Barber

당신은 또한 MTU를 망칠 수 있습니다, 실제 홀수 볼 크기를 선택하십시오 :)
SpacemanSpiff
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.