So funktioniert das Setup des OpenVPN-Clients (Mikrotik RouterOS) OpenVPN-Servers (Debian/Linux)

So funktioniert das Setup des OpenVPN-Clients (Mikrotik RouterOS)  OpenVPN-Servers (Debian/Linux)

Ich habe einige Probleme damit, MT mit dem OpenVPN-Server (Debian) zum Laufen zu bringen. Ich kann erfolgreich eine Verbindung zum OVPN-Server herstellen, aber der Datenverkehr wird nicht über den OVPN-Server geleitet. Hier ist meine Konfiguration.

Aufstellen -https://i.stack.imgur.com/AAH9Y.jpg

OpenVPN-Serverkonfiguration (Debian/Linux)

# cat /etc/openvpn/server.conf
lokal 95.2.171.3
Port 1194
Protokoll TCP
dev tun

ca ca.crt
Zertifikat server.crt
Schlüssel server.key
dh dh.pem

Server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

Client-Konfigurationsverzeichnis ccd
Route 192.168.81.0/24 255.255.255.0

Keepalive 10 120
tun-mtu 1500
1450er Jahre

Verschlüsselung AES-256-CBC
Authentifizierung sha1

Persistent-Schlüssel
beharrlich-tun

status /var/log/openvpn-status.log
log-anhängen /var/log/openvpn.log

Verb 5
crl-überprüfen /etc/openvpn/easy-rsa/pki/crl.pem

# Katze /etc/openvpn/ccd/client
iroute 192.168.81.0 255.255.255.0 10.8.0.2
ifconfig-push 10.8.0.2 10.8.0.1

# cat /proc/sys/net/ipv4/ip_forward
1

# netstat -an | grep 1194
tcp 0 0 95.2.171.3:1194 0.0.0.0:* HÖREN
tcp 0 0 95.2.171.3:1194 81.190.190.100:62973 HERGESTELLT

# ifconfig
eth0 Link encap:Ethernet HWaddr 20:cf:30:f2:a8:76
          Inet-Adresse: 95.2.171.3 Bcast: 95.2.171.31 Maske: 255.255.255.224
          inet6 Adresse: fe80::22cf:30ff:fef2:a876/64 Bereich: Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
          RX-Pakete: 255189 Fehler: 0 verloren: 0 Überläufe: 0 Frame: 0
          TX-Pakete: 333054 Fehler: 0 verloren: 0 Überläufe: 0 Träger: 0
          Kollisionen:0 txqueuelen:1000
          RX-Bytes: 34521411 (32,9 MiB) TX-Bytes: 367074147 (350,0 MiB)
          Unterbrechung:26 Basisadresse:0x8000

lo Link encap: Lokaler Loopback
          inet-Adresse:127.0.0.1 Maske:255.0.0.0
          inet6 Adresse: ::1/128 Bereich:Host
          UP LOOPBACK RUNNING MTU:16436 Metrik:1
          RX-Pakete: 15579 Fehler: 0 verloren: 0 Überläufe: 0 Frame: 0
          TX-Pakete: 15579 Fehler: 0 verloren: 0 Überläufe: 0 Träger: 0
          Kollisionen:0 txqueuelen:0
          RX-Bytes: 1326071 (1,2 MiB) TX-Bytes: 1326071 (1,2 MiB)

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet-Adresse:10.8.0.1 PtP:10.8.0.2 Maske:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metrik:1
          RX-Pakete: 57 Fehler: 0 verloren: 0 Überläufe: 0 Frame: 0
          TX-Pakete:6 Fehler:0 verloren:0 Überläufe:0 Träger:0
          Kollisionen:0 txqueuelen:100
          RX-Bytes: 6669 (6,5 KiB) TX-Bytes: 504 (504,0 B)

