저는 두 사무실 사이에 사이트 간 VPN 연결을 설정하려고 합니다. 제가 사용하고 있는 VPN 서버는 2개의 "Edgerouter lite"이고 제가 사용하고 있는 터널링 소프트웨어는 OpenVPN입니다.
현재 설정은 이렇습니다.
-
R1:
LAN subnet: 192.168.2.0/24
LAN port: 192.168.2.1
WAN port: X.X.X.X
-
R2:
LAN subnet: 10.10.0.0/24
LAN port: 10.10.0.34
WAN port: Y.Y.Y.Y
-
R1 Open VPN config:
openvpn vtun0 {
local-address 192.168.2.1 {
}
local-port 1194
mode site-to-site
openvpn-option --comp-lzo
openvpn-option --float
openvpn-option "--ping 10"
openvpn-option "--ping-restart 20"
openvpn-option --ping-timer-rem
openvpn-option --persist-tun
openvpn-option --persist-key
openvpn-option "--user nobody"
openvpn-option "--group nogroup"
remote-address 10.10.0.39
remote-host X.X.X.X
remote-port 1194
shared-secret-key-file /config/auth/secret
}
-
R2 Open VPN config:
openvpn vtun0 {
local-address 10.10.0.39 {
}
local-port 1194
mode site-to-site
openvpn-option --comp-lzo
openvpn-option --float
openvpn-option "--ping 10"
openvpn-option "--ping-restart 20"
openvpn-option --ping-timer-rem
openvpn-option --persist-tun
openvpn-option --persist-key
openvpn-option "--user nobody"
openvpn-option "--group nogroup"
remote-address 192.168.2.1
remote-host Y.Y.Y.Y
remote-port 1194
shared-secret-key-file /config/auth/secret
}
-
show openvpn status site-to-site on R1
OpenVPN client status on vtun0 []
Remote CN Remote IP Tunnel IP TX byte RX byte Connected Since
--------------- --------------- --------------- ------- ------- ------------------------
None (PSK) Y.Y.Y.Y 10.10.0.39 51.6K 51.0K N/A
-
show openvpn status site-to-site on R2
OpenVPN client status on vtun0 []
Remote CN Remote IP Tunnel IP TX byte RX byte Connected Since
--------------- --------------- --------------- ------- ------- ------------------------
None (PSK) X.X.X.X 192.168.2.1 85.3K 84.5K N/A
-
Routing table R1:
IP Next hop INT TYPE
0.0.0.0/0 X.X.X.XGW eth1 static
127.0.0.0/8 lo connected
192.168.2.0/24 eth0 connected
X.X.X.X/X eth1 connected
10.10.0.0/24 vtun0 static
10.10.0.39/32 vtun0 connected
-
Routing table R2:
IP Next hop INT TYPE
0.0.0.0/0 Y.Y.Y.YGW eth0 static
127.0.0.0/8 lo connected
10.10.0.0/24 eth1 connected
Y.Y.Y.Y/Y eth0 connected
192.168.2.0/24 vtun0 static
192.168.2.1/32 vtun0 connected
192.168.2.0 LAN(R1)의 호스트에서 10.10.0.34(R2의 LAN 포트 IP)를 ping할 수 있지만 10.10.0.4(R2 LAN의 호스트)는 ping할 수 없습니다.
내 구성에 문제가 있나요?
답변1
이는 일반적으로 라우팅과 관련이 있습니다. 하나의 OpenVPN 엔드포인트에서 다른 엔드포인트로 이동할 수 있다면 작업 설정에 거의 근접한 것입니다. 하지만 다음과 같습니다.
특정 엔드포인트를 넘어 액세스해야 하는 LAN이 있는 경우 IP 전달이 활성화되어 있는지 확인하십시오.
연결의 원격 측에 있는 클라이언트는 연결의 반대편으로 돌아가는 방법을 모릅니다. 이는 터널을 통과하는 양방향 모두에 해당됩니다.
선택한 항목에서 iroute
및 문을 사용하여 이 문제를 해결할 수 있습니다 . 두 개의 네트워크 및 를 연결하는 경우 서버 측(예 : )에서 다음을 수행할 수 있습니다.push
openvpn.conf
x.x.x.x
y.y.y.y
x.x.x.x
push "route net mask"
또는push "route x.x.x.x 255.255.255.0"
예를 들어. 이렇게 하면y.y.y.y
올바른 경로 의 원격 클라이언트가x.x.x.x
터널을 통해 다시 전달됩니다.서버 측(
x.x.x.x
)이 의 OpenVPN 게이트웨이 너머의 스테이션을 볼 수 있어야 하는 경우y.y.y.y
에도 명령문을 사용해야 합니다iroute
.iroute y.y.y.y 255.255.255.0
이를 수행하려면 서버 측에 배치하십시오 . 이를 통해 기본적으로 OpenVPN은 어떤 클라이언트가 특정 서브넷을 담당하는지 알 수 있습니다.iroute
ccd
명령문은 (제 생각에는 클라이언트 구성 디렉터리) 로 들어가야 합니다 . 이는 일반적으로/etc/openvpn/ccd/<client name>
.
이것이 당신을 이끌어 줄 것이라고 생각합니다. 또한 훌륭한 OpenVPN 문서를 살펴보십시오.LAN에서 이 비트처럼. 그것이 당신에게 효과가 있기를 바랍니다!