OpenVPN: 클라이언트 LAN에서 서버로 하나의 IP 전달

OpenVPN: 클라이언트 LAN에서 서버로 하나의 IP 전달

내 설정은 다음과 같습니다.

  • 1.2.3.4OpenVPN 서버 역할을 하는 공용 IP 주소를 가진 서버(우분투 서버)
  • 10.8.0.6OpenVPN 네트워크의 주소와 물리적 네트워크의 로컬 주소를 사용하여 OpenVPN 서버에 연결된 RaspberryPi(raspbian)192.168.178.36
  • "Lan-Client"는 로컬 주소를 가진 라즈베리 파이와 동일한 물리적 네트워크에 있습니다.192.168.178.56
  • "클라이언트"는 주소가 있는 라즈베리 파이와 동일한 OpenVPN 네트워크에 있습니다.10.8.0.10

현재 설정에서는 "클라이언트"와 라즈베리 파이가 openvpn 서버에 성공적으로 연결되어 서로 통신할 수 있습니다. 이제 라즈베리 파이를 라우터로 사용하여 "lan-client"를 openvpn 네트워크에 전달하여 openvpn 서버에 연결된 각 클라이언트가 액세스할 수 있도록 하고 싶습니다.

"lan-client"에 OpenVPN을 설치할 수 없으며, 이에 대해 일부 포트 전달을 수행하거나 구성을 전혀 변경할 수도 없습니다.

OpenVPN으로도 가능합니까? 그렇다면 어떻게 할 수 있습니까? 나는 라즈베리 파이 LAN의 모든 클라이언트가 아닌 이 특정 IP만 전달하고 싶습니다.

내 현재 구성은 다음과 같습니다.

server.conf

port  1194
proto udp
dev   tun

ca   /etc/certs/ca.crt
cert /etc/certs/server.crt
key  /etc/certs/server.key

dh   /etc/certs/dh4096.pem

cipher AES-256-CBC

server    10.8.0.0 255.255.255.0
keepalive 10 120
client-to-client

ifconfig-pool-persist /etc/openvpn/ipp.txt
client-config-dir /etc/openvpn/ccd

persist-key
persist-tun

status     /var/log/openvpn/status.log
log        /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log

verb 3

ipp.txt(섬기는 사람)

client-rpi,10.8.0.4

ccd/클라이언트-rpi(섬기는 사람)

ifconfig-push 10.8.0.6 10.8.0.1

클라이언트.conf(라즈베리 파이)

client
dev     tun
proto   udp
remote  1.2.3.4 1194

resolv-retry infinite
nobind
persist-key
persist-tun

ca   /etc/certs/ca.crt
cert /etc/certs/client-rpi.crt
key  /etc/certs/client-rpi.key

cipher AES-256-CBC

remote-cert-tls server

verb 3

하나의 IP 주소만 라우팅하고 싶지만 전체 LAN을 라우팅하기 위해 이미 온라인 가이드를 따랐습니다. 그러기 위해서 나는 이렇게 덧붙였다.

route 192.168.178.0 255.255.255.0

~로server.conf그리고

iroute 192.168.178.0 255.255.255.0

~로ccd/클라이언트-rpi구성. 192.168.178.20예를 들어 서버에서 핑을 시도하면 100% 패킷 손실이 발생합니다(응답 없음). 라즈베리 파이에서는 다음과 같습니다.

$ sudo tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
09:39:09.863118 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id     19467, seq 1, length 64
09:39:10.869903 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 2, length 64
09:39:11.878093 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 3, length 64

동일한 주소를 핑하지만 라즈베리 파이(대상과 동일한 물리적 네트워크에 있음)에서 모든 것이 예상대로 잘 작동하므로 요청을 삭제하는 대상 방화벽이 아닙니다.

내 생각엔 라즈베리 파이가 핑 요청을 받아 전달하지만 대상은 192.168.178.20응답 방법을 모르는 것 같습니다. 문제는 이미 언급했듯이 해당 장치의 라우팅 테이블이나 기타 설정을 변경할 수 없다는 것입니다. 서버와 라즈베리파이에만 접근할 수 있습니다. 내 이해가 맞습니까? 해결될 해결책이 있습니까? 아니면 단지 나의 구성 오류와 오해일까요? 경로가 있는 라즈베리 파이에서도 문제가 될 수 있지만 어떻게 해결해야 할지 모르겠습니다.

관련 정보