|
@@ -2,42 +2,23 @@
|
|
|
CONFIG=1
|
|
|
source /usr/sbin/helper.sh
|
|
|
|
|
|
-DNSMASQ_CONF=/etc/dnsmasq.conf
|
|
|
+DNSMASQ_CONF=/tmp/etc/dnsmasq.conf
|
|
|
|
|
|
if [ `cat ${DNSMASQ_CONF} | grep -c "log-dhcp"` -eq 0 ]; then
|
|
|
- echo "log-dhcp" >> ${DNSMASQ_CONF}
|
|
|
+ pc_append "log-dhcp" ${DNSMASQ_CONF}
|
|
|
fi
|
|
|
|
|
|
-#$(logger "")
|
|
|
-#if [ $? -ne 0 ]; then
|
|
|
-# logger () {
|
|
|
-# echo "${1}"
|
|
|
-# }
|
|
|
-#fi
|
|
|
-
|
|
|
-log_err () {
|
|
|
- #if [ ${1} -ne 0 ]; then
|
|
|
+cmd_log () {
|
|
|
logger "${2}[${1}] - ${3}"
|
|
|
- #fi
|
|
|
}
|
|
|
|
|
|
cmd_run () {
|
|
|
ERR=`${2}`
|
|
|
ERRCODE=$?
|
|
|
- log_err ${ERRCODE} "${1}" "${ERR}: ${2}"
|
|
|
+ cmd_log ${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}
|
|
@@ -47,47 +28,42 @@ assign_ip () {
|
|
|
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"
|
|
|
+ if [ `iptables -L -v | grep -c ${IFACE}` -eq 0 ]; then
|
|
|
+ cmd_run "iptables" "iptables -I INPUT -i ${IFACE} -j ACCEPT"
|
|
|
+ cmd_run "iptables" "iptables -I FORWARD -i ${IFACE} -m state --state NEW -j ACCEPT"
|
|
|
+ cmd_run "iptables" "iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu"
|
|
|
+ fi
|
|
|
|
|
|
- #sleep 1
|
|
|
+ if [ `ebtables -t broute -L | grep -ice "-p ipv4 -i ${IFACE} -j DROP"` -eq 0 ]; then
|
|
|
+ cmd_run "ebtables" "ebtables -t broute -I BROUTING -p ipv4 -i ${IFACE} -j ACCEPT"
|
|
|
+ fi
|
|
|
|
|
|
- #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"
|
|
|
+ #if [ `ebtables -t broute -L | grep -ice "-p arp -i ${IFACE} - DROP"` -eq 0 ]; then
|
|
|
+ # cmd_run "ebtables" "ebtables -t broute -I BROUTING -p arp -i ${IFACE} -j DROP"
|
|
|
#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"
|
|
|
+ if [ `cat ${DNSMASQ_CONF} | grep -c ${IFACE}` -eq 0 ]; then
|
|
|
+ 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},24h" ${DNSMASQ_CONF}
|
|
|
+ pc_append "dhcp-option=${IFACE},3,${IFACE_INET_ADDR}" ${DNSMASQ_CONF}
|
|
|
+ pc_append "dhcp-option=${IFACE},6,192.168.1.1" ${DNSMASQ_CONF}
|
|
|
+ fi
|
|
|
|
|
|
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
|
|
|
+
|
|
|
+killall dnsmasq
|
|
|
+#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.2.0" "192.168.2.1" "255.255.255.0" "192.168.2.1" "192.168.2.128" #/25
|
|
|
+assign_ip "wl1.1" "192.168.2.0" "192.168.2.1" "255.255.255.0" "192.168.2.1" "192.168.2.128" #/25
|
|
|
+assign_ip "wl2.1" "192.168.2.0" "192.168.2.1" "255.255.255.0" "192.168.2.1" "192.168.2.128" #/25
|
|
|
+assign_ip "wl0.2" "192.168.2.0" "192.168.2.1" "255.255.255.0" "192.168.2.129" "192.168.2.255" #/25
|
|
|
+
|
|
|
+cat ${DNSMASQ_CONF}
|
|
|
+
|
|
|
+dnsmasq --log-async
|