Hallo zusammen,
ich habe folgenden Plan:
Mein Ziel ist bestimmten Internetverkehr durch die VPNs zu routen.
Beispielsweise möchte ich die Domain web.de durch de-vpn routen und example.ch durch den ch-vpn.
da ich mit unbound und pihole einen rekursiven DNS Server betreibe möchte ich die IPs auflösen lassen und dann durch die VPNs routen. wichtig ist mir, dass das Routing domainbasiert funktioniert und ich keine IP-tabellen manuell pflegen muss, daher dachte ich ich setze DNSmasq ein. Weiterhin möchte ich später auch ganze LXC durch den VPN jagen (ich dachte ich stelle den Gateway des LXC dann einfach auf die IP eines VPNs)
ich habe versucht dies (vorerst nur mit einem VPN) umzusetzen, aber leider hat das nicht geklappt traceroute hat mir gezeigt, dass der verkehr nicht über den VPN geleitet wurde. Anbei habe ich noch ein Flussdiagramm angehängt die die Systematik (hoffentlich) genauer beschreibt/darstellt.
Meine vorgenommenen Einstellungen im Host:
#Mangle-Regeln (Markierung des VPN-Verkehrs)
#Setzen der DNSmasq-Regeln auf dem Host in /etc/dnsmasq.d/10-vpn-routing.conf
#Erstelle die benötigten ipset-Sets auf dem Host
# DE-VPN Route (table 190)
# CH-VPN Route (table 191)
# NAT auf dem Host für DE-VPN
# NAT auf dem Host für CH-VPN
Ist mein Plan überhaupt umsetzbar? macht das so Sinn? Habe ich etwas falsch gemacht, oder vergessen?
Würde mich freuen wenn jemand mal drüberschauen könnte.
Danke und liebe Grüße
Kriggx
ich habe folgenden Plan:
Mein Ziel ist bestimmten Internetverkehr durch die VPNs zu routen.
Beispielsweise möchte ich die Domain web.de durch de-vpn routen und example.ch durch den ch-vpn.
da ich mit unbound und pihole einen rekursiven DNS Server betreibe möchte ich die IPs auflösen lassen und dann durch die VPNs routen. wichtig ist mir, dass das Routing domainbasiert funktioniert und ich keine IP-tabellen manuell pflegen muss, daher dachte ich ich setze DNSmasq ein. Weiterhin möchte ich später auch ganze LXC durch den VPN jagen (ich dachte ich stelle den Gateway des LXC dann einfach auf die IP eines VPNs)
Voraussetzungen:
- Pi-hole und Unbound laufen im LXC Container 192.168.187.50.
- DE-VPN-Container hat die IP 192.168.187.190 (interne VPN-Schnittstelle: tun0, Host sieht veth900i0)
- CH-VPN-Container hat die IP 192.168.187.191 (interne VPN-Schnittstelle: tun0, Host sieht veth901i0)
- Alle Container laufen auf einem Proxmox-Host (aktuelle Version), der das zentrale Routing übernimmt
ich habe versucht dies (vorerst nur mit einem VPN) umzusetzen, aber leider hat das nicht geklappt traceroute hat mir gezeigt, dass der verkehr nicht über den VPN geleitet wurde. Anbei habe ich noch ein Flussdiagramm angehängt die die Systematik (hoffentlich) genauer beschreibt/darstellt.
Meine vorgenommenen Einstellungen im Host:
#VPN-Routing-Tabellen im Host
Code:
echo "190 de-vpn" >> /etc/iproute2/rt_tables
echo "191 ch-vpn" >> /etc/iproute2/rt_tables
#Mangle-Regeln (Markierung des VPN-Verkehrs)
# Verkehr für de-vpn
iptables -t mangle -A PREROUTING -m set --match-set de-vpnset dst -j MARK --set-mark 0x1
[B]# Verkehr für ch-vpn[/B]
iptables -t mangle -A PREROUTING -m set --match-set ch-vpnset dst -j MARK --set-mark 0x2
#Setzen der DNSmasq-Regeln auf dem Host in /etc/dnsmasq.d/10-vpn-routing.conf
Code:
# Domains für DE-VPN
ipset=/web.de/de-vpnset
# Domains für CH-VPN
ipset=/example.ch/ch-vpnset
#Erstelle die benötigten ipset-Sets auf dem Host
ipset create de-vpnset hash:ip
ipset create ch-vpnset hash:ip
# DE-VPN Route (table 190)
ip rule add fwmark 0x1 table 190
ip route add default via 192.168.187.190 dev veth900i0 table 190
# CH-VPN Route (table 191)
ip rule add fwmark 0x2 table 191
ip route add default via 192.168.187.191 dev veth901i0 table 191
# NAT auf dem Host für DE-VPN
iptables -t nat -A POSTROUTING -o veth900i0 -j MASQUERADE
# NAT auf dem Host für CH-VPN
iptables -t nat -A POSTROUTING -o veth901i0 -j MASQUERADE
Ist mein Plan überhaupt umsetzbar? macht das so Sinn? Habe ich etwas falsch gemacht, oder vergessen?
Würde mich freuen wenn jemand mal drüberschauen könnte.
Danke und liebe Grüße
Kriggx
Attachments
Last edited: