Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - shuvitcrew

#1
I have posted, that I have troubles with the configuration of a OpenVPN-Server with HAProxy in Post #283. I have to apologise for the confusion I have caused. The HAProxy config was absolut perfect - thanks to author of this thread - the problem was a incorrect certificate in the OpenVPN server - today I've got it solved! The right configuration can be found in post #171 - that works perfect! The hint I could give is that you have to put the virtual adress of your VPN server in the "real server" IP adress field.
#2
Auf den ersten Blick würde ich sagen, dass Du die Anleitung nicht ganz richtig umgesetzt hast. Die ACME-Plugin-Integration darf nicht aktiviert werden. Dadurch hast Einträge in der Config, die nicht da hin gehören. Sieh mal hier: https://postimg.cc/8JDkMCd5
#3
German - Deutsch / Re: Wildcard Zertifikate OPNsense
December 12, 2022, 01:47:57 PM
Ich hab es mit einem Wildcard-Zertifikat am Laufen mit HAProxy. Kann was zusammen schreiben, wenn ich von der Arbeit nach hause komme. Geht ohne Probleme seit Jahren.
#4
Hello,

first I have to say thank you for this perfect tutorial. I have setup my haproxy for my webservers and everything works fine for internal and external use. Now I've tried to implement OpenVPN on Port 443 in TCP mode. I added the configuration parts as mentioned in Reply #171. The config of haproxy seems to be corrrect, but I can't connect via vpn. I've tried to setup a second vpn-server on port 1194 with upd and i works staight away. Only the vpn in tcp-mode on port 443 refuses to work. Here is my haproxy config:
#
# Automatically generated configuration.
# Do not edit this file manually.
#

global
    uid                         80
    gid                         80
    chroot                      /var/haproxy
    daemon
    stats                       socket /var/run/haproxy.socket group proxy mode 775 level admin
    nbproc                      1
    nbthread                    4
    hard-stop-after             60s
    no strict-limits
    maxconn                     10000
    tune.ssl.default-dh-param   4096
    spread-checks               2
    tune.bufsize                16384
    tune.lua.maxmem             0
    log                         /var/run/log local0 info
    lua-prepend-path            /tmp/haproxy/lua/?.lua

defaults
    log     global
    option redispatch -1
    maxconn 5000
    timeout client 30s
    timeout connect 40s
    timeout server 40s
    retries 3
    default-server init-addr last,libc

# autogenerated entries for ACLs


# autogenerated entries for config in backends/frontends

# autogenerated entries for stats




# Frontend: 0_SNI_frontend (Hört auf 0.0.0.0:80 und 0.0.0.0:443)
frontend 0_SNI_frontend
    bind 0.0.0.0:80 name 0.0.0.0:80
    bind 0.0.0.0:443 name 0.0.0.0:443
    mode tcp
    default_backend SSL_backend
    # tuning options
    timeout client 30s

    # logging options
    # ACL: SSL_hello
    acl acl_62c874b4f2fdc4.23213917 req_ssl_hello_type 1

    # ACTION: tcp_request_inspect_delay
    # NOTE: actions with no ACLs/conditions will always match
    tcp-request inspect-delay 5s
    # ACTION: tcp_request_content_accept_ssl
    tcp-request content accept if acl_62c874b4f2fdc4.23213917
    # ACTION: VPN_SUBDOMAINS_map-rule
    # NOTE: actions with no ACLs/conditions will always match
    use_backend %[req.hdr(host),lower,map_dom(/tmp/haproxy/mapfiles/62c87ba1538c16.11776198.txt)]

# Frontend: 1_HTTP_frontend (Hört auf 192.168.161.1:80)
frontend 1_HTTP_frontend
    bind 192.168.161.1:80 name 192.168.161.1:80 accept-proxy
    mode http
    option http-keep-alive
    option forwardfor
    # tuning options
    timeout client 30s

    # logging options
    # ACL: NoSSL_condition
    acl acl_62360185bf9055.41837138 ssl_fc

    # ACTION: HTTPtoHTTPS_rule
    http-request redirect scheme https code 301 if !acl_62360185bf9055.41837138

# Frontend: 1_HTTPS_frontend (Hört auf 192.168.161.1:443)
frontend 1_HTTPS_frontend
    http-response set-header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
    bind 192.168.161.1:443 name 192.168.161.1:443 accept-proxy ssl curves secp384r1  no-sslv3 no-tlsv10 no-tlsv11 no-tls-tickets ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES256-GCM-SHA384 ciphersuites TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256 alpn h2,http/1.1 crt-list /tmp/haproxy/ssl/62360bcec06250.52672470.certlist
    mode http
    option http-keep-alive
    option forwardfor
    # tuning options
    timeout client 15m

    # logging options
    # ACL: LOCAL_SUBDOMAINS_FQDN_condition
    acl acl_62361ba046b312.42897137 src darkstar.example.xyz
    # ACL: LOCAL_SUBDOMAINS_SUBNETS_condition
    acl acl_62361a89a23796.93721092 src 192.168.110.0/24

    # ACTION: LOCAL_SUBDOMAINS_map-rule
    use_backend %[req.hdr(host),lower,map_dom(/tmp/haproxy/mapfiles/623619b6c7da11.06632077.txt)] if acl_62361ba046b312.42897137 || acl_62361a89a23796.93721092
    # ACTION: PUBLIC_SUBDOMAINS_map-rule
    # NOTE: actions with no ACLs/conditions will always match
    use_backend %[req.hdr(host),lower,map_dom(/tmp/haproxy/mapfiles/623607a0728a46.68273508.txt)]

# Backend: nextcloud_backend (Nextcloud Backend)
backend nextcloud_backend
    # health checking is DISABLED
    mode http
    balance source
    # stickiness
    stick-table type ip size 50k expire 30m 
    stick on src
    # tuning options
    timeout connect 40s
    timeout server 40s
    # ACL: nextcloud-caldav
    acl acl_6236326bbeed09.73911658 path_beg -i /.well-known/caldav
    # ACL: nextcloud-carddav
    acl acl_6236329a31b372.83647612 path_beg -i /.well-known/carddav

    # ACTION: nextcloud-caldav-carddav
    http-request set-path /remote.php/dav if acl_6236326bbeed09.73911658 || acl_6236329a31b372.83647612
    http-reuse safe
    server nextcloud_host 192.168.160.10:443 ssl verify none

# Backend: SSL_backend (SSL Backend TCP)
backend SSL_backend
    # health checking is DISABLED
    mode tcp
    balance source
    # stickiness
    stick-table type ip size 50k expire 30m 
    stick on src
    # tuning options
    timeout connect 40s
    timeout server 40s
    server SSL_Server 192.168.161.1 send-proxy-v2 check-send-proxy

# Backend: bitwarden_backend (Bitwarden Backend)
backend bitwarden_backend
    # health checking is DISABLED
    mode http
    balance source
    # stickiness
    stick-table type ip size 50k expire 30m 
    stick on src
    # tuning options
    timeout connect 40s
    timeout server 40s
    # ACL: bitwarden-admin
    acl acl_62362f799a0826.60491269 path_beg -i /admin

    # ACTION: bitwarden-admin_block
    http-request deny if acl_62362f799a0826.60491269
    http-reuse safe
    server bitwarden_host 192.168.160.20:80

# Backend: zyxel-1_backend (Zyxel-1 Backend)
backend zyxel-1_backend
    # health checking is DISABLED
    mode http
    balance source
    # stickiness
    stick-table type ip size 50k expire 30m 
    stick on src
    # tuning options
    timeout connect 40s
    timeout server 40s
    http-reuse safe
    server zyxel-1 192.168.150.8:443 ssl verify none

# Backend: zyxel-2_backend (Zyxel-2 Backend)
backend zyxel-2_backend
    # health checking is DISABLED
    mode http
    balance source
    # stickiness
    stick-table type ip size 50k expire 30m 
    stick on src
    # tuning options
    timeout connect 40s
    timeout server 40s
    http-reuse safe
    server zyxel-2 192.168.150.9:443 ssl verify none

# Backend: checkmk_backend (CheckMK Backend)
backend checkmk_backend
    # health checking is DISABLED
    mode http
    balance source
    # stickiness
    stick-table type ip size 50k expire 30m 
    stick on src
    # tuning options
    timeout connect 40s
    timeout server 40s
    http-reuse safe
    server checkmk_host 192.168.150.21:8080

# Backend: ampache_backend (Ampache Backend)
backend ampache_backend
    # health checking is DISABLED
    mode http
    balance source
    # stickiness
    stick-table type ip size 50k expire 30m 
    stick on src
    # tuning options
    timeout connect 40s
    timeout server 40s
    http-reuse safe
    server ampache_host 192.168.160.15:443 ssl verify none

# Backend: jellyfin_backend (Jellyfin Backend)
backend jellyfin_backend
    # health checking is DISABLED
    mode http
    balance source
    # stickiness
    stick-table type ip size 50k expire 30m 
    stick on src
    # tuning options
    timeout connect 40s
    timeout server 40s
    http-reuse safe
    server jellyfin_host 192.168.160.16:8096

# Backend: guacamole_backend (Guacamole Backend)
backend guacamole_backend
    # health checking is DISABLED
    mode http
    balance source
    # stickiness
    stick-table type ip size 50k expire 30m 
    stick on src
    # tuning options
    timeout connect 40s
    timeout server 40s
    http-reuse safe
    server guacamole_host 192.168.150.22:8080

