재연결 시 NFS 클라이언트 소스 포트

재연결 시 NFS 클라이언트 소스 포트

NFS 클라이언트를 사용하여 NFS 클러스터에 연결하고 있습니다. 서버를 사용할 수 없을 때 기본 동작은 동일한 소스 TCP 포트에서 TCP 연결을 재시도하는 것인데, 이는 tcpdump로 확인한 것입니다(많은 SYN 패킷, 다른 시퀀스 번호, 그러나 동일한 소스 포트). 기본적으로 NFS는 권한 있는 포트(<1024)를 사용합니다. 제 경우에는 포트 940입니다.

어떤 이유로 인해 Azure Load Balancer(다른 로드 밸런서)에 문제가 발생합니다.질문). 그러나 옵션을 사용하여 noresvport(및 내보내기 사용 insecure) 공유를 마운트하면 NFS 클라이언트는 포트 >1024를 사용하므로 이제 모든 재연결 시도는 다른 TCP 포트에서 이루어집니다.

NFS 클라이언트는 SLES12 SP4이며 Oracle Linux 7.7에서 동일한 동작을 갖습니다.

NFS 서버는 SLES12 SP4를 기반으로 하는 HAE 클러스터입니다.

이 동작이 어딘가에 문서화되어 있습니까? 기본적으로 매번 동일한 포트가 사용되지만 사용할 때는 그렇지 않은 이유는 무엇입니까 noresvport?

답변1

중간에 L4(f5, 방화벽, 보안 어플라이언스) 장치가 있고 연결이 끊어지지 않았으며 SYN이 동일한 소스 포트에서 왔을 때 연결 테이블에 여전히 존재하는 상황이 있었습니다. 클라이언트는 소스 포트를 무작위로 지정하지 않으며 연결 테이블 항목을 활성 상태로 유지합니다.

일반적으로 NFS 서버가 충돌하고 RST가 호스트로 전송되지 않을 때 발생합니다. 우리 사람들은 모든 것에 대해 루트eq로 하드 링크를 사용하고 왜 계속 문제가 발생하는지 궁금해합니다.

관련 정보