OpenVPN 클라이언트는 LAN에 액세스할 수 없습니다.

OpenVPN 클라이언트는 LAN에 액세스할 수 없습니다.

Openvpn: 서버에 연결된 클라이언트 = 방화벽; 하지만 LAN의 데이터베이스에 액세스할 수 없습니다.

나는 5개의 VLAN을 가지고 있습니다:

vlan 2: 192.168.12.0/24
vlan 3: 192.168.13.0/24
vlan 4: 192.168.14.0/24
vlan 5: 192.168.15.0/24
vlan 6: 192.168.100.0/24

모두 LAN이 Switch cisco 3650 layer3에 연결되어 있었습니다. 스위치 레이어 3은 방화벽(CentOS 6.2 설치 오징어 및 해안벽 4)에 연결됩니다.

방화벽에는 eth0: 172.16.1.101이 모뎀:172.16.1.1에 연결되어 있습니다. eth1: 192.168.99.99 스위치 레이어 3에 연결: 192.168.99.100 스위치 포트 없음.

VPN 클라이언트가 연결되고 IP 클래스는 192.168.10.0/24입니다. 이제 LAN에서 인터넷으로의 모든 트래픽이 정상이며 문제가 없습니다.

클라이언트가 openvpn을 사용하면 서버에 성공적으로 연결되지만 LAN에 있는 어떤 컴퓨터에도 핑하거나 액세스할 수 없습니다. 내가 뭘 잘못했나요?

답변1

라우팅 문제이거나 방화벽 문제일 수 있습니다. 우선 VPN 클라이언트에서 서버/방화벽을 ping할 수 있는지 확인해야 합니다. eth1 주소와 tun1 주소를 ping할 수 있는지 확인하세요.

이러한 확인이 실패하면 경로가 누락되었을 수 있습니다. 어쩌면 openVPN은 클라이언트가 내부 서브넷에 대한 경로를 설정하도록 강제하지 않을 수도 있습니다.

클라이언트에서는 Linux 클라이언트라고 가정하고 route -n원격 LAN에 대한 게이트웨이가 있는지 실행하고 확인해야 합니다.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
...
192.168.99.0    192.168.10.##   255.255.255.0   UG    0      0        0 tun1
...

192.168.10.##은 서버/방화벽의 tun1 인터페이스 주소여야 합니다.

경로가 있으면 최소한 tun1 iface 주소로 ping을 보낼 수 있어야 합니다.

더 빠른 디버그를 위해 해안벽을 비활성화할 수 있습니다. 그러나 방화벽 규칙을 확인해야 하며 VPN tun 인터페이스에서 LAN으로 또는 그 반대로 전달을 활성화해야 합니다.

IPTable을 사용하는 방법은 다음과 같습니다.

# iptables -A FORWARD -i tun+ -o eth1 -j ACCEPT
# iptables -A FORWARD -i eth1 -o tun+ -j ACCEPT

tun+는 "any tun"을 의미합니다. 실제 tun 장치를 사용해야 하며 ifconfig로 확인하세요.

관련 정보