Die folgenden Pakete müssen installiert werden (System -> Software)
kmod-ipip
- Kernel modules for IP-in-IP encapsulation
ip
- Routing control utility (Minimal)
Unter Network -> Firewall -> Traffic Rules -> Source Nat eine neue Source NAT rule anlegen
Name zum Beispiel SNAT 4 public
Source zone lan
Destination zone WAN
To source ip <hier die public IP auswählen>
ACHTUNG: Aufgrund eines Bugs scheint die Source zone lan nicht zu funktionieren. Deshalb muss die SNAT Regel jetzt noch mal editiert werden und unter Source IP address die lan range mittels custom eingetragen werden. Verwendet man z.B. das Netz 192.168.1.0 mit einer netmask von 255.255.255.0 trägt man hier 192.168.1.0/24 ein.
Unter Services -> OLSR IPv4 -> HNA announcments mittels Add die public IP hinzufügen (netmask 255.255.255.255)
Jetzt mittels ssh zum router verbinden und die Datei /etc/config/osrd editieren. Im Abschnit config olsrd Die folgenden zwei Einträge hinzufügen:
option RtTable '111'
option RtTableDefault '112'
PUBLIC_IP=xxx.xxx.xxx.xxx #Hier die zugewiesene public IP eintragen
PUBLIC_GW=10.12.34.56
ip tunnel add public mode ipip remote $PUBLIC_GW local $PUBLIC_IP ttl 255
ip link set public up
ip addr add $PUBLIC_IP dev public
ip route add default dev public table default
ip rule add from all lookup 111 pref 20000
ip rule add from all lookup main pref 30000
ip rule del pref 32766
source /lib/functions/network.sh
i=0
while iface="$( uci -q get olsrd.@Interface[$i].interface )"; do
case "$( uci -q get olsrd.@Interface[$i].ignore )" in
1|on|true|enabled|yes)
# is disabled
;;
*)
if network_get_device device "$iface"; then
ip rule add iif $device pref $(( i + 32000 )) lookup 112
else
echo "Warning: device for OLSR Interface '$interface' not found, skipped"
fi
;;
esac
i=$(( $i + 1 ))
done
exit 0
Jetzt sollte die Public IP für Verbindungen die vom LAN aufgebaut werden funktionieren. Zum testen z.B. http://whatismyip.com öffnen.