kmando
Goto Top

VPN im eigenen LAN testen

Ich würde gerne die Zusammenhänge zu folgendem "Problem" verstehen.

Erfolgreich eingerichtet habe ich auf dem MT (RB2011UiAS-2HnD) einen VPN Server, aus dem ich mich außerhalb meines Netzes und einem anderen ISP erfolgreich verbinden kann. Der MT ist mit einem DrayTek Vigor130 per PPPoE mit dem Internet verbunden und hat eine öffentliche IP.

Mit was hängt es zusammen, dass ich mich nicht aus dem 192.168.178er-Netz zum VPN-Server verbinden kann? Ich nutze am Client ja die selbe öffentliche IP für den Internetzugang, über die der VPN-Server von außen ebenfalls zugänglich ist. Handelt es sich hier um ein Routing-Problem oder gibt es hier ein Firewall-Zusammenhang? Ich habe so ein Gefühl, dass es nicht gehen kann, da ich ja vom 192.168.178er zur öffentlichen IP und von der öffentlichen IP ja wieder in das 192.168.178er-Netz komme, in dem der VPN-Server läuft (und wieder zurück). Ich kann es aber nicht in Netzwerk-Know-How-Terminologie-Worte fassen. face-wink

Kann mir dies jemand bitte verständlich machen? Vielen Dank!


Anbei die MT-Konfiguration

# model = RB2011UiAS-2HnD
# serial number = XXXXX
/interface bridge
add name=homebridge vlan-filtering=yes
/interface ethernet
set [ find default-name=ether10 ] name=ether10WAN
set [ find default-name=sfp1 ] disabled=yes
/interface pppoe-client
add add-default-route=yes disabled=no interface=ether10WAN name=pppoe-out1 password=XXXXXX service-name=XXXXXX use-peer-dns=yes user=XXXXXX
/interface vlan
add interface=homebridge name=vlan1 vlan-id=1
add interface=homebridge name=vlan10 vlan-id=10
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
add authentication-types=wpa2-psk eap-methods="" management-protection=allowed mode=dynamic-keys name=WPS supplicant-identity="" wpa2-pre-shared-key=XXXXXX  
add authentication-types=wpa2-psk eap-methods="" management-protection=allowed mode=dynamic-keys name=WPSGast supplicant-identity="" wpa2-pre-shared-key=XXXXXX  
/interface wireless
set [ find default-name=wlan1 ] antenna-gain=0 band=2ghz-b/g/n country=no_country_set disabled=no frequency-mode=manual-txpower mode=ap-bridge name="WLAN Home" security-profile=WPS ssid=XXXXXX station-roaming=enabled  
add disabled=no keepalive-frames=disabled mac-address=FF:FF:FF:FF:FF:FF master-interface="WLAN Home" multicast-buffering=disabled name="WLAN Gast" security-profile=WPSGast ssid=XXXXXX station-roaming=enabled wds-cost-range=0 \  
    wds-default-cost=0 wps-mode=disabled
