...
Damit werden alle Pakete, die über die Bridge rein kommen, mit dem 0x1-Flag markiert, und damit über Routing-Tabelle 42 geschickt. Das bedeutet, diese gehen nicht über die standard Routing-Tabelle. Außerdem gibt es noch 2 Regeln für DNS, dass auch DNS-Pakete (Port 53 TCP/UDP) über die Tabelle 42 geschickt werden. Ansonsten würden DNS-Anfragen über deine normale Internetverbindung raus gehen.
Wiki-Markup |
---|
<file - iptables.up.rules>
*filter
:INPUT ACCEPT \[0:0]
:FORWARD ACCEPT \[0:0]
:OUTPUT ACCEPT \[0:0]
COMMIT |
Wiki-Markup Regeln zum markieren eingehender Pakete *mangle :PREROUTING ACCEPT \[0:0] :INPUT ACCEPT \[0:0] :FORWARD ACCEPT \[0:0] :OUTPUT ACCEPT \[0:0] :POSTROUTING ACCEPT \[0:0] -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o tun-+ -j TCPMSS --set-mss 1280 -A PREROUTING -i br0 -j MARK --set-xmark 0x1/0xffffffff -A OUTPUT -o eth0 -p udp --dport 53 -j MARK --set-xmark 0x1/0xffffffff -A OUTPUT -o eth0 -p tcp --dport 53 -j MARK --set-xmark 0x1/0xffffffff COMMIT
Wiki-Markup Route nach extern per nat. *nat :PREROUTING ACCEPT \[0:0] :INPUT ACCEPT \[0:0] :OUTPUT ACCEPT \[0:0] :POSTROUTING ACCEPT \[0:0] -A POSTROUTING -o tun-+ -j SNAT --to-source <öffentliche IPv4 des Gateway> COMMIT </file>
Diese Regel sorgt dafür, dass dein Router auch das NAT übernimmt.
...
Codeblock |
---|
return (net ~ [::/0]); |
}
- own networks
Wiki-Markup |
---|
function is_self_net() \{
return net ~ \[ fd68:e2ea:a53::/48+ ];
} |
- freifunk ip ranges in general
Wiki-Markup |
---|
function is_freifunk() \{
return net ~ \[ fc00::/7\{48,64},
2001:bf7::/32+];
} |
filter hostroute {
Codeblock |
---|
if net ~ 2a03:2260:115::/48 then accept; reject; |
...
- Bind to a fixed address and port, IPv4 and IPv6
Wiki-Markup |
---|
bind EXTERNE-IPv4-ADRESSE:14242 interface "eth0";
bind \[EXTERNE-IPv6-ADRESSE]:14242 interface "eth0"; |
- Set the user, fastd will work as
...
- It is not safe to start if we don't have a default configuration...
Wiki-Markup |
---|
if \[ ! -f "$DHCPD_DEFAULT" ]; then |
Codeblock |
---|
echo "$DHCPD_DEFAULT does not exist! - Aborting..." if [ "$DHCPD_DEFAULT" = "/etc/default/isc-dhcp6-server" ]; then echo "Run 'dpkg-reconfigure isc-dhcp-server' to fix the problem." fi exit 0 |
...
- Read init script configuration
Wiki-Markup |
---|
\[ -f "$DHCPD_DEFAULT" ] && . "$DHCPD_DEFAULT" |
NAME=dhcpd
DESC="ISC DHCP6 server"
...
- try to read pid file name from config file, with fallback to /var/run/dhcpd.pid
Wiki-Markup |
---|
if \[ -z "$DHCPD_PID" ]; then |
Codeblock |
---|
DHCPD_PID=$(sed -n -e 's/^[ \t]*pid-file-name[ \t]*"(.*)"[ \t]*;.*$/\1/p' < "$DHCPD_CONF" 2>/dev/null | head -n 1) |
...
- Regexps for files to ignore
Wiki-Markup |
---|
ignore_file \[\#~]$
ignore_file DEADJOE$
ignore_file \.bak$
ignore_file %$
ignore_file \.dpkg-(tmp|new|old|dist)$
ignore_file \.rpm(save|new)$
ignore_file \.pod$ |
- Set this if the client doesn't report the correct hostname when
- telnetting to localhost, port 4949
#
host_name freifunk-gateway-zz
...
- Which address to bind to;
#host * - host 127.0.0.1
Wiki-Markup |
---|
host \[2a03:2260:115::z] |
- And which port
port 4949
</file>
Hierbei ist der Eintrag host
gegen die IPv6-Adresse deines Servers im Freifunknetz (also des br0-Interfaces) zu ersetzen, und host_name gegen den gewünschten Hostnamen.
...