มาวันนี้ผู้เขียนจะพาวกกลับมาที่วิธีการ "รัน Multiple instances สำหรับ Coova-Chilli 1.3.0" กัน ทำไมต้องรันโปรแกรม Coova-Chilli หลายๆ instances โดยปกติ ในหนึ่ง instance จะรันโปรแกรม Coova-Chilli เพียงแค่เน็ตเวิร์คเดียว กรณีที่เราจะทดสอบนี้มีการสร้างเน็ตเวิร์คถึง 3 เน็ตเวิร์ค หรือ 3 Vlans ดังนั้นเราจึงมีความจำเป็นต้องรัน Coova-Chilli 3 ครั้งด้วย
VLAN 11 --/usr/local/etc/chilli/eth1.11 --/usr/local/etc/chilli/eth1.11/chilli.conf --/usr/local/etc/chilli/eth1.11/main.conf --/usr/local/etc/chilli/eth1.11/local.conf --/usr/local/etc/chilli/eth1.11/hs.conf VLAN 12 --/usr/local/etc/chilli/eth1.12 --/usr/local/etc/chilli/eth1.12/chilli.conf --/usr/local/etc/chilli/eth1.12/main.conf --/usr/local/etc/chilli/eth1.12/local.conf --/usr/local/etc/chilli/eth1.12/hs.conf VLAN 13 --/usr/local/etc/chilli/eth1.13 --/usr/local/etc/chilli/eth1.13/chilli.conf --/usr/local/etc/chilli/eth1.13/main.conf --/usr/local/etc/chilli/eth1.13/local.conf --/usr/local/etc/chilli/eth1.13/hs.confตัวอย่างไฟล์คอนฟิกของ VLAN 11
# cat /usr/local/etc/chilli/eth1.11/chilli.conf include /usr/local/etc/chilli/eth1.11/main.conf include /usr/local/etc/chilli/eth1.11/hs.conf include /usr/local/etc/chilli/eth1.11/local.conf ipup=/usr/local/etc/chilli/up.sh ipdown=/usr/local/etc/chilli/down.sh # cat /usr/local/etc/chilli/eth1.11/main.conf cmdsocket /usr/local/var/run/chilli.eth1.11.sock unixipc chilli.eth1.11.ipc pidfile /usr/local/var/run/chilli.eth1.11.pid net 192.168.11.0/255.255.255.0 uamlisten 192.168.11.254 uamport 3110 dhcpif eth1.11 uamallowed "192.168.11.0/24,192.168.1.0/24" domain "lan110" dns1 "192.168.11.254" dns2 "192.168.11.254" uamhomepage http://192.168.11.254:3120/prelogin wwwdir /usr/local/etc/chilli/www wwwbin /usr/local/etc/chilli/wwwsh uamuiport 4110 locationname "PG vlan 110" radiuslocationname "PG_vlan_110" radiuslocationid "isocc=,cc=,ac=,network=Coova," # cat /usr/local/etc/chilli/eth1.11/hs.conf radiusserver1 "127.0.0.1" radiusserver2 "127.0.0.1" radiussecret "testing123" radiusauthport 1812 radiusacctport 1813 uamserver "https://192.168.11.254/cgi-bin/hotspotlogin.cgi" radiusnasid "nas120" papalwaysok uamaliasname "pg2 vlan110"ส่วนสคริปที่ใช้ทำการเริ่มการทำงานก็เป็น /usr/local/etc/init.d/chilli โดยให้คอมเมนท์สองบรรทัดนี้ เพราะเราไม่ต้องการให้เครื่องมือของ Coova-Chilli สร้างคอนฟิกใหม่ทุกครั้งที่เริ่มการทำงาน
#writeconfig #radiusconfigผู้เขียนทดลองสตาร์ทเซอร์วิส ปรากฏว่า VLAN 11 ทำงานได้สมบูรณ์ แต่ VLAN 12 และ VLAN 13 ไม่ทำงาน ผู้เขียนเลยเพิ่มคำสั่ง sleep 10 เข้าไปที่ก่อนบรรทัดสุดท้ายของ start รูทีนก็สามารถสตาร์ทเซอร์วิสได้ครบทุก VLANs