# netstat -rn
Kernel-IP-Routing-Tabelle
Ziel-Gateway Genmask Flags MSS-Fenster irtt Iface
10.8.0.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
95.2.171.0 0.0.0.0 255.255.255.224 U 0 0 0 eth0
192.168.81.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
10.8.0.0 10.8.0.2 255.255.255.0 UG 0 0 0 tun0
0.0.0.0 95.2.171.30 0.0.0.0 UG 0 0 0 eth0

# iptables -S
-P EINGABE AKZEPTIEREN
-P WEITER AKZEPTIEREN
-P AUSGABE AKZEPTIEREN
-A EINGABE -i lo -j AKZEPTIEREN
-A INPUT -d 127.0.0.0/8 -i !lo -j REJECT --reject-with icmp-port-unreachable
-A EINGABE -i tun0 -j AKZEPTIEREN
-A INPUT -m Status --state VERWANDTE, ETABLIERTE -j AKZEPTIEREN
-A EINGABE -p tcp -m tcp --dport 1194 -j AKZEPTIEREN
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables verweigert:" --log-level 7
-A INPUT -j REJECT --reject-with icmp-port-unreachable
-A AUSGABE -j AKZEPTIEREN

# iptables -t nat -S
-P VORROUTING AKZEPTIEREN
-P POSITIONSÜBERGANG
-P AUSGABE AKZEPTIEREN
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3
-A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 95.2.171.3

# Ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) Bytes Daten.
64 Bytes von 8.8.8.8: icmp_req=1 ttl=55 Zeit=12,9 ms
64 Bytes von 8.8.8.8: icmp_req=2 ttl=55 Zeit=12,8 ms

Dies ist meine gesamte Konfiguration auf dem OpenVPN-Server (Debian/Linux).

OpenVPN-Client-seitige (Mikrotik RouterOS 6) Konfiguration

/Schnittstelle drucken
Flags: D – dynamisch, X – deaktiviert, R – läuft, S – Slave
 # NAME TYP AKTUELLE-MTU L2MTU MAXIMALE-L2MTU MAC-ADRESSE
 0 R Ether1 Ether 1500 1600 4076 D4:CA:6D:31:14:F4
 1 S Äther2 Äther 1500 1598 2028 D4:CA:6D:31:14:F5
 2 S Äther3 Äther 1500 1598 2028 D4:CA:6D:31:14:F6
 3 S Äther4 Äther 1500 1598 2028 D4:CA:6D:31:14:F7
 4 S Äther5 Äther 1500 1598 2028 D4:CA:6D:31:14:F8
 5 RS wlan1 wlan 1500 1600 D4:CA:6D:31:14:F9
 6 R Brücke1 Brücke 1500 1598 D4:CA:6D:31:14:F5
 7 R ovpn-out1 ovpn-out 1500 FE:3E:27:7D:61:8C

 /Schnittstellenbrücke drucken
Flags: X – deaktiviert, R – läuft
 0 R Name="bridge1" mtu=auto tatsächliche-mtu=1500 l2mtu=1598 arp=aktiviert Mac-Adresse=D4:CA:6D:31:14:F5 Protokollmodus=rstp Priorität=0x8000 Auto-Mac=ja Admin-Mac=00:00:00:00:00:00 Maximales Nachrichtenalter=20 s Weiterleitungsverzögerung=15 s Sende-Hold-Anzahl=6 Alterungszeit=5 m

/Schnittstellenbrückenport drucken
Flags: X – deaktiviert, I – inaktiv, D – dynamisch
 # SCHNITTSTELLE BRÜCKE PRIORITÄT PFAD-KOSTEN HORIZONT
 0 I Ether2 Bridge1 0x80 10 keine
 1 I ether3 bridge1 0x80 10 keine
 2 I ether4 bridge1 0x80 10 keine
 3 I ether5 bridge1 0x80 10 keine
 4 wlan1 bridge1 0x80 10 keine

 /IP-Adresse drucken
