#!/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