/ip pool
add name=dhcp_pool0 ranges=192.168.178.10-192.168.178.100
add name=pool-vpn ranges=192.168.150.100-192.168.150.110
add name=dhcp_pool3 ranges=10.10.0.100-10.10.0.150
add name=dhcppool-vlan10 ranges=10.0.0.50-10.0.0.100
/ip dhcp-server
add address-pool=dhcp_pool0 disabled=no interface=vlan1 lease-script=dhcp-lease-script name=dhcp-private
add address-pool=dhcp_pool3 disabled=no interface="WLAN Gast" name=dhcp3  
add address-pool=dhcppool-vlan10 disabled=no interface=vlan10 lease-script=dhcp-lease-script name=dhcp-vlan10
/ppp profile
add local-address=192.168.150.254 name=vpn remote-address=pool-vpn use-compression=no use-encryption=yes
/system logging action
set 3 remote=192.168.178.34
/user group
set full policy=local,telnet,ssh,ftp,reboot,read,write,policy,test,winbox,password,web,sniff,sensitive,api,romon,dude,tikapp
/interface bridge port
add bridge=homebridge interface=ether1
add bridge=homebridge interface=ether2
add bridge=homebridge interface=ether4
add bridge=homebridge interface=ether5
add bridge=homebridge interface=ether7
add bridge=homebridge interface=ether8
add bridge=homebridge interface="WLAN Home"  
add bridge=homebridge frame-types=admit-only-untagged-and-priority-tagged interface=ether3 pvid=10
add bridge=homebridge frame-types=admit-only-untagged-and-priority-tagged interface=ether6 pvid=10
add bridge=homebridge interface=vlan1
add bridge=homebridge frame-types=admit-only-untagged-and-priority-tagged interface=vlan10 pvid=10
/ip neighbor discovery-settings
set discover-interface-list=!dynamic
/interface bridge vlan
add bridge=homebridge tagged=ether5,homebridge,vlan10,ether1 vlan-ids=10
add bridge=homebridge tagged=homebridge,vlan1 vlan-ids=1
/interface detect-internet
set detect-interface-list=all
/interface ovpn-server server
set auth=sha1 certificate="VPN Server" cipher=aes256 default-profile=vpn enabled=yes port=443 require-client-certificate=yes  
/ip address
add address=192.168.178.1/24 interface=vlan1 network=192.168.178.0
add address=10.0.0.1/24 interface=vlan10 network=10.0.0.0
add address=192.168.1.2/24 interface=ether10WAN network=192.168.1.0
add address=10.10.0.1/24 interface="WLAN Gast" network=10.10.0.0  
/ip dhcp-server network
add address=10.0.0.0/24  dns-server=10.0.0.54 domain=intranet gateway=10.0.0.1
add address=10.10.0.0/24  dns-server=10.0.0.54 gateway=10.10.0.1
add address=192.168.178.0/24 dns-server=10.0.0.54 domain=intranet gateway=192.168.178.1
/ip dns
set allow-remote-requests=yes servers=10.0.0.54
/ip firewall filter
add action=accept chain=input  connection-state=established,related
add action=accept chain=output connection-state=established,related
add action=accept chain=forward connection-state=established,related
add action=accept chain=forward  dst-address=192.168.178.0/24 src-address=192.168.150.0/24
add action=accept chain=forward src-address=192.168.150.0/24
add action=accept chain=forward dst-address=10.0.0.54 dst-port=53 protocol=udp src-address=192.168.150.0/24
add action=accept chain=forward  protocol=udp
add action=accept chain=forward dst-port=80,443 in-interface="WLAN Gast" out-interface=pppoe-out1 protocol=tcp  
add action=accept chain=forward  dst-address=192.168.178.34 dst-port=80,5001,8443 in-interface=pppoe-out1 protocol=tcp
add action=accept chain=forward  dst-address=10.0.0.54 dst-port=5222 protocol=tcp
add action=accept chain=forward  src-address=192.168.178.0/24
add action=accept chain=forward  dst-address=192.168.178.34 protocol=udp src-address=192.168.1.1 src-port=514
add action=accept chain=forward  out-interface=pppoe-out1 src-address=10.0.0.0/24
add action=accept chain=forward dst-address=192.168.178.34 dst-port=445 protocol=tcp src-address=10.0.0.54
add action=accept chain=forward dst-address=192.168.178.34 protocol=icmp src-address=10.0.0.54
add action=accept chain=forward dst-port=53 protocol=udp src-address=10.0.0.0/24
add action=accept chain=forward dst-address=192.168.178.34 dst-port=443 protocol=tcp src-address=10.0.0.0/24
add action=accept chain=forward dst-address=192.168.178.45 dst-port=8083 protocol=tcp src-address=10.0.0.0/24
add action=accept chain=output  dst-port=80 out-interface=pppoe-out1 protocol=tcp
add action=accept chain=output dst-port=53 out-interface=pppoe-out1 protocol=udp
add action=accept chain=output dst-port=443 out-interface=pppoe-out1 protocol=tcp
add action=accept chain=output dst-port=123 out-interface=pppoe-out1 protocol=udp
add action=accept chain=input dst-port=443 in-interface=pppoe-out1 protocol=tcp
add action=drop chain=forward 
add action=drop chain=input
add action=drop chain=output
/ip firewall nat
add action=masquerade chain=srcnat out-interface=pppoe-out1
add action=masquerade chain=srcnat dst-address=!192.168.178.1 src-address=192.168.178.0/24
add action=dst-nat chain=dstnat dst-address=!192.168.178.1 dst-address-type=local dst-port=8443 protocol=tcp src-port="" to-addresses=192.168.178.34 to-ports=8443  
add action=dst-nat chain=dstnat dst-address=!192.168.178.1 dst-address-type=local dst-port=5001 protocol=tcp src-port="" to-addresses=192.168.178.34 to-ports=5001  
add action=dst-nat chain=dstnat dst-address-type=local dst-port=514 protocol=udp src-address=192.168.1.1 to-addresses=192.168.178.34 to-ports=514
add action=dst-nat chain=dstnat disabled=yes dst-address=!192.168.178.1 dst-address-type=local dst-port=80 protocol=tcp src-port="" to-addresses=192.168.178.34 to-ports=80  
add action=dst-nat chain=dstnat  dst-address-type=local dst-port=5222 protocol=tcp to-addresses=10.0.0.54 to-ports=5222
add action=dst-nat chain=dstnat  dst-address=!10.0.0.54 dst-port=53 protocol=udp src-address=!10.0.0.54 to-addresses=10.0.0.54 to-ports=53
add action=dst-nat chain=dstnat dst-address=!10.0.0.54 dst-port=53 protocol=tcp src-address=!10.0.0.54 to-addresses=10.0.0.54 to-ports=53
/ip service
set telnet disabled=yes
set ftp disabled=yes
set www address=192.168.178.0/24
set ssh address=192.168.178.0/24
set api disabled=yes
set winbox address=192.168.178.0/24
set api-ssl disabled=yes
/ip ssh
set allow-none-crypto=yes forwarding-enabled=remote
/lcd
set enabled=no touch-screen=disabled
/lcd interface pages
set 0 interfaces="WLAN Home"  
/ppp secret
add name=XXXX password=XXXX profile=vpn service=ovpn
/system clock
set time-zone-name=Europe/Berlin
/system logging
add action=remote topics=script
/system ntp client
set enabled=yes primary-ntp=192.53.103.108 secondary-ntp=192.53.103.104

