Hallo. Ich habe zwei örtlich getrennte Fritzboxen, die ich per Site-to-Site VPN verbunden habe. Dies funktioniert auch, allerdings nicht Namensauflösung. Mein Ziel ist, dass diese bash-Zeile erfolgreich verläuft (sprich, die Namen in den beiden Netzen können sich gegenseitig auflösen und erreichen):
Was funktioniert ist das hier:
Fritzbox 7390 (mit Freetz-NG):
Fritzbox 7490:
Der Tunnelaufbau und keep-alive funktionieren und der normale Traffic wird von 7390->7490 per VPN geschickt. Allerdings nicht die DNS-Abfragen über Port 53 (steht ja auch in 7390.cfg accesslist als reject), die verlaufen weiterhin über den Internetzugang des unbekannten Netzwerkes. Weiterhin betreibe ich im 192.168.178.0er Netz einen Server mit Portweiterleitung der 7490, soweit ich das verstanden habe, kann der über NAT-Hairpinning auch intern erreichbar sein.
Nun möchte ich gerne auch diese DNS-Abfragen über VPN schicken. Das klappt allerdings nicht, da ein Fehlen von
Allgemein scheint die Idee mit DNS über VPN schon gefragt worden zu sein: https://www.ip-phone-forum.de/threads/dns-für-domain-controller-über-vpn.286675/, https://www.ip-phone-forum.de/threads/mini-howto-kompletten-internetverkehr-über-avm-vpn-routen.189391/post-2307151, https://www.ip-phone-forum.de/threads/eigene-dns-server-per-fritzbox-vpn-nutzen.283573/#post-2142484. Allerdings nicht mit vollständigen Lösungen.
Meine Fragen: Ist es dennoch möglich, den gesamten Traffic (einschl. DNS) über den VPN Tunnel zu senden (vielleicht via
Eine Möglichkeit wäre, in den DHCP-Einstellungen der 7390 die DNS-Server Adresse auf 192.168.178.1 (also 7490) zu stellen, ich erhalte jedoch keine IPs wenn ich dann z.B.
Achja, eine letzte Frage. Etwas OT: Gibt es irgendwo eine Übersicht/Erklärung der ".cfg"-Dateien? Speziell hinsichtlich
7390.cfg
7490.cfg
user@pc-192-168-188-188$ ping pc-192-168-178-178
und gerne auch andersherum.Was funktioniert ist das hier:
user@pc-192-168-188-188$ ping 192.168.178.178
und andersherum (der pc-... soll hier ein beliebiger host sein). Das ist der derzeitige Stand:|7490|---|INTERNET|---|Unbekannt|---|6390|
Fritzbox 7390 (mit Freetz-NG):
- VPN-Initiator/Client und Internetzugang hinter/über unbekanntem Netzwerk (172.16.0.1/24)
- Name: my-fritzbox
- WAN IP: 172.16.0.10, GW: 172.16.0.1
- LAN IP: 192.168.188.1/24
- VPN config: 7390.cfg
- Fixed DNS: 192.168.178.1, 1.1.1.1
Fritzbox 7490:
- VPN-Responder/Host und Router mit dynamischer IP Adresse
- DynDNS (abcd.myfritz.net)
- LAN IP: 192.168.178.1/24
- VPN config: 7490.cfg
- Im Netz: Ein Server der von außen unter example.com erreichbar ist
Der Tunnelaufbau und keep-alive funktionieren und der normale Traffic wird von 7390->7490 per VPN geschickt. Allerdings nicht die DNS-Abfragen über Port 53 (steht ja auch in 7390.cfg accesslist als reject), die verlaufen weiterhin über den Internetzugang des unbekannten Netzwerkes. Weiterhin betreibe ich im 192.168.178.0er Netz einen Server mit Portweiterleitung der 7490, soweit ich das verstanden habe, kann der über NAT-Hairpinning auch intern erreichbar sein.
Nun möchte ich gerne auch diese DNS-Abfragen über VPN schicken. Das klappt allerdings nicht, da ein Fehlen von
reject udp any and eq 53
in der accesslist von 7390.cfg einen Aufbau des Tunnels nicht möglich macht wegen timeout der DNS-Auflösung. Das sagt soweit auch folgender Post.Allgemein scheint die Idee mit DNS über VPN schon gefragt worden zu sein: https://www.ip-phone-forum.de/threads/dns-für-domain-controller-über-vpn.286675/, https://www.ip-phone-forum.de/threads/mini-howto-kompletten-internetverkehr-über-avm-vpn-routen.189391/post-2307151, https://www.ip-phone-forum.de/threads/eigene-dns-server-per-fritzbox-vpn-nutzen.283573/#post-2142484. Allerdings nicht mit vollständigen Lösungen.
Meine Fragen: Ist es dennoch möglich, den gesamten Traffic (einschl. DNS) über den VPN Tunnel zu senden (vielleicht via
conn_type=conntype_user
)? Falls nicht, könnte man dies über Freetz-NG (tinyc, wireguard, opencvpn) erreichen oder gibt es Alternativen? DNSmasq ist auf der Freetz-NG Fritzbox installiert, jedoch deaktiviert. Könnte DNSmasq da helfen?Eine Möglichkeit wäre, in den DHCP-Einstellungen der 7390 die DNS-Server Adresse auf 192.168.178.1 (also 7490) zu stellen, ich erhalte jedoch keine IPs wenn ich dann z.B.
user@pc-192-168-188-188$ dig pc-192-168-178-178
durchführe.Achja, eine letzte Frage. Etwas OT: Gibt es irgendwo eine Übersicht/Erklärung der ".cfg"-Dateien? Speziell hinsichtlich
conn_typ=conntype_lan, conntype_out, conntype_user
7390.cfg
Code:
vpncfg {
connections {
enabled = yes;
editable = no;
conn_type = conntype_lan;
name = "abcd.myfritz.net";
always_renew = no;
reject_not_encrypted = no;
dont_filter_netbios = yes;
localip = 0.0.0.0;
local_virtualip = 0.0.0.0;
remoteip = 0.0.0.0;
remote_virtualip = 0.0.0.0;
remotehostname = "abcd.myfritz.net";
keepalive_ip = 192.168.178.1;
localid {
fqdn = "my-fritzbox.lan";
}
remoteid {
fqdn = "abcd.myfritz.net";
}
mode = phase1_mode_aggressive;
phase1ss = "all/all/all";
keytype = connkeytype_pre_shared;
key = "$KEY";
cert_do_server_auth = no;
use_nat_t = yes;
use_xauth = no;
use_cfgmode = no;
phase2localid {
ipnet {
ipaddr = 192.168.188.0;
mask = 255.255.255.0;
}
}
phase2remoteid {
ipnet {
ipaddr = 192.168.178.0;
mask = 255.255.255.0;
}
}
phase2ss = "esp-all-all/ah-none/comp-all/no-pfs";
accesslist = "reject udp any any eq 53", //permit does not work
"reject udp any any eq 500",
"reject udp any any eq 4500",
"permit ip any any";
}
ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",
"udp 0.0.0.0:4500 0.0.0.0:4500";
}
7490.cfg
Code:
vpncfg {
connections {
enabled = yes;
editable = no;
conn_type = conntype_lan;
name = "my-fritzbox.lan";
always_renew = no;
reject_not_encrypted = no;
dont_filter_netbios = yes;
localip = 0.0.0.0;
local_virtualip = 0.0.0.0;
remoteip = 0.0.0.0;
remote_virtualip = 0.0.0.0;
keepalive_ip = 192.168.188.1;
localid {
fqdn = "abcd.myfritz.net";
}
remoteid {
fqdn = "my-fritzbox.lan";
}
mode = phase1_mode_aggressive;
phase1ss = "all/all/all";
keytype = connkeytype_pre_shared;
key = "$KEY";
cert_do_server_auth = no;
use_nat_t = yes;
use_xauth = no;
use_cfgmode = no;
phase2localid {
ipnet {
ipaddr = 192.168.178.0;
mask = 255.255.255.0;
}
}
phase2remoteid {
ipnet {
ipaddr = 192.168.188.0;
mask = 255.255.255.0;
}
}
phase2ss = "esp-all-all/ah-none/comp-all/no-pfs";
accesslist = "permit ip any 192.168.188.0 255.255.255.0";
}
ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",
"udp 0.0.0.0:4500 0.0.0.0:4500";
}