Flags: X – deaktiviert, I – ungültig, D – dynamisch
 # ADRESSE NETZWERKSCHNITTSTELLE
 0 192.168.81.1/24 192.168.81.0 Brücke1
 1 D 192.168.7.200/24 ​​192.168.7.0 Ether1
 2 D 10.8.0.2/32 10.8.0.1 ovpn-out1

 /ip Firewall NAT drucken
Flags: X – deaktiviert, I – ungültig, D – dynamisch
 0 Kette=srcnat Aktion=Maskierung To-Adressen=0.0.0.0 Out-Schnittstelle=ether1 log=kein Log-Präfix=""

 /ip route drucken
Flags: X – deaktiviert, A – aktiv, D – dynamisch, C – verbinden, S – statisch, r – rip, b – bgp, o – ospf, m – mme, B – blackhole, U – nicht erreichbar, P – verbieten
 # DST-ADRESSE PREF-SRC GATEWAY DISTANZ
 0 Anzeigen 0.0.0.0/0 192.168.7.1 0
 1 ADC 10.8.0.1/32 10.8.0.2 ovpn-out1 0
 2 ADC 192.168.7.0/24 192.168.7.200 Ether1 0
 3 ADC 192.168.81.0/24 192.168.81.1 Brücke1 0

 /Schnittstelle OVPN-Client drucken
Flags: X – deaktiviert, R – läuft
 0 R Name = "ovpn-out1" Mac-Adresse = FE:3E:27:7D:61:8C Max-MTU = 1500 Verbindung mit = 195.13.171.3 Port = 1194 Modus = IP Benutzer = "Client" Passwort = "" Profil = Standard Zertifikat = Client Authentifizierung = SHA1 Verschlüsselung = AES256 Standardroute hinzufügen = Nein

 /ping 10.8.0.1
  SEQ HOST GRÖSSE TTL ZEIT STATUS
    0 10.8.0.1 56 64 6ms
    1 10.8.0.1 56 64 9 ms
    2 10.8.0.1 56 64 7 ms
    3 10.8.0.1 56 64 6 ms
    gesendet=4 empfangen=4 Paketverlust=0 % min. RTT=6 ms durchschnittliche RTT=7 ms max. RTT=9 ms

Wie Sie sehen, kann ich den OpenVPN-Server von Mikrotik aus anpingen. Aber wenn ich das Internet vom lokalen PC aus verwende, wird die IP-Adresse 81.190.190.100 angezeigt, nicht die, die ich sehen möchte – die IP des OpenVPN-Servers – 95.2.171.3.

Ich kann vom Laptop (192.168.81.100/24) erfolgreich einen Ping/Traceroute zu 10.8.0.1 durchführen, verstehe aber nicht, warum es nicht durch den VPN-Tunnel geleitet wird. Ich glaube, ich übersehe etwas beim Routing, entweder auf dem Server (Linux) oder dem Client (Mikrotik).

Danke für eure Hilfe! Ich spiele jetzt schon eine Weile damit und bekomme es nicht zum Laufen :(

Haben Sie einen guten Tag!

Antwort1

Ihr Client routet nicht durch den OVPN-Tunnel, da auf Mikrotik keine Route (Standard-Gateway) vorhanden ist!

Fügen Sie also ein weiteres Gateway auf Mikrotik mit einer Routing-Markierung mit dem Ziel OVPN-Server 10.8.0.1 hinzu

 /ip route add dst-address=0.0.0.0/0 gateway=10.8.0.1 routing-mark=clientmark

Natürlich sollten Sie eine Mangle-Regel für Routing-Markierungen hinzufügen, etwa:

/ip firewall mangle add action=mark-routing chain=prerouting src-address=192.168.81.0/24 new-routing-mark=clientmark

Außerdem sollte eine NAT-Regel für den Client (Quelladressen 192.168.81.0/24) vorhanden sein.

ip firewall nat add action=masquerade chain=srcnat src-address=192.168.81.0/24 out-interface=ovpn-out1

verwandte Informationen