# Backend: vpn_backend (OpenVPN Backend)
backend vpn_backend
    # health checking is DISABLED
    mode tcp
    balance source
    # stickiness
    stick-table type ip size 50k expire 30m 
    stick on src
    # tuning options
    timeout connect 40s
    timeout server 40s
    server vpn_host 192.168.110.1:1195

Here the OpenVPN config:
dev ovpns1
verb 1
dev-type tun
dev-node /dev/tun1
writepid /var/run/openvpn_server1.pid
script-security 3
daemon
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
proto tcp-server
cipher AES-256-CBC
auth SHA512
up /usr/local/etc/inc/plugins.inc.d/openvpn/ovpn-linkup
down /usr/local/etc/inc/plugins.inc.d/openvpn/ovpn-linkdown
local 192.168.110.1
client-disconnect "/usr/local/etc/inc/plugins.inc.d/openvpn/attributes.sh server1"
tls-server
server 10.10.1.0 255.255.255.0
client-config-dir /var/etc/openvpn-csc/1
username-as-common-name
auth-user-pass-verify "/usr/local/etc/inc/plugins.inc.d/openvpn/ovpn_auth_verify user 'Local Database' 'false' 'server1'" via-env
tls-verify "/usr/local/etc/inc/plugins.inc.d/openvpn/ovpn_auth_verify tls 'vpn.shuvit.space' 1"
lport 1195
management /var/etc/openvpn/server1.sock unix
max-clients 5
push "route 192.168.110.0 255.255.255.0"
ca /var/etc/openvpn/server1.ca
cert /var/etc/openvpn/server1.cert
key /var/etc/openvpn/server1.key
dh /usr/local/etc/dh-parameters.4096.sample
tls-auth /var/etc/openvpn/server1.tls-auth 0
persist-remote-ip
float

I hope, that someone could help! Thanks in advance.
#5
Danke! Hab nach Lösung gesucht, aber nichts gefunden. Dein Tipp hat auf Anhieb funktioniert.
#6
Wollte mich nochmal für die zahlreichen Tipps bedanken. Haben heute endlich die bestmögliche Lösung zum Laufen gebracht: Router wurde zu Modem degradiert (Single User Mode) - Einwahl macht jetzt die Opnsense - IPsec, OpenVPN, DynDNS - alles funktioniert ohne Doppel-NAT.

Der Service von A1 unter jeder Kritik: Hilfe nur gegen Bezahlung, dann wird mehrmals mitten im Gespräch aufgelegt, bzw. nicht zurück gerufen. Highlight schlechthin: man kann die Bezahl-Hotline nur per A1-Festnetz oder A1-Mobilnetz erreichen, alle anderen Mobilfunk-Anbieter werden nicht unterstützt.
#7
Herzlichen Danke für die aufgezeigten Lösungswege. Wir werden heute mal bei A1 anrufen und erfragen, welche Möglichkeiten der Lösung angeboten werden.
#8
German - Deutsch / OpenVPN auf OPNsense hinter A1-Router
December 30, 2021, 12:26:19 AM
Liebe Community,

ich stehe vor einem Problem, bei dem ich zur Zeit keine Lösung finden kann. Ich habe meinem Bruder zu Weihnachten eine OPNsense-Firewall auf einem Thomas Krenn LES v2 geschenkt. Er hat Internet über einen A1-Router (Österreich), bei dem man nur DMZ einstellen kann, aber sonst nichts. Wir haben die OPNsense in die DMZ gepackt mit MAC-Adresse registriert und auf der OPNsense das Gateway auf die A1-Box eingestellt. Die Nutzung des Internet aus mehreren VLAN's funktioniert einwandfrei. Doppeltes NAT macht dafür auch keine Problem. DynDNS per Cloudflare geht ganz fein und auch Let's Encryt-Zertifikat mit DNS-01 läßt sich einwandfrei erstellen. Soweit sogut.

Für meinen Bruder ist es von größter Bedeutung, dass er sich per VPN mit seinem Netz verbinden kann (300 Tage pro Jahr auf Montage). Hier beginnen die eigentlichen Probleme: laut vielen Beiträgen zu diesem Thema ist nun klar, dass man statische Routen von der A1-Box zur OPNsense benötigt um das zum Laufen zu bringen. Leider weigert sich der Provider weitere Einstellungen an ihrem Router vorzunehmen.

