OpenVPN 클라이언트 뒤의 네트워크

OpenVPN 클라이언트 뒤의 네트워크

안녕하세요. OpenVPN 네트워킹에 문제가 있습니다. 주요 아이디어는 그림과 같이 원격 OpenVPN 서버, 클라이언트 2개, MyPC 및 OpenWRT 클라이언트이며 Client_1 및 Client_2가 포함된 자체 네트워크가 있습니다. MyPC에서 Client_1에 접근할 수 있어야 하며 그 반대의 경우도 마찬가지입니다. 라우팅이나 전달 문제인 것 같습니다.


|-----------------------|           |-----------------------------------|
|Ubuntu 14.04           |           |OpenWRT router                     |
|OpenVPN Server         |  <----->  |Acts as OpenVPN client             |
|WAN 192.168.1.197      |           |LAN: 192.168.0.1, WAN:192.168.1.1  |
|OpenVPN IP: 172.20.2.1 |           |OpenVPN IP:172.20.1.100            |
|-----------------------|           |-----------------------------------|
            ^                               ^                   ^
            |                               |                   |
            |                               |                   |
            v                               v                   v
|-----------------------|           |-------------------| |------------------|
|MyPC, OpenVPN client   |   (1)     |Network client_1   | |Network client_2  |
|LAN: 192.168.1.205     | <-------> |LAN: 192.168.0.213 | |LAN: 192.168.1.101|
|OpenVPN IP:172.20.2.101|           |-------------------| |------------------|
|-----------------------|

핑 결과

MyPC 핑 -> OpenVPN 서버 확인
MyPC 핑 -> OpenWRT 확인
Ping MyPC -> client_1 192.168.1.205에서 응답: 대상 호스트에 연결할 수 없습니다.

OpenVPN 서버 핑 -> MyPC 확인
OpenVPN 서버 핑 -> OpenWRT 확인
OpenVPN 서버 핑 -> client_1 192.168.1.197에서 icmp_seq=1 대상 호스트에 연결할 수 없음

OpenWRT 핑 -> OpenVPN 서버 확인
핑 OpenWRT -> MyPC 확인
OpenWRT 핑 -> client_1 확인

Ping client_1 -> OpenVPN 서버 192.168.0.1에서 icmp_seq=1 대상 포트에 연결할 수 없음
Ping client_1 -> MyPC 192.168.0.1에서 icmp_seq=1 대상 포트에 연결할 수 없음
핑 클라이언트_1 -> OpenWRT 확인

OpenVPN 구성, 서버 및 클라이언트

======OpenVPN configuration ===================================================================
port 1198
proto udp
dev tap2
ca keys/remote_management/ca.crt
cert keys/remote_management/remote_man.crt
key keys/remote_management/remote_man.key
dh keys/remote_management/dh4096.pem
server-bridge 172.20.2.1 255.255.255.0 172.20.2.100 172.20.2.253 #@@ br1 eth2
crl-verify keys/remote_management/crl.pem
ifconfig-pool-persist servers/remote_man/logs/ipp.txt
tls-auth servers/remote_man/ta.key 0
cipher AES-128-CBC
user nobody
group nogroup
status servers/remote_man/logs/openvpn-status.log
log-append servers/remote_man/logs/openvpn.log
verb 2
mute 20
max-clients 10
management 127.0.0.1 7507
keepalive 10 120
client-config-dir /etc/openvpn/servers/remote_man/ccd
tls-server
client-to-client
comp-lzo
persist-key
persist-tun
ccd-exclusive
push "route 172.20.2.0 255.255.255.0"
route 192.168.0.0 255.255.255.0

======OpenVPN client MyPC configuration ======================================================
client
proto udp
dev tap
ca ca.crt
dh dh4096.pem
cert ***.crt
key ***.key
remote *** 1198
tls-auth ta.key 1
cipher AES-128-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind

======OpenVPN client OpenWRT configuration ===================================================
client
proto udp
dev tap
ca /etc/openvpn/sol102/ca.crt
dh /etc/openvpn/sol102/dh4096.pem
cert /etc/openvpn/sol102/sol102.crt
key /etc/openvpn/sol102/sol102.key
remote *** 1198
tls-auth /etc/openvpn/sol102/ta.key 1
cipher AES-128-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind

OpenWRT 구성

======OpenWRT 네트워크 구성======================================== ==================
구성 인터페이스 '루프백'
        옵션 ifname 'lo'
        옵션 proto '정적'
        옵션 ipaddr '127.0.0.1'
        옵션 넷마스크 '255.0.0.0'

구성 전역 '전역'
        옵션 ula_prefix 'fdf2:d4ae:ecd5::/48'

구성 인터페이스 'lan'
        옵션 ifname 'eth0.1'
        옵션 force_link '1'
        옵션 유형 '브리지'
        옵션 proto '정적'
        옵션 넷마스크 '255.255.255.0'
        옵션 ip6할당 '60'
        옵션 ipaddr '192.168.0.1'

구성 인터페이스 '완'
        옵션 ifname 'eth0.2'
        옵션 프로토 'dhcp'

구성 인터페이스 'wan6'
        옵션 ifname '@wan'
        옵션 프로토 'dhcpv6'

구성 스위치
        옵션 이름 'switch0'
        옵션 재설정 '1'
        옵션 활성화_vlan '1'

스위치_vlan 구성
        옵션 장치 'switch0'
        옵션 VLAN '1'
        옵션 포트 '1 2 3 4 5t'

