summaryrefslogtreecommitdiffstats
path: root/setup-alpine-web
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-05-06 09:53:36 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2009-05-06 09:53:36 +0000
commitec0c7a74bbf5824adc4efa54e1f91984ac870a8e (patch)
tree7f5a8763836154b10c8325629b493ebc67ead7e6 /setup-alpine-web
parentf590563940559429ffe77094473d12361937852d (diff)
downloadalpine-conf-ec0c7a74bbf5824adc4efa54e1f91984ac870a8e.tar.bz2
alpine-conf-ec0c7a74bbf5824adc4efa54e1f91984ac870a8e.tar.xz
move to .in files
Diffstat (limited to 'setup-alpine-web')
-rw-r--r--setup-alpine-web145
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"
-