본문 바로가기
FortiGate/ETC...

Debug : 'No Session Match' 에러

by 에티버스이비티 2023. 9. 20.

 

Debug flow에서 'No Session Match' 에러가 표시되는 경우가 있다.

'SYN'이 아닌 packet에 대해 session 테이블에 session 정보가 없으면 나타나는 에러이다. (SYN 패킷은 session 테이블에 session을 새로 추가하게 된다)

세션의 모든 packet이 전송되기 전에 세션 테이블에서 세션이 없어졌기 때문에 발생하는 경우가 있다.

이는 'tcp-halfclose-timer'와 관련이 있다.

 

'tcp-halfclose-timer'는 한 쪽에서 FIN을 보내고, 상대편에서 응답이 없을 경우 'tcp-halfclose-timer'(기본 120초)를 기다렸다가 세션을 close 하게 된다. 이 시간이 지나서 세션이 close 된 후 해당 세션의 패킷이 FortiGate에 도달하게 되면  'No Session Match' 에러와 함께 packet은 drop 된다.

 

이를 해결하기 위해서 'tcp-halfclose-timer'을 늘릴수 있지만, global 설정을 변경하게 되면 FortiGate를 통과하는 모든 세션에 영향을 주어 유지하는 세션수가 늘어나게되고, 메모리 사용률이 높아진다.

따라서 해당 문제를 일으키는 port에 대해서만 설정하는 것을 권고한다.

 

위 예의 경우 TCP 8888 port에 대해 필요한 시간 만큼 늘린다. (최대 86,400초)

댓글