Browse Source

added project files

Joachim M. Giæver 7 years ago
parent
commit
7d540611f3
2 changed files with 106 additions and 0 deletions
  1. 93 0
      assign-ip-ssid
  2. 13 0
      dnsmasq.conf

+ 93 - 0
assign-ip-ssid

@@ -0,0 +1,93 @@
+#!/bin/sh
+CONFIG=1
+source /usr/sbin/helper.sh
+
+DNSMASQ_CONF=/etc/dnsmasq.conf
+
+if [ `cat ${DNSMASQ_CONF} | grep -c "log-dhcp"` -eq 0 ]; then
+    echo "log-dhcp" >> ${DNSMASQ_CONF}
+fi
+
+#$(logger "")
+#if [ $? -ne 0 ]; then
+#    logger () {
+#        echo "${1}"
+#    }
+#fi
+
+log_err () {
+    #if [ ${1} -ne 0 ]; then
+    logger "${2}[${1}] - ${3}"
+    #fi
+}
+
+cmd_run () {
+    ERR=`${2}`
+    ERRCODE=$?
+    log_err ${ERRCODE} "${1}" "${ERR}: ${2}"
+    return ${ERRCODE}
+}
+
+ebt_rule () {
+    FLAG=${1}
+    RULE=${2}
+
+    #if [ -n "${RULE}" ] && [ `ebtables -t broute -L | grep -ice "${RULE}"` -ne 1 ]; then
+    cmd_run "ebtables" "ebtables -t broute ${FLAG} BROUTING ${RULE}"
+    #fi
+}
+
+
+assign_ip () {
+    IFACE=${1}
+    IFACE_NWRK_ADDR=${2}
+    IFACE_INET_ADDR=${3}
+    IFACE_NETMASK=${4}
+    
+    DHCP_START=${5}
+    DHCP_END=${6}
+
+    if [ `cat ${DNSMASQ_CONF} | grep -c ${IFACE}` -eq 0 ]; then
+        killall dnsmasq
+        logger "dnsmasq-dhcp: Configure ${IFACE} to have special DHCP"
+        pc_append "interface=${IFACE}" ${DNSMASQ_CONF}
+        pc_append "dhcp-range=${IFACE},${DHCP_START},${DHCP_END},${IFACE_NETMASK},86400s" ${DNSMASQ_CONF}
+        pc_append "dhcp-option=${IFACE},3,${IFACE_INET_ADDR}" ${DNSMASQ_CONF}
+        pc_append "dhcp-option=${IFACE},6,8.8.8.8,8.8.4.4" ${DNSMASQ_CONF}
+        sleep 1
+        #service restart_dnsmasq
+        dnsmasq --log-async
+    else
+        _quote "dhcp-range=${IFACE}"
+        pc_append "dhcp-range=${IFACE},[a-z0-9]+" "dhcp-range=${IFACE},${DHCP_START},${DHCP_END},${IFACE_NETMASK},86400s" ${DNSMASQ_CONF}
+    fi
+
+    cmd_run "ifconfig" "ifconfig ${IFACE} ${IFACE_INET_ADDR} netmask ${IFACE_NETMASK}"
+    #ip route show table main | grep -Ev ^default | while read ROUTE; do
+    #    if [ `ip route show table 10 | grep -c "${ROUTE}"` -eq 0 ]; then
+    #        cmd_run "ip-route" "ip route add table 10 ${ROUTE}"
+    #    fi
+    #done
+
+    #cmd_run "ip-rule" "ip rule add dev ${IFACE} table 10"
+
+    #sleep 1
+
+    #if [ `iptables -L -v | grep -c ${IFACE}` -eq 0 ]; then
+        #cmd_run "iptables" "iptables -D INPUT -i ${IFACE} -j ACCEPT"
+        #cmd_run "iptables" "iptables -I INPUT -i ${IFACE} -j ACCEPT"
+    #fi
+
+    #ebt_rule "-D" "-p ipv4 -i ${IFACE} -j DROP"
+    #ebt_rule "-I" "-p ipv4 -i ${IFACE} -j DROP"
+    #ebt_rule "-D" "-p arp -i ${IFACE} -j DROP"
+    #ebt_rule "-I" "-p arp -i ${IFACE} -j DROP"
+
+    cmd_run "ip-route" "ip route flush cache"
+
+}
+
+assign_ip "vlan1" "192.168.1.0" "192.168.1.1" "255.255.255.0" "192.168.1.1" "192.168.1.127" #/25
+assign_ip "wl0.1" "192.168.1.0" "192.168.1.1" "255.255.255.0" "192.168.1.128" "192.168.1.159" #/27
+assign_ip "wl1.1" "192.168.1.0" "192.168.1.1" "255.255.255.0" "192.168.1.128" "192.168.1.159" #/27
+assign_ip "wl2.1" "192.168.1.0" "192.168.1.1" "255.255.255.0" "192.168.1.128" "192.168.1.159" #/27

+ 13 - 0
dnsmasq.conf

@@ -0,0 +1,13 @@
+log-dhcp
+interface=wl0.1
+dhcp-range=wl0.1,192.168.2.100,192.168.2.199,255.255.255.0,86400s
+dhcp-option=wl0.1,3,192.168.2.1
+dhcp-option=wl0.1,6,8.8.8.8,8.8.4.4
+interface=wl1.1
+dhcp-range=wl1.1,192.168.2.100,192.168.2.149,255.255.255.0,86400s
+dhcp-option=wl1.1,3,192.168.2.1
+dhcp-option=wl1.1,6,8.8.8.8,8.8.4.4
+interface=wl2.1
+dhcp-range=wl2.1,192.168.2.100,192.168.2.149,255.255.255.0,86400s
+dhcp-option=wl2.1,3,192.168.2.1
+dhcp-option=wl2.1,6,8.8.8.8,8.8.4.4