OpenVPN이 잘못된 IP 주소를 사용합니다

OpenVPN이 잘못된 IP 주소를 사용합니다

클라이언트(NAT 라우터 뒤)와 VPS 서버에 OpenVPN을 설치했습니다. 터널이 설치되었습니다. 그러나 클라이언트에서 서버로만 ping할 수 있습니다. 클라이언트에 ping을 시도할 때 서버는 tun0의 공용 IP 주소를 사용합니다.

13:03:56.766564 IP publicIP > 192.168.11.8: ICMP echo request, id 12279, seq 46, length 64

라우팅 테이블이 올바른 것 같습니다.

root@:~# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.11.2 * 255.255.255.255 UH 0 0 0 tun0
184.x.x.x * 255.255.255.0 U 0 0 0 venet0
192.168.11.0 192.168.11.2 255.255.255.0 UG 0 0 0 tun0
default * 0.0.0.0 U 0 0 0 venet0

뭐가 문제 야? 공개 IP를 사용하는 이유는 무엇인가요? (OpenVZ 컨테이너입니다).

답변1

ifconfig또는 명령을 사용하여 터널 인터페이스의 IP 주소를 확인합니다 ip addr. 라우팅 테이블에 따르면 192.168.11.1이 될 것으로 예상됩니다. 다른 터널은 192.168.11.5 및 192.168.11.9입니다. 또한 클라이언트의 라우팅 테이블에서 주소를 확인할 수 있어야 합니다.

ping 명령에서 192.0.2.1 대신 터널 서버 측의 IP 주소를 사용해 보십시오 ping -I 192.0.2.1. 이렇게 하면 ping이 필요한 주소를 사용하게 됩니다. 일부 ping 버전은 인터페이스에 바인딩되어 다른 인터페이스에 ping을 보낼 수 없습니다.

당신이 보고 있는 것은 터널을 운영하거나 라우팅이 비대칭일 수 있는 기타 상황에서 비교적 일반적입니다. 이 경우:

  • 공용 주소의 핑은 tun0으로 라우팅됩니다.
  • 클라이언트의 응답은 일반 인터페이스에서 서버로 다시 라우팅됩니다.
  • 소스 주소가 일치하지 않아 서버가 응답을 인식하지 못합니다.

답변2

죄송합니다. 제가 잊어버린 iptables 규칙입니다.

관련 정보