contrib/meshwizard: Add wan configuration
This commit is contained in:
parent
334756a472
commit
5654bb7ef6
4 changed files with 61 additions and 8 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue