Le serveur Web fournit l'adresse IP réelle du client sur le réseau. OpenVPN

L'un de nos sites Web d'entreprise est en cours d'exécution sur le serveur. Linux, Construit par Apache2 et PHP5.

L'accès à plusieurs pages Web est possible uniquement à partir du sous-réseau OpenVPN.

(Adresses 10.8.0.1/24). Pour vérifier chaque demande,

php scénario

se compare

$_SERVER["REMOTE_ADDR"]

Valeur fournie apache, Et décide de résoudre ou d'interdire une nouvelle exécution.

L'objectif est d'interdire l'accès à ces pages à partir de périphériques qui ne sont pas configurés pour fonctionner via le serveur. VPN.

Serveur OpenVPN travail

sur la même machine

, alors PHP Obtient des adresses de type 10.8.0.25 des clients à l'intérieur VPN Et des adresses réelles pour d'autres demandes.

Est la bonne façon de "protéger" une page de l'accès public?

Tester ce système, j'ai découvert une chose étrange: si je demande une de ces pages "protégées" à l'aide d'un ordinateur avec Windows, connecté à notre réseau OpenVPN, Le serveur peut voir la vraie adresse IP (ne pas 10.8.0.xx), Faire la même chose. sur l'appareil Android Fonctionne correctement (Le serveur ne peut pas voir l'adresse IP réelle et obtenir 10.8.0.xx dans php).

j'utilise

OpenVPN Connect

Appendice sur Android et

OpenVPN GUI

Sur les fenêtres. Dans les deux cas, le client envoie son trafic via un serveur VPN et "Qu'est-ce que moi IP?" Les services montrent l'adresse VPN, Pas la vraie adresse de mon fournisseur Internet.

Mais en quelque sorte client Windows identifie dans sa vraie adresse (Fournisseur) Sur un serveur Web et ne peut pas accéder à des pages sécurisées, que cela soit activé ou désactivé. VPN.

Quelles sont les raisons possibles à cela?

J'ai soupçonné que OpenVPN ne fonctionne pas correctement sur ce PC avec Windows. Sinon, pourquoi le serveur reconnaît-il les clients VPN de manière différente? Android et Windows?

Remercier.

UPD: iptables -L en voiture VPN / websrv

Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 10.8.0.0/24 anywhere tcp dpts:63000:64000
REJECT tcp -- anywhere anywhere tcp dpts:63000:64000 reject-with icmp-port-unreachable
ACCEPT udp -- 10.8.0.0/24 anywhere udp dpts:64000:65000
REJECT tcp -- anywhere anywhere tcp dpts:64000:65000 reject-with icmp-port-unreachable
DROP all -- anywhere anywhere match-set banned_ips src

UPD ::

cmd /k route print

en voiture Windows

Interface List
5...54 04 a6 3d 36 ff ......Realtek PCIe GBE Family Controller
7...fc 75 16 86 ad 84 ......Microsoft Wi-Fi Direct Virtual Adapter
17...00 ff b7 66 85 11 ......TAP-Windows Adapter V9
12...00 50 56 c0 00 01 ......VMware Virtual Ethernet Adapter for VMnet1
13...00 50 56 c0 00 08 ......VMware Virtual Ethernet Adapter for VMnet8
6...fc 75 16 86 ad 82 ......D-Link DWA-125 Wireless N 150 USB Adapter(rev.A3)
1...........................Software Loopback Interface 1
2...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
3...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
11...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
18...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
8...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.137.1 192.168.137.97 25
0.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 20
10.8.0.0 255.255.255.0 10.8.0.5 10.8.0.6 20
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
128.0.0.0 128.0.0.0 10.8.0.5 10.8.0.6 20
xxx.53.xxx.yy 255.255.255.255 192.168.137.1 192.168.137.97 25
192.168.10.0 255.255.255.0 10.8.0.5 10.8.0.6 20
192.168.20.0 255.255.255.0 10.8.0.5 10.8.0.6 20
192.168.137.0 255.255.255.0 On-link 192.168.137.97 281
192.168.137.97 255.255.255.255 On-link 192.168.137.97 281
192.168.137.255 255.255.255.255 On-link 192.168.137.97 281
192.168.171.0 255.255.255.0 On-link 192.168.171.1 276
192.168.171.1 255.255.255.255 On-link 192.168.171.1 276
192.168.171.255 255.255.255.255 On-link 192.168.171.1 276
192.168.229.0 255.255.255.0 On-link 192.168.229.1 276
192.168.229.1 255.255.255.255 On-link 192.168.229.1 276
192.168.229.255 255.255.255.255 On-link 192.168.229.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.171.1 276
224.0.0.0 240.0.0.0 On-link 192.168.229.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.137.97 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.171.1 276
255.255.255.255 255.255.255.255 On-link 192.168.229.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.137.97 281
===========================================================================
Persistent Routes:
None

IPv6 Route Table

xxx.53.xxx.yy - Adresse IP de la machine VPN / websrv.

UPD: Deux autres faits

- Server Web et pages sécurisées Utilisation du certificat SSL (https) - DNS sur les appareils Windows / Android Converti uniquement à Google DNS.
Invité:

Christine

Confirmation de:

Ton VPN Utilise le sous-réseau 10.8.0.0/24, Mais pour la route de l'adresse xxx.53.xxx.yy Passerelle d'occasion 192.168.137.1 au lieu 10.8.0.5, Ce qui signifie que les demandes Web pour le serveur auprès du client Windows passer par Internet, et pas à travers VPN. Pour résoudre ce problème, vous devez éteindre la tunnel divisée de votre client. Windows OpenVPN Pour expédition

tout

Votre trafic à travers VPN Ou changer la passerelle d'itinéraire statique pour xxx.53.xxx.yy sur 10.8.0.5.

Emilie

Confirmation de:

Je vois juste un problème avec DNS. Lorsque vous essayez de vous connecter au site Web, vous autorisez l'adresse IP sur Internet et non l'adresse IP. VPN. Suivant: Modifier C: \ Windows \ System32 \ drivers \ etc \ hosts et ajoutez une entrée comme

10.8.0.X   www.yourdomain.com

Ça devrait forcer la voiture Windows Autoriser l'adresse IP correcte et la robe de manière appropriée. Si cela fonctionne, vous devez configurer le serveur VPN afin que les clients utilisent le serveur DNS à l'intérieur. 10.8.0.0/24 (je pense que dhcp-option - C'est le nom de la directive, mais vous devriez dépenser des études). Le serveur DNS doit être configuré pour résoudre www.yourdomain.com sur l'adresse IP de votre serveur interne.

Dominique

Confirmation de:

Installer la liaison sur Openvpn / Serveur Web. Ajouter une zone pour www.example.com, De sorte qu'il pointait de l'adresse IP interne du serveur Web et d'installer les serveurs d'expédition pour 8.8.8.8 et 8.8.4.4, et assurez-vous également qu'il écoute et configuré en tant que convertisseur interne / Subnets VPN.

La zone de base pour un sous-domaine spécifique, si nécessaire, assurez-vous de reproduire toutes les données répétitives.

named.conf.options

forwarders { 8.8.8.8; 8.8.4.4; };
allow-recursion { 10.8.0.0/24; };
allow-query { 10.8.0.0/24; };
listen-on { any; }

Zone de fichiers

$TTL 300   
@ IN SOA www.example.com. dnsadmin.example.com. (
2015000000 ; serial, YYYYMMDDRR
8H ; refresh, seconds
2H ; retry, seconds
4W ; expire, seconds
1D ) ; minimum, seconds
@ IN NS ns1
ns1 IN A 10.8.0.5
@ IN A 10.8.0.5

Assurez-vous que vous avez testé et configuré openvpn Pour pousser ce serveur DNS.

Emilie

Confirmation de:

Sur l'ordinateur S. Windows Avez-vous vérifié la métrique et avez regardé si l'itinéraire VPN a une métrique inférieure, donc une priorité plus élevée? Peut-être que le problème est dans la métrique.

Une autre chose que vous pouvez essayer - Définir la configuration openvpn Sur le serveur afin que les clients redirigent tout le trafic via la connexion VPN.

Pour répondre aux questions, connectez-vous ou registre