Spróbuję wyjaśnić moją konfigurację tak krótko, jak to możliwe. Zasadniczo mam komputer stacjonarny podłączony do Raspberry Pi za pomocą kabla Ethernet. RPi to serwer OpenVPN.
Więc:
Raspberry Pi jest podłączony do:
- Sieć Wi-Fi i Internet (192.168.1.43 255.255.255.0 | Gateway: 192.168.1.254)
- Kabel Ethernet bezpośrednio do pulpitu Windows (10.8.1.1 255.255.255.0)
- Serwer OpenVPN działający na 10.8.0.1
Pulpit systemu Windows jest podłączony do:
- Sieć Wi-Fi i Internet (192.168.1.63 255.255.255.0 | Gateway: 192.168.1.254)
- Kabel Ethernet bezpośrednio do Raspberry Pi (10.8.1.2 255.255.255.0)
Wszystko działa dobrze. Mogę uzyskać dostęp do Internetu, pulpitu i wszystkich jako klientów VPN.
Problem: po połączeniu z innym urządzeniem z serwerem VPN i otrzymaniu adresu IP 10.8.0.2 (na przykład), jeśli pinguję komputer PC z systemem Windows (10.8.1.2), IP pokazany jako źródło pingowania to tak naprawdę Wi- Raspberry Pi Adres IP karty sieciowej Fi (192.168.1.43) zamiast adresu IP karty Ethernet lub adresu IP klienta OpenVPN.
Czy jest coś, co mogę zrobić, gdy klient VPN pinguje / uzyskuje dostęp do komputera z systemem Windows, używa własnego prawdziwego adresu IP? (w tym przypadku 10.8.0.2)?
Oto tabela tras na Raspberry Pi:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.254 0.0.0.0 UG 303 0 0 wlan0
10.8.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
10.8.1.0 0.0.0.0 255.255.255.0 U 202 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
Zainstalowałem OpenVPN za pomocą tego skryptu: https://github.com/Nyr/openvpn-install/ W procesie instalacji, kiedy zapytał mnie o mój wewnętrzny IPv4, wpisałem adres IP Ethernet 10.8.1.1. Nie wiem, czy to robi różnicę.
Z góry dziękuję
SNAT
reguły. Chociaż nie jest do końca jasne, jak sprawy potoczyły się takimi, jakie są. Najlepiej zacząć od początku, tym razem ustawiając go ręcznie. To nie jest takie skomplikowane.