Wir haben für die Fernwartung seines Netzwerks eine IPsec Site-2-Site Verbindung zu meinem Netzwerk erstellt (auch OPNsense), die auf seltsame Weise auch funktioniert. Die Verbindung muss von seiner OPNsense aufgebaut werden, dann funktioniert diese auch recht flott. Für die sinnvolle Nutzung mit Clients wäre aber OpenVPN die erste Wahl. Hier beginnt das eigentliche Problem: da es keine Route von der A1-Box zu OPNsense gibt läuft jeder Verbindungsversuch ins leere.

Gibt es eine Möglichkeit, dass man die "dumme" A1-Box austricksen kann? Ab hier stehe ich komplett im Wald!

An dieser Stelle möchte ich mich bei allen Usern diese Forums ganz herzlich bedanken! Ohne dieses Forum wäre ich als Laie niemals soweit gekommen. Die sehr umfangreichen und leicht verständlichen Erklärungen der Insider haben mir sehr viel geholfen. Besonders wichtig ist es mir zu erwähnen, dass hier ein sehr freundlicher und verständnissvoller Umgangston gepflegt wird, auch wenn manchmal sehr koriose Fragen gestellt werden.

Liebe Grüße aus Wien und frohe Weihnachten nachträglich,
Christian
#9
German - Deutsch / Re: PiHole als DNS - Server
December 29, 2021, 11:41:07 AM
Ich verwende auch PiHole und ich sehe bei der Einstellungen eine Fehler: die ersten beiden Checkboxen sind bei mir abgewählt (Never forward non-FQND, Never forward reverse lookups). So bekommt Pihole die richtigen Namen von der Opnsense. Bei meinem Setup verwende ich Unbound als DNS-Forwarder. Bei Unbound die folgenden beiden Optionen anwählen: DHCP Leases registrieren und Statische DHCP Zuordnungen registrieren). DHCP kommt bei mir von der Opnsense - dort sind meine zwei Piholes als DNS eingetragen.

Hier noch eine schöne Anleitung, die mir selbst sehr geholfen hat:https://homenetworkguy.com/how-to/configure-dns-opnsense-pihole/
#10
German - Deutsch / Re: ACME Plugin Automation
December 07, 2021, 12:40:40 PM
Da ich nicht so fit bin beim Basteln von Skripts hab ich eine andere Lösung gefunden. Ich lass die Kiste einfach alle betroffende Dienste per Aufgabenplaner einmal pro Monat neu starten. Sollte auch funktionieren. Das Zertifikat wird alle 60 Tage erneuert und das Alte ist ja noch gültig. Somit spielt das mit dem genauen Datum keine Rolle.
#11
German - Deutsch / Re: ACME Plugin Automation
December 05, 2021, 02:41:41 PM
Danke für den Tipp! Funktioniert zwar, aber hat den Schönheitsfehler, dass die Zertifikate erst verwendet werden, wenn verschiedene Dienste neu gestartet werden, oder man die Kiste rebootet. Trotzallem besser als nichts. Einmal ein großer Schritt nach vorne.
#12
German - Deutsch / ACME Plugin Automation
December 05, 2021, 12:53:37 AM
Ich hab das ACME Plugin schon seit längerer Zeit erfolgreich am Laufen. Meine OPNsense holt sich regelmäßig per DNS-01 Wildcard-Zertifikate von Let's Encrypt ab. Seit kurzem gibt es unter den Automations die Möglichkeit das Zertifikat zu Synologyy NAS-Systemen zu exportieren. Ich hab das jetzt versucht, aber leider ohne Erfolg. Gibt es eine Anleitung zu dieser Funktion? Ich sehen zwar, dass Zertifikate an das NAS gesendet werden, aber diese landen im Verzeichnis /usr/syno/etc/certificate/system/default. Das ist leider nicht der Ordner, der von der Synology verwendet wird. Für einen Tipp wie es richtig funktionieren sollte wäre ich sehr dakbar.
#13
German - Deutsch / Re: Opnsense + Vlan + Synology NAS
October 08, 2021, 11:39:40 AM
Bei Synology NAS-Geräten muss man bei der Netzwerk-Einstellung berücksichtigen, wie der Port am Switch konfiguriert ist. Wird der Anschluss am Switch ungetaggt verwendet, dann passt die Standardeinstellung auf dem NAS. Sollte der Port am Switch getaggt sein, dann muss in der Netzwerk-Konfiguration des NAS der Haken bei VLAN gesetzt werden, sonst versteht das NAS die Daten nicht.
#14
DNSCrypt-Plugin: alle DNS-Anfragen über DNS over HTTPS (Port 443) oder DNS over TLS (Port 853) umleiten; somit ist der gesamte DNS-Trafic verschlüsselt.
#15
Virtual private networks / Re: wireguard dynamic WAN IP
February 27, 2021, 09:17:26 PM
Wireguard will work with host names as well, but will hang after a reboot of the system. You have to start the service after a reboot manually.