ip_conntrack 의 의미

무혼인형의 이미지

안녕하십니까.

redhat8 으로 서버(+masquerade게이트웨이)를 운영하고 있는데,
핑이 자꾸 끊어지는 것(Request timeout) 같아서 서버의 /var/log/messages 를 보니..
Nov 13 17:00:29 scom1 kernel: ip_conntrack: table full, dropping packet. 라고 나와 있네요..
그래서

# cat /proc/sys/net/ipv4/ip_conntrack_max
6???
# echo 10000 > /proc/sys/net/ipv4/ip_conntrack_max

로 수정 해 주니 그런 증상이 사라졌습니다.

1. 정확히 ip_conntrack 의 역할이 무엇 인가요?
2. table_max 값을 임의로 높여도 괜찮은 걸까요? (메모리에 영향은?)
3. table 을 flush 해도 괜찮을까요?

답변해주시는 분들께 미리 감사를 드립니다 :o

Saintlinu의 이미지

ip_conntrack이 iptables에서 현재 테이블에 등록된 IP의 연결을 추적하기

위한 것이라고 알고 있습니다.

ipchains 시절에 -M으로 Masquerading된 사설망을 Tracking했던것과

동일하게 보입니다.

conntrack table을 늘리면 메모리도 더 잡아 먹겠죠?

flush 시키면 기존의 연결이 끊어지지 않을까 하네요.

물론 내부 사용자가 얼마나 느끼는지는 protocol에 따라 다르겠지만요

ipchains 시절에 tracking time을 상당히 줄여본적이 있는데요

http를 제외한 다른건 상당히 불편했어요.

행복하세요 ^_^