최근 KT 인터넷 사용자들이 일부 HTTPS 사이트 접속시 TCP Reset 패킷을 전송받아 사이트에 접속하지 못하는 사태가 벌어지고 있다. 이유는 보안 장비에서 TLS Handshaking에 필요한 Client Hello 패킷을 가로채 SNI 필드를 확인하여 Black List에 포함된 사이트라면 Reset 패킷을 보내는 일이 벌어지고 있기 때문이다.


이를 회피하기 위해 VPN, DNS over HTTPS, ESNI, DPI 무력화(GoodbyeDPI) 등 다양한 노력이 이루어지고 있는 것으로 알고 있다. 그 중 한가지가 바로 MTU 값 조절이다.


MTU는 Maximum Transmission Unit의 약자로 이더넷 전송 패킷의 최대 크기(Bytes)를 의미한다. 이 MTU 값을 500 이하로 조절하면 DPI를 우회할 수 있다는 소문이 있다. 실제로 우회가 되는지는 잘 모르겠다. 참고로 인프라 엔지니어들은 iscsi storage나 DB interconnect 등에 MTU 값을 9000으로(점보프레임) 올려서 사용해본 경험이 있을 것이다.


윈도우에서 MTU를 조절하는 방법은 예전에 포스팅한 적이 있다.


2012/01/18 - [윈도우 일반] - 윈도우 netsh 명령어로 MTU 값 변경하기


하지만 커맨드라인에 익숙하지 않은 일반 초보 사용자들을 위해 배치파일을 만들어보았다.


mtu_changer.cmd


위 파일을 다운로드 후 우클릭 해서 관리자 권한으로 실행하면 된다. 변경할 장치의 색인 번호와 원하는 MTU 값을 입력하고 y를 누르면 변경된다.



MTU를 너무 낮게 잡으면 인터넷 속도가 많이 느려질 수 있기 때문에 필요한 목적을 달성한 후에는 다시 기본 값인 1500으로 되돌리는걸 권장한다.


아마 조만간 이 방법도 더 강력한 보안 장비가 도입되면 막히지 않을까? 믿거나 말거나 필자는 그런 사이트에 접속해본 적도 없고 관심도 없지만, IT에 종사하는 입장에서 순수 기술적 호기심으로 배치파일을 만들어 보았다.


  • 2019. 02. 07. - 일부 576 이하 입력 안되는 환경을 위해 minmtu 값을 352로 수정하는 내용 추가