스위치_vlan 구성
        옵션 장치 'switch0'
        옵션 VLAN '2'
        옵션 포트 '0 5t'

구성 인터페이스 'OVPN'
        옵션 프로토 '없음'
        옵션 위임 '0'
        옵션 ifname 'tap0'

======OpenWRT 방화벽 구성======================================== ==================
구성 기본값
        옵션 syn_flood '1'
        옵션 입력 'ACCEPT'
        옵션 출력 'ACCEPT'
        옵션 전달 '거부'

구성 영역
        옵션 이름 'lan'
        옵션 입력 'ACCEPT'
        옵션 출력 'ACCEPT'
        옵션 전달 '거부'
        옵션 네트워크 'lan'

구성 영역
        옵션 이름 'wan'
        옵션 입력 '거부'
        옵션 출력 'ACCEPT'
        옵션 전달 '거부'
        옵션 마스크 '1'
        옵션 네트워크 'wan wan6'

구성 규칙
        옵션 이름 'Allow-DHCP-Renew'
        옵션 소스 'wan'
        옵션 프로토 'udp'
        옵션 dest_port '68'
        옵션 대상 'ACCEPT'
        옵션 계열 'ipv4'

구성 규칙
        옵션 이름 'Allow-Ping'
        옵션 소스 'wan'
        옵션 프로토 'icmp'
        옵션 icmp_type '에코 요청'
        옵션 계열 'ipv4'
        옵션 대상 'ACCEPT'

구성 규칙
        옵션 이름 'Allow-DHCPv6'
        옵션 소스 'wan'
        옵션 프로토 'udp'
        옵션 src_ip 'fe80::/10'
        옵션 src_port '547'
        옵션 dest_ip 'fe80::/10'
        옵션 dest_port '546'
        옵션 계열 'ipv6'
        옵션 대상 'ACCEPT'

구성 규칙
        옵션 이름 'Allow-ICMPv6-Input'
        옵션 소스 'wan'
        옵션 프로토 'icmp'
        icmp_type '에코 요청' 목록
        icmp_type '에코-응답' 목록
        icmp_type '대상에 연결할 수 없음' 목록
        icmp_type '패킷이 너무 큽니다' 목록
        icmp_type '시간 초과' 목록
        icmp_type '잘못된 헤더' 목록
        icmp_type '알 수 없는 헤더 유형' 목록
        icmp_type '라우터 요청' 목록
        icmp_type '이웃 요청' 목록
        icmp_type '라우터 광고' 목록
        icmp_type '이웃 광고' 목록
        옵션 제한 '1000/초'
        옵션 계열 'ipv6'
        옵션 대상 'ACCEPT'

구성 규칙
        옵션 이름 'Allow-ICMPv6-Forward'
        옵션 소스 'wan'
        옵션 대상 '*'
        옵션 프로토 'icmp'
        icmp_type '에코 요청' 목록
        icmp_type '에코-응답' 목록
        icmp_type '대상에 연결할 수 없음' 목록
        icmp_type '패킷이 너무 큽니다' 목록
        icmp_type '시간 초과' 목록
        icmp_type '잘못된 헤더' 목록
        icmp_type '알 수 없는 헤더 유형' 목록
        옵션 제한 '1000/초'
        옵션 계열 'ipv6'
        옵션 대상 'ACCEPT'

구성 포함
        옵션 경로 '/etc/firewall.user'

구성 영역
        옵션 출력 'ACCEPT'
        옵션명 'OVPN_FW'
        옵션 마스크 '1'
        옵션 입력 'ACCEPT'
        옵션 전달 '거부'
        옵션 네트워크 'OVPN'
        옵션 mtu_fix '1'

구성 전달
        옵션 대상 'OVPN_FW'
        옵션 소스 'lan'

구성 전달
        옵션 대상 '완'
        옵션 소스 'lan'

구성 전달
        옵션 대상 'lan'
        옵션 소스 'OVPN_FW'

tcpdump가 좀 있어요

======OpenVPN server tcpdump icmp filtered ====================================================  
12:46:11.654580 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 83, length 40
12:46:11.654580 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 83, length 40
12:46:14.652217 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:14.652244 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:14.657835 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 84, length 40
12:46:14.657835 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 84, length 40
12:46:17.656214 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:17.656241 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:17.661768 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 85, length 40
12:46:17.661768 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 85, length 40
12:46:20.660206 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:20.660233 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:20.665362 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 86, length 40
12:46:20.665362 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 86, length 40
12:46:23.666797 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:23.666824 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68


======OpenWRT client tcpdump icmp filtered ==================================================== 
12:44:17.299404 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 48
12:44:18.461809 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 196
12:44:19.464258 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 196
12:44:20.466652 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 196
12:44:20.944332 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 48
12:44:32.311732 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 308

편집: 그렇게 많은 코드를 넣을 수 없으므로http://pastebin.com/ThgqBUgM(링크는 더 이상 유효하지 않습니다)

답변1

route add -net 192.168.0.0/24 gw 172.20.1.100문제는 아마도 라우팅일 것입니다. Ubuntu 서버는 이 경로가 기본 게이트웨이와 일치하지 않고 잘못된 인터페이스를 사용하여 패킷이 라우팅되지 않으면서 192.168.0.0/24 - 를 찾을 수 있는 위치를 알아야 합니다 . 패킷을 전달하는 모든 장치(OpenWRT 및 Ubuntu)는 3가지 네트워크 192.168.0.0/24, 192.168.1.0/24및 에 대해 알아야 합니다 172.20.1.0/24.

관련 정보