Linux는 다른 장치에서 패킷을 받으면 패킷을 삭제합니다.

Linux는 다른 장치에서 패킷을 받으면 패킷을 삭제합니다.

문제 설명:

VPN 클라이언트와 홈 서버 간에 VPN 연결을 설정할 때 방화벽(pfSense)을 통과하거나 직접 연결되면 연결이 제대로 작동합니다.

그러나 VPN 클라이언트가 홈 서버에 직접 연결을 설정하고 응답이 방화벽 pfSense를 통과하는 경우 VPN 서버는 LAN 인터페이스(eth0)에서 VPN 인터페이스(tun0)로 패킷을 라우팅하지 않습니다.

이유를 아시나요?


첫 번째 예가 좋다:직접 연결로:

이동: VPN 클라이언트 => VPN 서버 => 홈 서버

반환: 주 서버 => VPN 서버 => VPN 클라이언트


두 번째 예가 좋다:두 개의 아크로 방화벽(pfSense)과 연결됨:

이동: VPN 클라이언트 => VPN 서버 => 방화벽 pfSense => 홈 서버

반환: 주 서버 => 방화벽 pfSense => VPN 서버 => VPN 클라이언트


세 번째 예는 작동하지 않습니다:처음에는 직접 연결한 후 accros 방화벽(pfSense)을 사용하세요.:

이동: VPN 클라이언트 => VPN 서버 => 홈 서버

반환: 주 서버 => 방화벽 pfSense => VPN 서버 => VPN 클라이언트


IP 목록:

홈 서버: 192.168.100.50

방화벽 pfSense: 192.168.100.20

VPN 서버: 192.168.100.40(인터페이스: eth0) 및 10.8.0.1(인터페이스: tun0)

VPN 클라이언트: 10.8.0.6


노트: 첫 번째와 두 번째 예에서 tcpdump를 수행하면 eth0 및 tun0에서 패킷이 반환되는 것을 볼 수 있습니다. 하지만 세 번째에서는 tun0의 반환 패킷이 보이지 않고 eth0에서만 보입니다.

가설:이는 다른 장치에서 돌아올 때 패킷이 삭제되는 것과 같습니다.

감사해요.

답변1

해결하다!

"부동 규칙"을 추가하기만 하면 됩니다. 이 규칙에서는 "상태 유형"으로 "없음"을 선택합니다.

"없음"은 "추적을 위해 상태 저장 메커니즘을 사용하지 않는 시스템입니다. 이는 특정 상황에서 고급 대기열을 수행하는 경우에만 유용합니다. 설명서를 확인하세요."

실제로 pfSense는 이전에 "SYN" 플래그를 수신하지 않았기 때문에 패킷을 삭제했습니다. 이는 네트워크가 비대칭 라우팅을 따를 때 발생하는 기본적이고 일반적인 문제입니다.

관련 정보