Bu muhtemelen oldukça uzun bir yazı olacak çünkü hiçbir şeyi unutmadığımdan emin olmak istiyorum. Bu muhtemelen çok önemsiz bir konudur, ancak kurulumumda neyin yanlış olduğunu çözemiyorum.
senaryo
Geçenlerde OpenVPN çalıştıran , halihazırda ESXi'de bir VM içinde çalışan bir VPN sunucusu yapılandırdım . Kurulumu bu kılavuza dayandırdım ve her şey yolunda gözüküyor: VPN sunucuma bağlanabiliyorum (yönlendiricideki port yönlendirme ile) ve sertifika kimlik doğrulaması ile giriş yapabilirim.
Ne çalışmıyor
192.168.0.0
VPN ile bağlandığımda yerel ağımdaki makinelere ( ) erişemiyorum .
Şu anda, VPN üzerinden ev ağıma başarıyla bağlandıktan sonra, LAN üzerindeki tüm makinelere erişilemiyor (ping bile yapamıyorum).
Ağ bilgisi
Ağ yapılandırması çok basittir:
- Yerel ağım:
192.168.0.0
- OpenVPN IP’m:
192.168.0.140
- Benim ağ geçidi:
192.168.0.1
- VPN ağım:
10.8.0.0
- OpenVPN VPN IP’m:
10.8.0.1
- Yöneltici, bağlantı noktasında yapılandırılmış bağlantı noktası yönlendirmeye sahiptir
1194
Şimdiye kadar ne denedim (yüksek seviye)
Bu sorunu denemek ve düzeltmek için üç kaynağı takip ettim:
- OpenVPN yönlendirme kılavuzu, özellikle varsayılan ağ geçidinde çalışmıyorsa Yönlendirme ve OpenVPN kullanma bölümü
- LAN'ımdaki ana makinelere bağlanmak için OpenVPN ile yönlendirmeyi nasıl ayarlayacağınız üzerine bu kısa makale
- Bunun çalışması için ESXi'nin nasıl yapılandırılacağına dair bir başka makale , çünkü görünüşe göre, varsayılan konfigürasyonunda, ESXi bu sorunun işe yaramasına neden olabilir.
- VPN sunucusunda etkin IP iletme
- OpenVPN'in güvenlik duvarından geçen tüm trafiği etkinleştirdi
Şimdiye kadar ne denedim (detaylı)
Bu OpenVPN server.conf
:
local 192.168.0.140
topology subnet
dev tun
proto udp
port 1194
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/vpnserver.crt
key /etc/openvpn/easy-rsa/keys/vpnserver.key
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
# server and remote endpoints
ifconfig 10.8.0.1 10.8.0.2
# Add route to Client routing table for the OpenVPN Server
push "route 10.8.0.1 255.255.255.255"
# Add route to Client routing table for the OpenVPN Subnet
push "route 10.8.0.0 255.255.255.0"
# your local subnet
push "route 192.168.0.0 255.255.255.0"
# Set primary domain name server address to the SOHO Router
# If your router does not do DNS, you can use Google DNS 8.8.8.8
push "dhcp-option DNS 192.168.0.254"
# Override the Client default gateway by using 0.0.0.0/1 and
# 128.0.0.0/1 rather than 0.0.0.0/0. This has the benefit of
# overriding but not wiping out the original default gateway.
push "redirect-gateway def1"
client-to-client
duplicate-cn
keepalive 10 120
tls-auth /etc/openvpn/easy-rsa/keys/ta.key 0
cipher AES-128-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log 20
log /var/log/openvpn.log
verb 1
Bir örnek client.ovpn
:
client
dev tun
proto udp
remote <my_router_ip> 1194
resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ns-cert-type server
key-direction 1
cipher AES-128-CBC
comp-lzo
verb 1
mute 20
Mevcut yönlendiricim statik rotaları desteklemediğinden, maalesef yönlendirmeyi bir kez ve herkes için yapılandıramıyorum, ancak VPN ile bağlanırken erişmek istediğim her cihazda bunu yapıyorum. Mesela Plex sunucumda ( 192.168.0.110
) bunu yaptım:
route add -net 10.8.0.0/24 gw 192.168.0.140
Böylece OpenVPN makinem ( 192.168.0.140
) VPN ağındaki ( 10.8.0.0
) yerel ağdaki ( 192.168.0.0
) makinelere bağlanabilir .
Ayrıca OpenVPN sunucusunda IP yönlendirmenin etkinleştirildiğinden ve aşağıdaki satırdan gelenlerden de emin olduk /etc/sysctl.conf
:
net.ipv4.ip_forward=1
Son olarak, iptables
VPN ağındaki tüm trafiğin yerel ağa erişmesine izin vermek için aşağıdaki kuralları ekledim :
# Allow traffic initiated from VPN to access LAN
iptables -I FORWARD -i tun0 -o eth0 -s 10.8.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
# Allow established traffic to pass back and forth
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Son olarak, vSwitch
ESXi'deki sanal anahtarı , bazı paketleri düşürmeyecek şekilde yapılandırdım; yukarıdaki bağlantı, varsayılan yapılandırmasında bu paketleri bırakacağını ve yerel ağdaki makinelere erişmeye çalışırken OpenVPN kullanırken sorunlara yol açabileceğini belirtir. .
Bir şeyi kaçırmadığım sürece, yapılması gereken tek şey bu olmalı. Ne yazık ki, VPN'e başarıyla bağlandıktan sonra, makineleri 192.168.0.0
ağda hala pingleyemiyorum .
Yine, bu oldukça önemsiz bir şey olabilir, ancak yine de doğru cevap için bir miktar ödül sunmaya hazırım, çünkü VPN'i ilk başta kurduğum sebeplerden biri, diğer makinelerime gerek kalmadan erişebilmekti. yönlendirici üzerinde daha fazla bağlantı noktası iletin.
İstemci makine ağ bilgisi
ipconfig
Bağlanmak için kullandığım makinenin tam çıktısı ( uzak bir ağdan "sahte" olmak için, telefonumun 3G bağlantısını bağlıyorum ve Windows'tan Wi-Fi üzerinden bağlanıyorum):
C:\Windows\System32>ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::2c0e:13f0:840c:37b4%15
IPv4 Address. . . . . . . . . . . : 10.8.0.10
Subnet Mask . . . . . . . . . . . : 255.255.255.252
Default Gateway . . . . . . . . . :
Wireless LAN adapter Local Area Connection* 2:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Wireless LAN adapter Wi-Fi:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::a5e8:546c:e046:a246%4
IPv4 Address. . . . . . . . . . . : 192.168.43.220
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.43.1
Ethernet adapter Ethernet:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Ethernet adapter VirtualBox Host-Only Network:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::1d14:52cd:fd6a:2395%10
IPv4 Address. . . . . . . . . . . : 192.168.56.1
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
Tunnel adapter isatap.{75888664-BED0-4908-8984-4DBCF9E9BDDC}:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Tunnel adapter isatap.{6F952140-AFCD-46E4-89E3-02CDEF869C50}:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Tunnel adapter isatap.{1F6CE10F-8498-4A7B-B647-FAE7422FF030}:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :
Çıktı route print
:
C:\Windows\System32>route print
===========================================================================
Interface List
15...00 ff 1f 6c e1 0f ......TAP-Windows Adapter V9
7...12 56 f2 a5 d0 53 ......Microsoft Wi-Fi Direct Virtual Adapter
4...80 56 f2 a5 d0 53 ......Killer Wireless-N 1202 Network Adapter
3...80 fa 5b 00 d7 1f ......Realtek PCIe GBE Family Controller
10...08 00 27 00 68 59 ......VirtualBox Host-Only Ethernet Adapter
1...........................Software Loopback Interface 1
8...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
9...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
11...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #4
===========================================================================
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.43.1 192.168.43.220 25
10.8.0.4 255.255.255.252 On-link 10.8.0.6 276
10.8.0.6 255.255.255.255 On-link 10.8.0.6 276
10.8.0.7 255.255.255.255 On-link 10.8.0.6 276
127.0.0.0 255.0.0.0 On-link 127.0.0.1 306
127.0.0.1 255.255.255.255 On-link 127.0.0.1 306
127.255.255.255 255.255.255.255 On-link 127.0.0.1 306
192.168.43.0 255.255.255.0 On-link 192.168.43.220 281
192.168.43.220 255.255.255.255 On-link 192.168.43.220 281
192.168.43.255 255.255.255.255 On-link 192.168.43.220 281
192.168.56.0 255.255.255.0 On-link 192.168.56.1 276
192.168.56.1 255.255.255.255 On-link 192.168.56.1 276
192.168.56.255 255.255.255.255 On-link 192.168.56.1 276
224.0.0.0 240.0.0.0 On-link 127.0.0.1 306
224.0.0.0 240.0.0.0 On-link 192.168.56.1 276
224.0.0.0 240.0.0.0 On-link 10.8.0.6 276
224.0.0.0 240.0.0.0 On-link 192.168.43.220 281
255.255.255.255 255.255.255.255 On-link 127.0.0.1 306
255.255.255.255 255.255.255.255 On-link 192.168.56.1 276
255.255.255.255 255.255.255.255 On-link 10.8.0.6 276
255.255.255.255 255.255.255.255 On-link 192.168.43.220 281
===========================================================================
Persistent Routes:
None
IPv6 Route Table
===========================================================================
Active Routes:
If Metric Network Destination Gateway
1 306 ::1/128 On-link
10 276 fe80::/64 On-link
15 276 fe80::/64 On-link
4 281 fe80::/64 On-link
10 276 fe80::1d14:52cd:fd6a:2395/128
On-link
15 276 fe80::2c0e:13f0:840c:37b4/128
On-link
4 281 fe80::a5e8:546c:e046:a246/128
On-link
1 306 ff00::/8 On-link
10 276 ff00::/8 On-link
15 276 ff00::/8 On-link
4 281 ff00::/8 On-link
===========================================================================
Persistent Routes:
None
10.8.0.6
. Sorunun tamamını çıktıyla güncellememe izin verin ipconfig
, yararlı olabilir.
route print
VPN istemcisinin çıktısı da yararlı olabilir. Ayrıca, bir makineye ping yapmaya çalışırken ne elde edersiniz? Ve sysctl -p
değiştirdikten sonra sunucuyu çalıştırdınız veya yeniden başlattınız /etc/sysctl.conf
mı?
route print
onaylıyorum sysctl -p
. Ayrıca çalışan çift kontrol varcat /proc/sys/net/ipv4/ip_forward
192.168.0.XXX
), trafiği VPN'ye iletmez).