
한 노드에서 다른 노드로 대량의 데이터를 전송할 때 macOS와 Linux 플랫폼의 불안정한 네트워크 환경에서 wireGuard라는 새로운 VPN 터널 프로토콜의 내구성을 관찰하고 싶습니다.
wireGuard는 UDP에서 작동하며 어느 정도 패킷 손실을 처리하는 방법을 알고 싶었습니다.
이 원격 복사 세션 중에 일정 비율의 패킷을 삭제하도록 네트워크 인터페이스를 설정할 수 있는 방법이 있습니까?
답변1
Linux의 경우 iptables
다음과 같습니다.
iptables -A OUTPUT -m statistic --mode random --probability 0.02 -j DROP
또는
iptables -A INPUT -m statistic --mode random --probability 0.02 -j DROP
노트:
위 명령은 테이블의 체인
OUTPUT
(또는INPUT
각각) 에서 처리되는 모든 패킷에 영향을 줍니다filter
. 특정 연결만 대상으로 하기 위해-p
(프로토콜) 및 (예 : 대상 포트) 를 사용하고 싶을 수도 있습니다 .--dport
iptables -A OUTPUT -p udp --dport 1234 -m …
다양한 변형을 테스트하는 동안 불필요한 규칙을 쌓는 대신 제거하는 것을 잊지 마세요. 규칙을 제거하려면 동일한
iptables …
명령을 호출하십시오.-D
단,-A
.
nftables
나는 잘 모른다 . 나는 이것을 발견했습니다 :확률에 따라 패킷을 삭제하는 방법은 무엇입니까 nftables
?
나는 macOS를 모른다조금도. 내 연구 pfctl
에서 나는 dnctl
. OSX에서 이것을 찾았습니다.패킷을 무작위로 삭제하는 방법. dnctl
요즘 macOS에서 사용할 수 있는 답변에 사용되는지 전혀 모르겠습니다 . 죄송합니다.
"macOS 부분"을 별도의 질문으로 이동합니다.apple.stackexchange.com), 여기서는 "Linux 부분"만 남겨두는 것이 좋은 전략일 수 있습니다.