[solved] opensense wireguard zu opnsense wireguard

Started by wirehire, May 04, 2019, 03:31:56 PM

Previous topic - Next topic
May 05, 2019, 05:53:28 PM #15 Last Edit: May 05, 2019, 05:55:42 PM by micneu
ich würde die fritzbox am wan deiner opnsense anschließen und ein exposethost (oder wie auch immer das sich nennt) auf die opnsense machen, danach dein restliches lan hinter die sense.
ich packe dir mal ein bild meines netzes rein (das ist nur ein beispiel, ich will nicht damit sagen das ist das optimum).

da wo ich das vigor165 habe musst du dir deine fb vorstellen
Internet: Willy.tel Down: 1Gbit/s, UP: 250Mbit/s Glasfaser  |
Router/Firewall: pfSense+ 23.09  |
Hardware: Netgate 6100

warum nimmst du hier nicht einfach ein 24er netzt
Tunnel Adress 172.16.1.10/28
Tunneladdress 172.16.1.6/32

soll das wirklich so sein?
Internet: Willy.tel Down: 1Gbit/s, UP: 250Mbit/s Glasfaser  |
Router/Firewall: pfSense+ 23.09  |
Hardware: Netgate 6100

ich hatte das 28 genommen weil ich nicht viele Clients habe. Soll ich das auf ein 24 Netz umstellen?


Vps OPnsense : wireguard 172.16.1.0/28 Netz
Home OPNsense : wireguard 172.17.0.0/28 Netz

Der Endpoint mit der 172.16.1.6/32 ist für die Einwahl zum VPS Wireguard und dort als PEER hinterlegt.

May 05, 2019, 06:41:55 PM #18 Last Edit: May 05, 2019, 07:01:08 PM by wirehire
Wenn ich einen Mitschnitt auf von der FB mache, sehe ich auch das die Verbindung mit wireshark steht und der keepalive ab und an kommt. Trotzdem geht kein Ping und datenfluss.

Aber es kommt halt nur der Handshake zustanden:

allowed ips: 172.16.1.6/32
  latest handshake: 1 minute, 4 seconds ago
  transfer: 0 B received, 160 B sent

aber kein Datenvekehr. Mit einem anderen Client läuft die Verbindung, sodass ich den Server ausschließen kann.

Dann musst du auf die Console und tcpdump auf das wg interface machen, dann siehst du bestimmt was los ist.

 ich habe mal probiert 2 ips anzupingen, 1 8.8.8.8 und 1x das wireguard interface des Servers.

20:31:52.944706 IP 172.17.0.1 > google-public-dns-a.google.com: ICMP echo request, id 12357, seq 0, length 64
20:31:52.946371 IP 172.17.0.1.61012 > l.root-servers.net.domain: 19801% [1au] A? arpa. (33)
20:31:53.977412 IP 172.17.0.1 > google-public-dns-a.google.com: ICMP echo request, id 12357, seq 1, length 64
20:31:54.996002 IP 172.17.0.1 > google-public-dns-a.google.com: ICMP echo request, id 12357, seq 2, length 64
20:31:56.069570 IP 172.17.0.1 > google-public-dns-a.google.com: ICMP echo request, id 12357, seq 3, length 64
20:31:57.096978 IP 172.17.0.1 > google-public-dns-a.google.com: ICMP echo request, id 12357, seq 4, length 64


20:35:00.199689 IP 172.17.0.1 > 172.16.1.1: ICMP echo request, id 33905, seq 3, length 64
20:35:01.235931 IP 172.17.0.1 > 172.16.1.1: ICMP echo request, id 33905, seq 4, length 64
20:35:02.285918 IP 172.17.0.1 > 172.16.1.1: ICMP echo request, id 33905, seq 5, length 64
20:35:03.336701 IP 172.17.0.1 > 172.16.1.1: ICMP echo request, id 33905, seq 6, length 64

May 06, 2019, 09:24:18 AM #21 Last Edit: May 06, 2019, 10:54:16 AM by wirehire
@migmugmail

ich hatte dein tutorial gelesen auf der Webseite  und dadurch geht es jetzt das der Tunnel Stabil ist und Datenvekehr stattfindet. Ip wird auf der HOME OPNSENSE mit der IP vom CLOUD VPS angezeigt.

