Linux에서 sMail 서버 연결이 자주 실패함

Linux에서 sMail 서버 연결이 자주 실패함

여기에 이미지 설명을 입력하세요.iredmailCentos6.5 시스템에 메일 서버 A가 구축되어 있습니다. 메일 서버에는 공용 IP aaa가 있습니다.

로컬 네트워크에는 Windows 운영 체제를 사용하는 메일 클라이언트가 약 40~50개 있으며 모두 공용 네트워크 ip ccc에 NAT됩니다(라우터 C는 Linux 시스템에 구축됨). 반면, 동일한 로컬 네트워크에서 Linux 시스템을 사용하는 시스템은 거의 없습니다. 그들 중 일부는 정기적으로 메일 서버에 연결할 수 없습니다.

예를 들어 Fedora 19가 설치된 데스크톱을 사용하여 메일 서버 443 포트를 사용하고 명령을 사용하여 telnet메일 서버에서 캡처합니다.tcpdump

15:16:55.144222 IP xxx.xxx.xxx.xxx.46989 > xxx.xxx.xxx.xxx.https: Flags [S], seq 939563650, win 29200, options [mss 1460,sackOK,TS val 23633360 ecr 0,nop,wscale 7], length 0
15:17:03.160282 IP xxx.xxx.xxx.xxx.46989 > xxx.xxx.xxx.xxx.https: Flags [S], seq 939563650, win 29200, options [mss 1460,sackOK,TS val 23641376 ecr 0,nop,wscale 7], length 0

하지만 Feodra 19와 동일한 허브에 있는 Windows 7을 사용하면 메일 서버 443 포트를 텔넷으로 연결합니다.

15:20:54.484991 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [S], seq 31344922, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
15:20:54.485034 IP xxx.xxx.xxx.xxx.https > xxx.xxx.xxx.xxx.49218: Flags [S.], seq 1361958840, ack 31344923, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
15:20:54.485558 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [.], ack 1, win 4380, length 0
15:20:55.685554 IP xxx.xxx.xxx.xxx.https > xxx.xxx.xxx.xxx.49218: Flags [S.], seq 1361958840, ack 31344923, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
15:20:55.686359 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [.], ack 1, win 4380, options [nop,nop,sack 1 {0:1}], length 0
15:21:05.122927 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [F.], seq 1, ack 1, win 4380, length 0
15:21:05.123193 IP xxx.xxx.xxx.xxx.https > xxx.xxx.xxx.xxx.49218: Flags [F.], seq 1, ack 2, win 115, length 0
15:21:05.123813 IP xxx.xxx.xxx.xxx.49218 > xxx.xxx.xxx.xxx.https: Flags [.], ack 2, win 4380, length 0

Windows 7과 Feodar 19는 모두 동일한 네트워크 환경에 있지만 Windows 7은 항상 성공하지만 Feodar 19는 가끔 실패합니다. 그러나 공용 IP bbb가 있는 Linux 서버 B를 메일 서버에 사용하면 telnet성공하고 결코 실패하지 않습니다. Linux가 동일한 소스 IP에 연결하는 데 문제가 있는 것은 아닌가 생각해봅니다.

Windows 로컬 네트워크 메일 클라이언트는 일반적으로 메일을 확인하기 위해 3분 간격으로 메일 서버에 연결합니다. 문제 해결에 도움이 될지 아닐지 모르겠습니다.

답변1

드디어 그 이유를 스스로 찾았습니다.
이 모든 이유는 다음과 같습니다.

net.ipv4.tcp_tw_recycle=1

Windows용 SYN 패킷에는 항상 타임스탬프 옵션이 없고
Linux용 SYN 패킷에는 항상 타임스탬프 옵션이 있기 때문에 메일 서버는 잘못된 타임스탬프가 있는 새 TCP/IP 연결 요청을 생성하지 않습니다.

관련 정보