diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2009-05-06 09:53:36 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2009-05-06 09:53:36 +0000 |
commit | ec0c7a74bbf5824adc4efa54e1f91984ac870a8e (patch) | |
tree | 7f5a8763836154b10c8325629b493ebc67ead7e6 /setup-alpine-web | |
parent | f590563940559429ffe77094473d12361937852d (diff) | |
download | alpine-conf-ec0c7a74bbf5824adc4efa54e1f91984ac870a8e.tar.bz2 alpine-conf-ec0c7a74bbf5824adc4efa54e1f91984ac870a8e.tar.xz |
move to .in files
Diffstat (limited to 'setup-alpine-web')
-rw-r--r-- | setup-alpine-web | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/setup-alpine-web b/setup-alpine-web deleted file mode 100644 index ca98d1f..0000000 --- a/setup-alpine-web +++ /dev/null @@ -1,145 +0,0 @@ -#!/bin/sh - -PROGRAM=${0##*/} - -BRNUM=0 -CNET="10.$BRNUM.0" -HNAME=alpine -DOMAIN="bootstrap.invalid" -IFACE_LIST=/tmp/interfaces - -get_interfaces() { - [ -f "$IFACE_LIST" ] || tail -n +3 /proc/net/dev \ - | awk -F: '$1 !~ /lo/ { print $1 }' > "$IFACE_LIST" - cat "$IFACE_LIST" -} - -make_dhcp_subnet() { - local num=$1 - local iface=$2 - local network="$CNET.$num" - local netmask=255.255.255.240 - local router="$CNET.$(( $num + 1 ))" - local poolstart="$CNET.$(( $num + 3 ))" - local poolend="$CNET.$(( $num + 14 ))" - echo "subnet $network netmask $netmask {" - echo " range $poolstart $poolend;" - echo " option routers $router;" - echo "}" - echo "" - ip addr add $router/28 dev $iface || echo "Failed to set address $router/28 on $iface" >&2 - ip link set dev $iface up - iptables -t nat -A PREROUTING -i $iface -j DNAT --to-destination $router -} - -make_dhcp_global() { - echo "option domain-name \"$DOMAIN\";" - echo "option domain-name-servers $CNET.1;" - echo "ddns-update-style none;" - echo "" -} - -do_setup() { - local i - local count - hostname $HNAME - - # install needed packages - apk_add dhcp iptables "$@" - - # config dhcp server - make_dhcp_global > /etc/dhcp/dhcpd.conf - count=0 - for i in $(get_interfaces); do - # maximum 16 network interfaces - [ $count -ge 16 ] && break - make_dhcp_subnet $(( $count * 16 )) $i >> /etc/dhcp/dhcpd.conf - count=$(( $count + 1 )) - done - - /etc/init.d/syslog start - /etc/init.d/dhcpd start - FORCE_SETUP_WEBCONF=yes setup-webconf "$@" - - # set up http listener/forwarder - mkdir -p /var/www/redirect - cat <<EOF >/var/www/redirect/index.html -<html> - <head> - <meta HTTP-EQUIV="REFRESH" content="0; url=https://$(hostname)"> - </head> - <body></body> -</html> -EOF - echo "E404:/var/www/redirect/index.html" > /etc/httpd.conf - echo "HTTPD_OPTS=\"-h /var/www/redirect\"" > /etc/conf.d/httpd - - /etc/init.d/httpd start - - # dummy dns - echo "* $CNET.1" > /etc/dnsd.conf - /etc/init.d/dnsd start -} - -# reconf dhcp and kill all interfaces but $1 -do_reset() { - local iface=$1 - local i - local oldip=$(ip addr show dev $iface | awk '/inet / { print $2 } ' | head -n 1) - - # setup new dhcpd.conf - make_dhcp_global > /etc/dhcp/dhcpd.conf - cat >> /etc/dhcp/dhcpd.conf <<EOF -subnet $CNET.0 netmask 255.255.255.0 { - range $CNET.3 $CNET.14; - option routers $CNET.1; -} -EOF - - # shut down all interfaces - for i in $(get_interfaces); do - ip addr flush dev $i - [ "$i" = "$iface" ] && continue - ip link set dev $i down - done - - # bring interface up again and flush iptables - ip addr add $oldip dev $iface - ip addr add $CNET.1/24 dev $iface - iptables -t nat -F PREROUTING - - /etc/init.d/dhcpd restart -} - -usage() { - cat <<EOF -usage: $PROGRAM [-c X.Y.Z] [-H HOSTNAME] [-R IFACE] -options: - -c Use X.Y.Z as network prefix rather than $CNET - -H set hostname - -R reset previously configured initerfaces and configure IFACE - -EOF - exit 0 -} - -# parse args -while getopts "b:c:d:H:hR:" opts; do - case "$opts" in - b) BRNUM="$OPTARG";; - c) CNET="$OPTARG";; - d) DOMAIN="$OPTARG";; - H) HNAME="$OPTARG";; - h) usage;; - R) KEEP_IFACE="$OPTARG";; - esac -done -shift $(( $OPTIND - 1 )) - -if [ -z "$KEEP_IFACE" ]; then - do_setup "$@" - exit 0 -fi - -do_reset "$KEEP_IFACE" - |