OpenVPN 서버의 LAN 인터페이스로 터널링할 수 없는 이유는 무엇입니까?

OpenVPN 서버의 LAN 인터페이스로 터널링할 수 없는 이유는 무엇입니까?

직장과 집 사이에 OpenVPN을 설정했습니다. 사전 공유 키가 아닌 인증서를 사용하고 tun 모드에 있으며 제대로 작동합니다. 네트워크는 다음과 같습니다:

차트

트래픽을 주고받도록 올바른 경로가 설정되어 있고 클라이언트는 192.168.80.1(서버의 터널 IP) 또는 192.168.5.0/24(회사) 네트워크에서 어떤 것과도 통신하는 데 문제가 없습니다.

제가 겪고 있는 한 가지 문제는 클라이언트가 192.168.5.10(작업 네트워크에 있는 서버의 IP)과 통신하거나 핑할 수 없다는 것입니다.

iptables는 아무것도 차단하지 않습니다. 일부 OpenVPN 보안 설정이나 Linux 설정이 누락되었나요?

답변1

대답은 ping이 사용하기 때문일 수 있습니다.잘못된ICMP 패킷의 소스 IP입니다. 기본적으로 패킷의 아웃바운드 인터페이스에서 IP를 선택합니다. 귀하의 경우 직장 주소는 192.168.80.1, 집 주소는 192.168.80.10입니다.

다음을 시도해 보십시오:

ping -I eth0 <address>

답변2

마침내 내 문제를 알아 냈습니다. OpenVPN 자체와는 아무런 관련이 없으며, 위의 정보로는 해결이 불가능합니다. 다른 사람이 이 상황에 직면할 경우 결과는 다음과 같습니다.

내 OpenVPN 서버는 2개의 서로 다른 네트워크에 연결되어 있으며 2개의 서로 다른 OpenVPN 인스턴스를 실행하고 있습니다. 하나는 하나의 인터페이스를 수신하고 다른 하나는 다른 인터페이스를 수신합니다. 인터페이스 중 하나는 내 다이어그램(192.168.5.10)에 있지만 다른 하나는 없습니다. 192.168.4.10이라고 부르겠습니다.

이 작업을 수행하기 위해 "패킷의 소스 IP가 192.168.5.10이면 라우터 192.168.5.1로 보냅니다." 및 "패킷의 소스 IP가 192.168.4.10이면 192.168.4.10"이라는 정책 기반 라우팅 규칙이 있습니다. 이 라우터는 "192.168.4.1" 라우터로 전송됩니다. 이는 OpenVPN 연결이 설정되면 제대로 작동한다는 의미입니다.

문제는 터널 내에서 192.168.5.10을 ping할 때 반환 패킷이 동일한 PBR 규칙에 도달하고 터널을 통해 다시 돌아가는 대신 192.168.5.1로 전송된다는 것입니다. 내 PBR 규칙을 변경하면 이 문제가 해결되었습니다.

관련 정보