![iptables에서 syn 프록시와 connlimit 규칙을 함께 사용하는 방법은 무엇입니까?](https://linux55.com/image/46881/iptables%EC%97%90%EC%84%9C%20syn%20%ED%94%84%EB%A1%9D%EC%8B%9C%EC%99%80%20connlimit%20%EA%B7%9C%EC%B9%99%EC%9D%84%20%ED%95%A8%EA%BB%98%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
나는 syn 에이전트와 connlimit 규칙을 작성하고 싶습니다. 성능 문제로 인해 먼저 패킷을 Syn 프록시로 보내고 싶습니다.
이는 예시 규칙입니다.
#syn proxy rule
iptables -t raw -A PREROUTING -i eth1 -p tcp -m tcp --syn -j CT --notrack
iptables -t filter -A FORWARD -i eth1 -p tcp -m tcp -m state --state INVALID,UNTRACKED -j SYNPROXY --sack-perm --timestamp --wscale 7 --mss 1460
iptables -t filter -A FORWARD -i eth1 -m state --state INVALID -j DROP
#connlimit rule
iptables -t filter -A FORWARD -i eth1 -p tcp -m tcp --syn -m connlimit --connlimit-above 100 -j DROP
문제는 syn 패킷(연결을 여는 패킷)이 syn 프록시 규칙을 초과할 수 없기 때문에 connlimit와 일치할 수 없다는 것입니다. 나는 synproxy와 함께 사용할 수 있도록 connlimit를 작성하는 다른 방법을 찾고 있습니다.
답변1
동일한 규칙(브릿지의 synproxy)을 사용했지만 일반 tcp 요청이 작동하지 않는다는 것을 깨달았습니다. 즉, synproxy 규칙을 구현한 후 모든 syn 요청이 차단되었습니다. tcpdump를 사용하여 모니터링했습니다. 동기화 에이전트 규칙이 예상대로 작동하는지 궁금합니다.