assign-ip-ssid 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #!/bin/sh
  2. CONFIG=1
  3. source /usr/sbin/helper.sh
  4. DNSMASQ_CONF=/tmp/etc/dnsmasq.conf
  5. if [ `cat ${DNSMASQ_CONF} | grep -c "log-dhcp"` -eq 0 ]; then
  6. pc_append "log-dhcp" ${DNSMASQ_CONF}
  7. fi
  8. cmd_log () {
  9. logger "${2}[${1}] - ${3}"
  10. }
  11. cmd_run () {
  12. ERR=`${2}`
  13. ERRCODE=$?
  14. cmd_log ${ERRCODE} "${1}" "${ERR}: ${2}"
  15. return ${ERRCODE}
  16. }
  17. assign_ip () {
  18. IFACE=${1}
  19. IFACE_NWRK_ADDR=${2}
  20. IFACE_INET_ADDR=${3}
  21. IFACE_NETMASK=${4}
  22. DHCP_START=${5}
  23. DHCP_END=${6}
  24. cmd_run "ifconfig" "ifconfig ${IFACE} ${IFACE_INET_ADDR} netmask ${IFACE_NETMASK}"
  25. if [ `iptables -L -v | grep -c ${IFACE}` -eq 0 ]; then
  26. cmd_run "iptables" "iptables -I INPUT -i ${IFACE} -j ACCEPT"
  27. cmd_run "iptables" "iptables -I FORWARD -i ${IFACE} -m state --state NEW -j ACCEPT"
  28. cmd_run "iptables" "iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu"
  29. fi
  30. if [ `ebtables -t broute -L | grep -ice "-p ipv4 -i ${IFACE} -j DROP"` -eq 0 ]; then
  31. cmd_run "ebtables" "ebtables -t broute -I BROUTING -p ipv4 -i ${IFACE} -j DROP"
  32. fi
  33. #if [ `ebtables -t broute -L | grep -ice "-p arp -i ${IFACE} - DROP"` -eq 0 ]; then
  34. # cmd_run "ebtables" "ebtables -t broute -I BROUTING -p arp -i ${IFACE} -j DROP"
  35. #fi
  36. if [ `cat ${DNSMASQ_CONF} | grep -c ${IFACE}` -eq 0 ]; then
  37. logger "dnsmasq-dhcp: Configure ${IFACE} to have special DHCP"
  38. pc_append "interface=${IFACE}" ${DNSMASQ_CONF}
  39. pc_append "dhcp-range=${IFACE},${DHCP_START},${DHCP_END},${IFACE_NETMASK},24h" ${DNSMASQ_CONF}
  40. pc_append "dhcp-option=${IFACE},3,${IFACE_INET_ADDR}" ${DNSMASQ_CONF}
  41. pc_append "dhcp-option=${IFACE},6,192.168.1.1" ${DNSMASQ_CONF}
  42. fi
  43. cmd_run "ip-route" "ip route flush cache"
  44. }
  45. killall dnsmasq
  46. #assign_ip "vlan1" "192.168.1.0" "192.168.1.1" "255.255.255.0" "192.168.1.1" "192.168.1.127" #/25
  47. 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
  48. 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
  49. 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
  50. 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
  51. cat ${DNSMASQ_CONF}
  52. dnsmasq --log-async