Compare commits

...

3 Commits

Author SHA1 Message Date
Blackyfff 1b52a0cf76 file formatting
Signed-off-by: Blackyfff <freifunk@freifunk-herpf.de>
2021-08-31 01:09:09 +02:00
Blackyfff 033a650f4b fix: parsing other tableentries than unicast; bump version
Signed-off-by: Blackyfff <freifunk@freifunk-herpf.de>
2021-08-31 01:06:25 +02:00
Blackyfff e171cc5a3c Update Readme
Signed-off-by: Blackyfff <freifunk@freifunk-herpf.de>
2021-08-31 01:04:38 +02:00
3 changed files with 66 additions and 16 deletions

View File

@ -66,32 +66,34 @@ include "/etc/bind/icvpn-acl.conf"; # auto-generated
options { options {
[..] # eigene Optionen [..] # eigene Optionen
recursion no;
check-names master warn; # Wichtig, da sonst Hostnamen mit _ (z.B.: HUAWEI_P30_lite ) bind nicht laden lassen check-names master warn; # Wichtig, da sonst Hostnamen mit _ (z.B.: HUAWEI_P30_lite ) bind nicht laden lassen
}; };
[..] [..]
view "icvpn-internal-view" { view "icvpn-internal-view" {
match-clients { icvpnrange; localhost; }; match-clients { icvpnrange; localhost; };
allow-query-cache { any; } allow-query-cache { any; };
recursion yes;
[..] # eigene Optionen [..] # eigene Optionen
include "/etc/bind/icvpn-internal-view.conf"; # auto-generated include "/etc/bind/icvpn-internal-view.conf"; # auto-generated
include "/etc/bind/icvpn-zones.conf"; # Nicht vergessen ;) include "/etc/bind/icvpn-zones.conf"; # Nicht vergessen ;) siehe https://github.com/freifunk/icvpn-scripts#dns-mkdns
[..] [..]
}; };
view "external-view" { view "external-view" {
match-clients { any; }; match-clients { any; };
[..] # eigene Optionen [..] # eigene Optionen
include "/etc/bind/external-view.conf"; # auto-generated include "/etc/bind/external-view.conf"; # auto-generated
[..] [..]
}; };
@ -110,7 +112,7 @@ options {
dnssec-policy <Name frei wählbar> { # Name muss in der config gesetzt werden dnssec-policy <Name frei wählbar> { # Name muss in der config gesetzt werden
keys { keys {
ksk key-directory lifetime unlimited algorithm ECDSAP384SHA384; # Alle Server einer Domain müssen den gleichen Algorithmus für ksk wählen ksk key-directory lifetime unlimited algorithm ECDSAP384SHA384; # Alle Server einer Domain müssen den gleichen Algorithmus für ksk wählen
zsk key-directory lifetime P30D algorithm ECDSAP384SHA384; # Alle Server einer Domain müssen den gleichen Algorithmus für zsk wählen zsk key-directory lifetime P30D algorithm ECDSAP384SHA384; # Alle Server einer Domain müssen den gleichen Algorithmus für zsk wählen
}; };
max-zone-ttl 3600; max-zone-ttl 3600;
nsec3param; nsec3param;
@ -118,6 +120,54 @@ dnssec-policy <Name frei wählbar> { # Name muss in der config gesetzt werden
[..] [..]
``` ```
Beispielkonfiguration für DNS64:
```
[..]
view "icvpn-internal-dns64-view" {
match-destinations {
<IPv6>; # eine separate Adresse ist für DNS64 notwendig
};
match-clients { icvpnrange; localhost; };
allow-query-cache { any; };
recursion yes;
dns64 64:ff9b::/96 {
break-dnssec yes;
mapped { !10/8; !192.168/16; !172.16/12; any; };
exclude { 64:FF9B::/96; };
};
include "/etc/bind/icvpn-internal-dns64-view.conf";
[..]
};
view "icvpn-internal-view" {
[..]
```
empfohlene Konfigurationen:
```
options {
[..] # eigene Optionen
minimal-responses yes;
server-id "<eigener Hostname>" # sehr hilfreich wenn anycast-Adressen bedient werden
};
view "external-view" {
[..]
rate-limit {
responses-per-second 50;
};
[..]
};
```
## Konfiguration der Zonendatei ## Konfiguration der Zonendatei
### Einträge generell ### Einträge generell
Alle Einträge sollten im relativen Schema vorliegen, also ohne die Rootdomain und ohne abschließenden Punkt. Alle Einträge sollten im relativen Schema vorliegen, also ohne die Rootdomain und ohne abschließenden Punkt.

View File

@ -8,7 +8,7 @@
# exit script when command fails # exit script when command fails
set -e set -e
export DNSSCRIPT_VERSION="0.8.4" export DNSSCRIPT_VERSION="0.9.0"
. /etc/ffdns/community.conf . /etc/ffdns/community.conf
. /etc/ffdns/local.conf . /etc/ffdns/local.conf
@ -106,7 +106,7 @@ for Hood in $Hoods; do
InsertZoneToViews "$InternalViews" "$ZoneFilesFolder" "$HoodDomain" "$HoodZoneFile" "$TempFolder" "$DNSSECPolicy" InsertZoneToViews "$InternalViews" "$ZoneFilesFolder" "$HoodDomain" "$HoodZoneFile" "$TempFolder" "$DNSSECPolicy"
HoodForwardZones="$ForwardZones $HoodDomain""/""$HoodZoneFile" HoodForwardZones="$ForwardZones $HoodDomain""/""$HoodZoneFile"
UpdateReverseZones "$Subnets" "$HoodForwardZones" UpdateReverseZones "$Subnets" "$HoodForwardZones"
if [ -n "$MasterExternDomain" ]; then if [ -n "$MasterExternDomain" ]; then
HoodExternDomain="${Hood%%\#*}"".""$MasterExternDomain" HoodExternDomain="${Hood%%\#*}"".""$MasterExternDomain"

View File

@ -23,17 +23,17 @@ else
Installed4Routes="" Installed4Routes=""
Installed6Routes="" Installed6Routes=""
for Table in $Tables; do for Table in $Tables; do
Installed4Routes="$(echo "$Installed4Routes" && ip -4 ro sh ta "$Table")" Installed4Routes="$(echo "$Installed4Routes" && ip -d -4 ro sh ta "$Table")"
Installed6Routes="$(echo "$Installed6Routes" && ip -6 ro sh ta "$Table")" Installed6Routes="$(echo "$Installed6Routes" && ip -d -6 ro sh ta "$Table")"
done done
PublicSubs="$(echo "$Installed6Routes" | \ PublicSubs="$(echo "$Installed6Routes" | \
sed -e '/^default from/!d;s/.* from \(\S\+\).*/\1/g')" sed -e '/^unicast default from/!d;s/.* from \(\S\+\).*/\1/g')"
Privatev4Prefix="\(192\.168\.\|172\.\(1[6-9]\|2[0-9]\|3[01]\)\.\|10\.\)" Privatev4Prefix="\(192\.168\.\|172\.\(1[6-9]\|2[0-9]\|3[01]\)\.\|10\.\)"
Privatev6Prefix="\([fF][cCdD][0-9a-fA-F]\{2\}:\)" Privatev6Prefix="\([fF][cCdD][0-9a-fA-F]\{2\}:\)"
Publicv4Singles="$(echo "$Installed4Routes" | \ Publicv4Singles="$(echo "$Installed4Routes" | \
sed -e 's/^\(\S\+\)\s.*/\t\1;/g;/^\t'"$Privatev4Prefix"'\|^\t\(unreachable\|default\|0\.\)\|^$/d')" sed -e 's/^\S\+\s\+\(\S\+\)\s.*/\t\1;/g;/^\t'"$Privatev4Prefix"'\|^\t\(unreachable\|default\|0\.\)\|^$/d')"
Publicv6Singles="$(echo "$Installed6Routes" | \ Publicv6Singles="$(echo "$Installed6Routes" | \
sed -e 's/^\(\S\+\)\s.*/\1/g;/^'"$Privatev6Prefix"'\|^\(unreachable\|default\|::\|64:ff9b::\)\|^$/d')" sed -e 's/^\S\+\s\+\(\S\+\)\s.*/\1/g;/^'"$Privatev6Prefix"'\|^\(unreachable\|default\|::\|64:ff9b::\)\|^$/d')"
# the following code is not well optimized yet and may take a bit to process # the following code is not well optimized yet and may take a bit to process
# therefore it is not recommended to activate it on hardware-routers # therefore it is not recommended to activate it on hardware-routers