ASUS WL-500gp maršrutizatoriaus paruošimas
darbui su MEZON 4G internetu

1. Instaliuojame firmware į mūsų turimą routerį

Palaikoma įranga: Asus WL-500 routeriai (t.y. WL-500gp, WL-500gpv2 arba WL-500W) arba D-Link DIR-320 ir Mezono Samsung SWC-U200 modemas.


Pagal modelį pasirenkame reikiamą versiją ir įdiegiame į ASUS'ą (WL500gp arba WL500gpv2). Kitiems modeliams, pvz. WL500W firmwarų ieškome čia. Taip pat verta pastebėti, kad tinka netgi D-Link DIR-320 (jį galima paversti ASUS WL-500gpv2).


Firmware pakeitimas atliekamas naršykle prisijungus prie routerio web sąsajos standartiniu IP adresu (dažniausiai http://192.168.1.1), suvedus standartinius prisijungimo duomenis (admin/admin) ir nuėjus į System setup -> Firmware upgrade.

2. Magija prasideda! Prisijungę per telnetą paleidžiame šias komandas

Sukuriame katalogus mūsų skriptams, kurie bus atsakingi už Mezono darbą

mkdir /tmp/local/opt
mkdir -p /usr/local/sbin/
mount /tmp/local/opt /opt
mkdir -p /opt/etc/madwimax/
mkdir /opt/etc/udhcpc/

Skriptas wimax interfeiso sukūrimui ir IP adreso per Mezono DHCP tarnybą gavimui bei šliuzo nustatymui

echo "#!/bin/sh" > /opt/etc/udhcpc/udhcpc.script
echo "RESOLV_CONF=/tmp/resolv.conf" >> /opt/etc/udhcpc/udhcpc.script
echo "case \"\$1\" in" >> /opt/etc/udhcpc/udhcpc.script
echo "bound|renew)" >> /opt/etc/udhcpc/udhcpc.script
echo "ifconfig \$interface up" >> /opt/etc/udhcpc/udhcpc.script
echo "ifconfig \$interface \$ip netmask \$subnet" >> /opt/etc/udhcpc/udhcpc.script
echo "route add default gw \$router" >> /opt/etc/udhcpc/udhcpc.script
echo "for ii in \$dns; do" >> /opt/etc/udhcpc/udhcpc.script
echo "echo nameserver \$ii >> \$RESOLV_CONF" >> /opt/etc/udhcpc/udhcpc.script
echo "done" >> /opt/etc/udhcpc/udhcpc.script
echo "kill -s SIGHUP `pidof dnsmasq`" >> /opt/etc/udhcpc/udhcpc.script
echo ";;" >> /opt/etc/udhcpc/udhcpc.script
echo "deconfig)" >> /opt/etc/udhcpc/udhcpc.script
echo "ifconfig \$interface 0.0.0.0" >> /opt/etc/udhcpc/udhcpc.script
echo "echo deleting \$RESOLV_CONF" >> /opt/etc/udhcpc/udhcpc.script
echo "echo -n > \$RESOLV_CONF" >> /opt/etc/udhcpc/udhcpc.script
echo "kill -s SIGHUP `pidof dnsmasq`" >> /opt/etc/udhcpc/udhcpc.script
echo ";;" >> /opt/etc/udhcpc/udhcpc.script
echo "esac" >> /opt/etc/udhcpc/udhcpc.script

Darbinis Mezono tvarkyklės skriptas, atsakingas už maršrutizavimą

echo "#!/bin/sh" > /opt/etc/madwimax/event.sh
echo "# Usage: event.sh  " >> /opt/etc/madwimax/event.sh
echo "case \"\$1\" in" >> /opt/etc/madwimax/event.sh
echo "if-create)" >> /opt/etc/madwimax/event.sh
echo "iptables -I FORWARD -o \"\$2\" -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu" >> /opt/etc/madwimax/event.sh
echo ";;" >> /opt/etc/madwimax/event.sh
echo "if-up)" >> /opt/etc/madwimax/event.sh
echo "udhcpc -b -p /var/run/udhcpc.\"\$2\".pid -i \"\$2\" -s /opt/etc/udhcpc/udhcpc.script" >> /opt/etc/madwimax/event.sh
echo "iptables -t nat -A POSTROUTING -o \"\$2\" ! -s \$(ifconfig \"\$2\" | sed -n 's/^.*inet addr:\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\) .*\$/\1/p') -j MASQUERADE" >> /opt/etc/madwimax/event.sh
echo ";;" >> /opt/etc/madwimax/event.sh
echo "if-down)" >> /opt/etc/madwimax/event.sh
echo "iptables -t nat -D POSTROUTING -o \"\$2\" ! -s \$(ifconfig \"\$2\" | sed -n 's/^.*inet addr:\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\) .*\$/\1/p') -j MASQUERADE" >> /opt/etc/madwimax/event.sh
echo "cat /var/run/udhcpc.\"\$2\".pid | xargs -i kill -TERM {}" >> /opt/etc/madwimax/event.sh
echo ";;" >> /opt/etc/madwimax/event.sh
echo "if-release)" >> /opt/etc/madwimax/event.sh
echo "iptables -D FORWARD -o \"\$2\" -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu" >> /opt/etc/madwimax/event.sh
echo ";;" >> /opt/etc/madwimax/event.sh
echo "*)" >> /opt/etc/madwimax/event.sh
echo "echo \"Usage: \$0 { if-create | if-up | if-down | if-release }\" >&2" >> /opt/etc/madwimax/event.sh
echo "exit 3" >> /opt/etc/madwimax/event.sh
echo ";;" >> /opt/etc/madwimax/event.sh
echo "esac" >> /opt/etc/madwimax/event.sh

Sukuriame tvarkyklę paleidžiančius skriptus ir visiems jiems suteikiame vykdomąsias teises

echo "#!/bin/sh" > /usr/local/sbin/post-boot
echo "mount /tmp/local/opt /opt" >> /usr/local/sbin/post-boot
echo "insmod tun.o" >> /usr/local/sbin/post-boot
echo "/usr/sbin/madwimax -qfd --ssid=@mezon.lt --event-script=/opt/etc/madwimax/event.sh" >> /usr/local/sbin/post-boot

echo "#!/bin/sh" > /usr/local/sbin/post-mount
echo "insmod tun.o" >> /usr/local/sbin/post-mount
echo "/usr/sbin/madwimax -qfd --ssid=@mezon.lt --event-script=/opt/etc/madwimax/event.sh" >> /usr/local/sbin/post-mount

chmod +x /opt/etc/madwimax/event.sh
chmod +x /opt/etc/udhcpc/udhcpc.script
chmod +x /usr/local/sbin/post-*

Išsaugome maršrutizatoriuje atliktus pakeitimus ir jį perkrauname

echo "/opt/etc/udhcpc/udhcpc.script" > /usr/local/.files
echo "/opt/etc/madwimax/event.sh" >> /usr/local/.files
echo "/usr/local/sbin/post-boot" >> /usr/local/.files
echo "/usr/local/sbin/post-mount" >> /usr/local/.files

flashfs save
flashfs commit
flashfs enable
reboot

3. Magija baigėsi! Persikrovęs routeris internetą gaus Mezon modemu ir dalins per savo switchą ir wirelessą. Taigi belieka kompiuteriuose įjungti DHCP arba rankiniu būdu pakeisti gateway / dns reikšmes ir džiaugtis internetu.


Mezon maršrutizatoriuje instrukciją skaitė: mezon
Mes neprisiimame atsakomybės, jei Jūs sugadinsite savo maršrutizatorių dėl nežinojimo, elektros dingimo ar kitų priežasčių. Visa instrukcija yra išbandyta ir veikianti! Komentarai ir pasiūlymai el. paštu.