Content-Key: 602679

Url: https://administrator.de/contentid/602679

Printed on: April 27, 2024 at 19:04 o'clock

Member: erikro
erikro Sep 07, 2020 at 20:42:54 (UTC)
Goto Top
Moin,

na ganz einfach:
1. Du bist schon in dem Netz.
2. Bei VPN müssen die beiden Netze, die verbunden werden, unterschiedliche Netze sein.
3. Was soll das bringen? face-wink

Wenn Du es vor Ort testen willst, mache ich das immer so: Smartphone raus, Hotspot an, Notebook mit Hotspot verbinden und VPN testen.

Liebe Grüße

Erik
Member: kmando
kmando Sep 07, 2020 at 21:09:14 (UTC)
Goto Top
Hallo Erik, es sind doch aber zwei Netze. Verbunden werden doch das VPN Netz (192.168.150.0, vergeben aus dem VPN IP Pool und 192.168.178.0). Oder meinst du weil Client und VPN Server im selben Netz sind?
Member: Inf1d3l
Solution Inf1d3l Sep 08, 2020 at 05:53:26 (UTC)
Goto Top
Erlaubt denn die Firewall eine VPN-Verbindung aus dem LAN ins Internet?
Member: aqui
Solution aqui Sep 08, 2020 updated at 07:05:23 (UTC)
Goto Top
Erfolgreich eingerichtet habe ich auf dem MT (RB2011UiAS-2HnD) einen VPN Server
Wie jeder weiss ist ja VPN nicht gleich VPN. Wenn du uns wenigstens das verwendete VPN Protokoll mitgeteilt hättest wäre das schon mal sehr hilfreich gewesen. face-sad
Um uns jetzt allen erstmal das wirre Raten zu ersparen hier eine laufende Konfiguration mit dem L2TP Protokoll:
Scheitern am IPsec VPN mit MikroTik
Der MT kann aber natürlich auch OpenVPN:
Clientverbindung OpenVPN Mikrotik
Und auch noch IPsec.
Aber das alles zu erraten wird hier jetzt doch zu aufwendig...

Nur so viel. Wenn du von intern testest, dann bist du ohne entsprechende Konfig vermutlich Opfer eines Hairpin NAT Problems:
https://wiki.mikrotik.com/wiki/Hairpin_NAT
Member: Spirit-of-Eli
Solution Spirit-of-Eli Sep 08, 2020 at 07:52:06 (UTC)
Goto Top
Moin,

HairPin NAT oderNAT Reflection sind dann die Schlagworte.

Gruß
Spirit
Member: NordicMike
NordicMike Sep 08, 2020 at 08:06:33 (UTC)
Goto Top
Und selbst dann (wenn die Verbindung stehen sollte). Wie soll der Client entscheiden welchen Weg er einschlagen soll?

