Zeile 121: |
Zeile 121: |
| <pre> | | <pre> |
| #!/bin/sh | | #!/bin/sh |
| + | |
| + | # Verbinden von funkmaessig getrennten Wireless-Mesh-Wolken ueber ein VPN: |
| + | # Dies ist ein speziell angepasstes Skript zum erstellen einer vtund-Konfiguration |
| + | # und zum erstellen einer OLSR-Konfiguration mit passenden Interfacenamen. |
| + | # Das Skript ist exakt das selbe auf Client und Server, es ist also kein manueller |
| + | # Eingriff noetig. Es wird eine SternTopologie erzeugt mit einem Server mit |
| + | # oeffentlicher IP-Adresse und den Clients hinter NAT-Gateways. |
| + | # Es werden unauthentifizierten, unkomprimierte und unverschluesselte Tunnel erzeugt. |
| + | |
| + | # Variablendefinitionen |
| + | THIS="$(nvram get wifi_ipaddr|cut -d'.' -f3)" |
| + | OLSR="/etc/local.olsrd.conf"; VTUN="/etc/vtund.conf" |
| + | VPN="10.63.254"; SRV="214"; CNT="-1"; SRVPUBLIC="141.54.160.25" |
| + | # Liste aller teilnehmenden Clients (Netzknotennummern) |
| + | LST="41 82 42 37 62 54 135 87 1" |
| | | |
| # Funktion um Netzknotennummer einem Ort zuzuweisen,fuer lesbare Konfig | | # Funktion um Netzknotennummer einem Ort zuzuweisen,fuer lesbare Konfig |
Zeile 143: |
Zeile 158: |
| echo -e "MidInterval 15.0\nMidValidityTime 270.0\nHnaInterval 15.0\nHnaValidityTime 90.0" | | echo -e "MidInterval 15.0\nMidValidityTime 270.0\nHnaInterval 15.0\nHnaValidityTime 90.0" |
| } | | } |
− |
| |
− | # Variablendefinitionen
| |
− | THIS="$(nvram get wifi_ipaddr|cut -d'.' -f3)"
| |
− | OLSR="/etc/local.olsrd.conf"; VTUN="/etc/vtund.conf"
| |
− | VPN="10.63.254"; SRV="214"; CNT="-1"; SRVPUBLIC="141.54.160.25"
| |
− | # Liste aller teilnehmenden Clients (Netzknotennummern)
| |
− | LST="41 82 42 37 62 54 135 87 1"
| |
| | | |
| # sicherheitshalber evtl. laufende Instanzen und/oder vorhandene Dateien loeschen | | # sicherheitshalber evtl. laufende Instanzen und/oder vorhandene Dateien loeschen |
Zeile 167: |
Zeile 175: |
| iptables -I POSTROUTING -t nat -o tun$CNT -j MASQUERADE | | iptables -I POSTROUTING -t nat -o tun$CNT -j MASQUERADE |
| done | | done |
| + | # Server starten |
| vtund -s | | vtund -s |
| else | | else |
Zeile 174: |
Zeile 183: |
| echo >>$VTUN " up { program \"ip addr add dev %% $VPN.$THIS peer $VPN.$SRV; ip link set %% mtu 1450 up\"; }; }" | | echo >>$VTUN " up { program \"ip addr add dev %% $VPN.$THIS peer $VPN.$SRV; ip link set %% mtu 1450 up\"; }; }" |
| echo >>$OLSR -e "Interface \"tun0\"$(write_olsr)\nIp4Broadcast $VPN.$SRV\nLinkQualityMult $VPN.$SRV 0.1\n}" | | echo >>$OLSR -e "Interface \"tun0\"$(write_olsr)\nIp4Broadcast $VPN.$SRV\nLinkQualityMult $VPN.$SRV 0.1\n}" |
− | # und starten | + | # Client starten |
| vtund $(get_name $THIS) $SRVPUBLIC | | vtund $(get_name $THIS) $SRVPUBLIC |
| fi | | fi |
| </pre> | | </pre> |