contrib/meshwizard: Add wan configuration

This commit is contained in:
Manuel Munz 2011-10-26 12:53:40 +00:00
parent 334756a472
commit 5654bb7ef6
4 changed files with 61 additions and 8 deletions

View file

@ -20,6 +20,6 @@ for v in system wifi_device wifi_iface interface alias dhcp olsr_interface olsr_
done
# read values from meshwizard
for v in system luci_main contact community; do
for v in system luci_main contact community wan; do
get_var meshwizard.$v
done

View file

@ -61,11 +61,11 @@ if [ "$net_dhcp" == 1 ]; then
uci set network.${netrenamed}dhcp.interface="$netrenamed"
fi
uci batch << EOF
set network.${netrenamed}dhcp.proto=static
set network.${netrenamed}dhcp.ipaddr="$START"
set network.${netrenamed}dhcp.netmask="$NETMASK"
uci_commitverbose "Setup interface for ${netrenamed}dhcp" network
uci batch << EOF
set network.${netrenamed}dhcp.proto=static
set network.${netrenamed}dhcp.ipaddr="$START"
set network.${netrenamed}dhcp.netmask="$NETMASK"
uci_commitverbose "Setup interface for ${netrenamed}dhcp" network
EOF
fi

View file

@ -0,0 +1,48 @@
#!/bin/sh
# Setup static interface settings for wan if wan is not an olsr interface
[ ! "$(uci -q get network.wan)" == "interface" ] && exit
. /etc/functions.sh
. $dir/functions.sh
uci batch << EOF
set network.wan.proto='$wan_proto'
set network.wan.ipaddr='$wan_ip4addr'
set network.wan.netmask='$wan_netmask'
set network.wan.gateway='$wan_gateway'
set network.wan.dns='$wan_dns'
EOF
uci_commitverbose "Setup static ip settings for wan" network
uci delete meshwizard.wan && uci commit meshwizard
# Firewall rules to allow incoming ssh and web
if [ "$wan_allowssh" == 1 ]; then
uci batch << EOF
set firewall.wanssh=rule
set firewall.wanssh.src=wan
set firewall.wanssh.target=ACCEPT
set firewall.wanssh.proto=tcp
set firewall.wanssh.dest_port=22
EOF
uci_commitverbose "Allow incoming connections to port 22 (ssh) on wan" firewall
fi
if [ "$wan_allowweb" == 1 ]; then
uci batch << EOF
set firewall.wanweb=rule
set firewall.wanweb.src=wan
set firewall.wanweb.target=ACCEPT
set firewall.wanweb.proto=tcp
set firewall.wanweb.dest_port=80
set firewall.wanwebhttps=rule
set firewall.wanwebhttps.src=wan
set firewall.wanwebhttps.target=ACCEPT
set firewall.wanwebhttps.proto=tcp
set firewall.wanwebhttps.dest_port=443
EOF
uci_commitverbose "Allow incoming connections to port 80 and 443 (http and https) on wan" firewall
fi

View file

@ -12,7 +12,7 @@
. /etc/functions.sh
echo "
/* Meshwizard 0.0.5 */
/* Meshwizard 0.0.4 */
"
# config
@ -36,6 +36,7 @@ $dir/helpers/rename-wifi.sh
community=$(uci -q get meshwizard.community.name || uci -q get freifunk.community.name)
[ -z "$community" ] && echo "Error: Community is not set in /etc/config/freifunk, aborting now." && exit 1
export community="$community"
echo $community
# Get a list of networks we need to setup
networks=$(uci show meshwizard.netconfig | grep -v "netconfig=" | sed -e 's/meshwizard.netconfig\.\(.*\)\_.*/\1/' |sort|uniq)
@ -58,6 +59,10 @@ $dir/helpers/setup_system.sh
$dir/helpers/setup_olsrd.sh
$dir/helpers/setup_firewall.sh
if [ "$wan_proto" == "static" ] && [ -n "$wan_ip4addr" ] && [ -n "$wan_netmask" ]; then
$dir/helpers/setup_wan_static.sh
fi
# Configure found networks
for net in $networks; do
# radioX devices need to be renamed
@ -80,4 +85,4 @@ done
##### Reboot the router (because simply restarting services gave errors)
#reboot
reboot