Ich komme jetzt zum nächsten Problem :), wenn ich einen Client die route 0.0.0.0 über 192.168.178.253 ( home opnsense) anlege müsste doch alles durch den Tunnel gehen oder?

habe auch die IP vom Tunnel angegeben ,gleiche Problem.

Zum verständnis für mich:

mein client hat die 192.168.178.20/24 mit dem gateway 192.168.178.1 -- dadurch kann er die 192.168.178.253 erreichen.

wenn ich jetzt eine route mache:

route add 172.16.1.0 mask 255.255.255.240 192.168.178.253

und dann die route für alles auf den Tunnel gateway der opnsense lege müsste es doch richtig sein oder?

route add 0.0.0.0 mask 0.0.0.0 172.16.1.1


er soll alles was ins Internet geht über das VPn Gateway realisieren.


Ne, du musst auf dem Windows einfach dein Standardgateway auf die 253 legen. So routest du ja 172.16 auf die OPN und dann 0.0.0.0. auf 172.16 (was glaub ich einen Fehler werfen müsste)

Das dachte ich mir auch.

Muss ich in opnsense noch eine Route für das Forwarding machen?

also das der Lan Traffic immer durch den tunnel geht?

Wenn du dir die routen auf der OPN anschaust müssten da 2 sein ... 0.0.0.0/1 und 128.0.0.0/1


die /1 bedeutet das er auch die default überschreibt bzw höher ist oder?

0.0.0.0/1          wg0                US          wg0
default            192.168.178.1      UGS      vtnet0
localhost          link#3             UH          lo0
128.0.0.0/1        wg0                US          wg0
172.16.1.0/28      wg0                US          wg0
172.16.1.6         link#6             UH          wg0
vps.host.m       192.168.178.1      UGHS     vtnet0
192.168.178.0/24   link#1             U        vtnet0
OPNsense           link#1             UHS         lo0


Ich habe auf jeden Fall die beiden drin.

 auf dem client habe ich jetzt die 192.168.178.253 als gateway eingetragen:

0.0.0.0 0.0.0.0 192.168.178.253



In der firewall Live Ansicht sehe ich auch das der client seine Anfrage stellt

192.168.178.14   8.8.8.8   icmp   let out anything from firewall host itself

aber es kommt nicht zurück bzw eventuell dann nicht in den Tunnel.

Ist das oben die ganze Tabelle oder gibt's ne zweite Seite?

Internet:
Destination        Gateway            Flags     Netif Expire
0.0.0.0/1          wg0                US          wg0
default            192.168.178.1      UGS      vtnet0
localhost          link#3             UH          lo0
128.0.0.0/1        wg0                US          wg0
172.16.1.0/28      wg0                US          wg0
172.16.1.6         link#6             UH          wg0
vps.host.m 192.168.178.1      UGHS     vtnet0
192.168.178.0/24   link#1             U        vtnet0
OPNsense           link#1             UHS         lo0

Internet6:
Destination        Gateway            Flags     Netif Expire
localhost          link#3             UH          lo0
fe80::%vtnet0/64   link#1             U        vtnet0
fe80::a00:27ff:fef link#1             UHS         lo0
fe80::%lo0/64      link#3             U           lo0
fe80::1%lo0        link#3             UHS         lo0



Ich habe einfach mal aus Testzwecken ein debian Rechner benutzt für diese Idee.

1. Debian installiert
2. ip 192.168.178.253
3. Wireguard installiert
4. Verbindung hergestellt

Ping auf wireguard Interface und zb 8.8.8.8 geht

Client PC Gateway auf 192.168.178.253 eingetragen

1. Ping  192.168.178.253 geht
2. ping 8.8.8.8 geht nicht

Auf dem Debian PC

1. IP Fowarding aktiviert.
2. iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE   (lan zum vpn leiten per masquerade)


Client PC

1. ping 8.8.8.8 geht
2. Webseiten gehen
3. check der Ip usw ist richtig


Und genau da liegt mein problem mit der OPNSENSE, wie bekomme ich das Forwarding und Masquerade vom LAn zum VPN hin. Der Tunnel steht ja auf der Sense, aber der ankommenden Traffic vom Lan muss ja irgendwie in den "Tunnel" geschoben werden.