Du befindest dich mit dem Client im 192.168.178.0/24 Netz und möchtest einen Server im entfernten Netz mit dem gleichen Bereich ansprechen 192.168.178.0/24.

Welchen Weg soll der Client einschlagen, wenn du 192.168.178.10 anpingst? Soll er es zur lokalen Netzwerkkarte raus schicken oder soll er es über die VPN Schnittstelle raus schicken? Die Antwort vom Zielgerät ist dann genau so spannend. Das funktioniert so nicht. Deswegen haben Firmennetzwerke immer gerne einen anderen IP Bereich, als die Fritzbox Netze zu Hause.
Member: Spirit-of-Eli
Spirit-of-Eli Sep 08, 2020 updated at 08:50:56 (UTC)
Goto Top
Zitat von @NordicMike:

Und selbst dann (wenn die Verbindung stehen sollte). Wie soll der Client entscheiden welchen Weg er einschlagen soll?

Du befindest dich mit dem Client im 192.168.178.0/24 Netz und möchtest einen Server im entfernten Netz mit dem gleichen Bereich ansprechen 192.168.178.0/24.

Welchen Weg soll der Client einschlagen, wenn du 192.168.178.10 anpingst? Soll er es zur lokalen Netzwerkkarte raus schicken oder soll er es über die VPN Schnittstelle raus schicken? Die Antwort vom Zielgerät ist dann genau so spannend. Das funktioniert so nicht. Deswegen haben Firmennetzwerke immer gerne einen anderen IP Bereich, als die Fritzbox Netze zu Hause.

Das ist doch fest über die Routen, bzw Metrik definiert.
Im Zweifelsfall bekommt die zuletzt angelegte Route den vortritt.

Wenn über VPN eine default Route mitgegeben wird, läuft der Traffic auch dann über den Tunnel.

Zu sehen ist das unter Windows mit einem simplen Route print
Member: NordicMike
NordicMike Sep 08, 2020 at 08:59:33 (UTC)
Goto Top
Schon klar, die Fragen waren für den TO gedacht zum Anregen auf was er noch achten soll.
Member: erikro
erikro Sep 08, 2020 at 09:30:01 (UTC)
Goto Top
Zitat von @kmando:

Hallo Erik, es sind doch aber zwei Netze. Verbunden werden doch das VPN Netz (192.168.150.0, vergeben aus dem VPN IP Pool und 192.168.178.0). Oder meinst du weil Client und VPN Server im selben Netz sind?

Dann habe ich das falsch verstanden. sorry
Member: aqui
aqui Sep 08, 2020 updated at 09:34:11 (UTC)
Goto Top
Und außerdem ist bei OpenVPN und L2TP das interne VPN immer ein anderes IP Netz als das lokale LAN. Der Client Adressbereich wird also aus dem Pool bedient und unterscheidet sich zum lokalen LAN.
Siehe dazu auch HIER.
Das 192.168.178.0 /24 nun besonders intelligent ist sei mal dahingestellt. Sicher nicht die beste Idee bei Millionen von FritzBox IP Netzen mit dieser Adresse im VPN Umfeld...ist aber hier ja nicht das Thema.

Der Test von intern soll vermutlich nur checken ob der Server den Client akzeptiert (Passwort, Verschlüsselung etc.). Das kann man testweise natürlich so machen. Produktivbetrieb wäre so natürlich unsinnig was der TO aber vermutlich auch selber weiss.
Member: kmando
kmando Sep 08, 2020 updated at 21:04:57 (UTC)
Goto Top
Wie geschrieben, mir geht es hauptsächlich darum, die Zusammenhänge zu verstehen. Das ich das 192.168.178er Netz nutze hängt einfach damit zusammen, dass ich von einer FB auf MT umgestiegen bin und zu faul war, einige Dienste oder Konfigurationen auf einen anderen IP-Bereich umzustellen.

Es geht um einen OpenVPN-Server. Dies war aus der Konfig oben nicht so deutlich zu erkennen. Sorry.

Ich habe mir das Thema Hairpin im MT-Wiki durchgesehen und das Problem lösen können. Zusammen mit der Firewall-Regel für den Input hat es dann funktioniert. face-wink

add action=accept chain=forward src-address=192.168.178.0/24
add action=accept chain=input src-address=192.168.178.0/24

Vielen Dank für eure Unterstützung.