วันอาทิตย์ที่ 24 เมษายน พ.ศ. 2559

[UniFi] การนำ UniFi Access Point เข้าสู่ UniFi Controller แบบผ่าน Layer3

วันนี้ผมจะมานำเสนอวิธีการนำ UniFi เข้าสู่ UniFi Controller แบบผ่าน Layer3 กล่าวคือ UniFi Controller และ UniFi AP เพียงแค่อยู่ในระบบเครือข่ายภายในองค์กรเดียวกัน ซึ่ง UAP และ UniFi Controller ไม่จำเป็นต้องอยู่ในวงเน็ตเวิร์คเดียวกัน โดยวิธีการมีดังนี้ครับ

ขั้นตอนที่ 1 : ทำการ SSH เข้าไปที่ตัว UAP โดยผ่าน IP ของตัว UAP (วงที่ต่อ UAP ควรมี DHCP เพื่อให้ง่ายต่อการเข้าถึง UAP)


ขั้นตอนที่ 2 : ทำการ Restart UAP ด้วยคำสั่ง
syswarpper.sh restore-default
เพื่อล้างการตั้งค่าเดิม และ เพื่อให้มั่นใจว่าการตั้งค่าต่อไปจะไม่มีปัญหา


เมื่อใช้คำสั่งเรียบร้อย จะมีการแจ้งสถานะ Clearing CFG เมื่อเสร็จสิ้นจะหลุดจาก SSH


ขั้นตอนที่ 3 : ให้ทำการ SSH เข้าไปที่ UAP ใหม่แล้ว Login ด้วย User Password Default
User : ubnt
Pass : ubnt 


จากนั้นใช้คำสั่งเพื่อนำตัว UAP เข้าหา UniFi Controller ดังนี้
mca-cli
เพื่อเข้าสู่โหมดการใช้คำสั่ง
จากนั้นสั่งให้เข้าหา UniFi Controller ด้วยคำสั่ง
set-inform http://unifi.domain:8080/inform
หรือ
set-inform http://ip-address:8080/inform

ขั้นตอนที่ 4 : ไปที่ UniFi Controller จากนั้นกด ADOPT


รอการ Adopting


หากไม่มีอะไรผิดพลาดจะเข้าสู่สถานะ Provisioning UAP ก็จะเชื่อมต่อกับ UniFi Controller แบบสมบูรณ์

** หากขึ้นสถานะ Disconnect ให้กลับไปทำขั้นตอนที่ 3 ใหม่แต่ใช้ User Pass ของ Unifi Controller ที่เชื่อมต่อ


[UniFi] การนำ UniFi เข้าสู่ UniFi Controller แบบผ่าน Layer2

วันนี้ผมจะมานำเสนอวิธีการนำ UniFi เข้าสู่ UniFi Controller แบบผ่าน Layer2 กล่าวคือ UniFi Controller และ UniFi AP จะต้องอยู่ในวง L2 Network เดียวกันโดยวิธีการมีดังนี้ครับ

ขั้นตอนที่ 1 : เตรียม UAP ให้พร้อมต่อการ Config เข้ากับ Controller โดยตัว UAP จะต้องเป็น default ไม่มี Config อะไรมาก่อนโดยสถานะจะต้องเป็นสีส้ม หากเป็นสีเขียวให้ทำการกด Reset ตัวอุปกรณ์

** วิธีการ Reset นั้นเพียงแค่ใช้เข็มแทงเข้าไปที่รูด้านข้าง Port LAN รอจนไฟดับ แล้วปลดเข็มออก จากนั้นรอจนไฟติดเป็นสีส้มค้าง UAP ก็จะพร้อมสำหรับการ Config


ขั้นตอนที่ 2 : ไปดูที่ UniFi Controller จะสังเกตุเห็นว่ามี UAP เข้ามาที่ Controller หากมีหลายตัว ให้เปรียบเทียบ Mac Address เพื่อหาตัวที่ต้องการจากนั้นกด ADOPT เพื่อให้ตัว UAP เชื่อมต่อกับ UniFi Controller

** Mac Address สามารถดูได้ที่ด้านหลังของอุปกรณ์


หลังจากกดแล้ว Status ของตัวอุปกรณ์จะขึ้นเป็น Adopting


เมื่อสิ้นสุดขั้นตอนการ Adopting แล้วหากไม่มี Update ก็จะเข้าสู่ Status Provisioning เพื่อเตรียมความพร้อมต่างๆ ก่อนให้บริการ


ขั้นตอนที่ 3 : ตั้งชื่อของตัวอุปกรณ์หรือปรับค่าอื่นๆ ตามต้องการจากนั้นรอให้ขึ้นสถานะ Connected ก็เป็นอันพร้อมใช้งาน


วันศุกร์ที่ 22 เมษายน พ.ศ. 2559

[UniFi] การติดตั้ง SSL Certificate ให้ UniFi Controller

ในวันนี้ผมจะมานำเสนอวิธีการติดตั้ง SSL Certificate ให้ UniFi Controller ซึ่งใช้งานภายในหน่วยงานหรือองค์กรที่มี Domain เป็นของตัวเองโดยมีขั้นตอนดังนี้ครับ

ขั้นตอนที่ 1 : ให้ทำการตั้งค่า Name Server ให้กับ Unifi Controller ตัวอย่างของผมตั้งเป็น unifi.netsecth.in.th


ขั้นตอนที่ 2 : ทำการสร้าง SSL Certificate เรียบร้อย

* วิธีการสร้าง SSL Certificate :: https://netsecth.blogspot.com/2016/04/security-web-ssl-free-ssl-certificate.html

ขั้นตอนที่ 3 : ทำการอัพโหลด SSL Certificate มาไว้บน UniFi Controller Server
โดยไฟล์ที่จะใช้มี 2 ไฟล์คือ unifi.domain.crt และ unifi.domain.key ตัวอย่างเช่น
unifi.netsecth.in.th.key
unifi.netsecth.in.th.crt

ขั้นตอนที่ 4 : ทำการรวมไฟล์ .crt และ .key ให้เป็นไฟล์ .p12 เพียงไฟล์เดียว เพื่อนำไปใช้งานกับ UniFi Controller ด้วยคำสั่ง
openssl pkcs12 -export -in unifi.domain.crt -inkey unifi.domain.key -out unifi.p12 -name unifi -password pass:aircontrolenterprise
ตัวอย่างการใช้คำสั่งดังรูป


ขั้นตอนที่ 5 : นำไฟล์ที่ได้จากขั้นตอนที่ 4 มาใช้งานด้วยคำสั่ง
keytool -importkeystore -srckeystore unifi.p12 -srcstoretype PKCS12 -srcstorepass aircontrolenterprise -destkeystore /usr/lib/unifi/data/keystore -storepass aircontrolenterprise
จะมีถามขึ้นมาว่าจะทำการทับไฟล์เดิมที่มีอยู่หรือไม่ ให้ตอบ yes จากนั้นจะได้ผลลัพธ์ตามรูป


ขั้นตอนที่ 6 : ทำการสั่ง Restart Service UniFi ด้วยคำสั่ง
service unifi restart
หรือ
service unifi stop
service unifi start

จากนั้นกลับไปที่ Web browser แล้วลองเปิด UniFi Controller อีกครั้งจะเห็นว่า Cert สามารถใช้งานได้แล้ว




เพียงเท่านี้ก็เรียบร้อยแล้วครับ

Credit :
- https://itarchmerc.wordpress.com/2015/02/13/using-an-existing-cert-on-unifi-controller/

วันอังคารที่ 19 เมษายน พ.ศ. 2559

[Ubiquiti] การติดตั้ง UniFi Controller บน Debian/Ubuntu

สำหรับในวันนี้ผมจะมาแนะนำวิธีการติดตั้ง UniFi Controller บน Debian/Ubuntu ซึ่งการที่นำ UniFi Controller มาติดตั้งบน Debian/Ubuntu นั้นมีข้อดีคือกินทรัพยากรน้อย และ ทำงานได้ดีกว่าบน Windows Server ค้อนข้างมาก รวมถึงการแก้ปัญหายังง่ายกว่าด้วย

ในส่วนของ UniFi Controller นั้นควรจะเปิดไว้ให้ออนไลน์ตลอดเวลาเพื่อประสิทธิ์ภาพการทำงานที่ดี และให้สามารถ Monitor สถานะของอุปกรณ์รวมถึงเก็บ logs การทำงานด้วย และ ตัว UniFi หากไม่เปิด Controller feature บางอย่างก็จะไม่ทำงาน ซึ่งจะทำให้ประสิทธิ์ภาพในการใช้งานตกไปค่อนข้างเยอะ

โดยขั้นตอนการติดตั้งมีดังนี้ครับ

ขั้นตอนที่ 1 : แก้ไขไฟล์ sources.list ด้วยคำสั่ง
nano /etc/apt/sources.list
จากนั้นเพิ่มบรรทัดดังนี้
สำหรับ Debian
deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti
deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen
สำหรับ Ubuntu
deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti
deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
ทำการบันทึกและออกจากไฟล์


ขั้นตอนที่ 2 : ทำการใส่คีย์ด้วยคำสั่ง
apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50
apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
จะได้ผลลัพธ์ตามรูป


ขั้นตอนที่ 3 : ทำการสั่ง apt-get update ไม่ควรจะมี Error ใดๆ โดยเฉพาะจาก Source list ที่ใส่เข้าไปใหม่


ขั้นตอนที่ 4 : สั่งติดตั้ง Unifi Controller ด้วยคำสั่ง
apt-get install unifi
รอจนกว่าจะติดตั้งเสร็จสิ้น และ ต้องไม่มี Error ใดๆ


ขั้นตอนที่ 5 : ทดสอบการทำงานของ UniFi Controller ด้วยคำสั่ง
ps aux | grep unifi
หากไม่มีอะไรผิดพลาดจะได้ผลลัพธ์ดังรูป


ขั้นตอนที่ 6 : ทำการเข้า Web browser และใส่ url ไปที่ Server Controller ดังนี้
https://[IP or Domain name]:8443
จะได้ผลลัพธ์ดังรูป
ในส่วนของประเทศควรใส่ประเทศที่จะใช้งาน เพื่อให้เกิดข้อจำกัดในการใช้งานตามกฎหมายของประเทศนั้นๆ และ Timezone ก็ควรตรงกับประเทศครับ จากนั้นกด NEXT ได้เลย


ในหน้านี้ หาก Server Controller กับ Unifi AP อยู่ใน Network คนละวง หรือ ไม่มีการต่อ UniFi AP เข้ามาในวงเดียวกับ Controller จะไม่มีอะไรขึ้น ให้กด NEXT ไปได้เลยครับ


เมื่อมาถึงขั้นตอนนี้จะมีการบังคับให้ใส่ SSID และ key หากพร้อมก็ทำการใส่แล้วกด NEXT ครับ แต่ถ้าหากยังไม่รู้กด SKIP แล้วแก้ทีหลังก็ได้


ส่วนในขั้นตอนนี้ไม่มีอะไรมากครับ ตั้ง User Pass ของ Admin จากนั้นกด NEXT ได้เลยครับ


หากมาถึงขั้นตอนนี้ก็จะเสร็จสิ้นการติดตั้งในส่วนของหน้า Web ครับให้กด FINISH ได้เลย


ขั้นตอนที่ 7 : ทดสอบ Login ด้วย User Pass ที่ทำการตั้งไว้


หากไม่มีอะไรผิดพลาดก็จะสามารถเข้ามาที่หน้า UniFi Controller เป็นอันเสร็จสิ้นขั้นตอนครับ


Credit :
- https://community.ubnt.com

วันจันทร์ที่ 18 เมษายน พ.ศ. 2559

[Mikrotik] การ block web ด้วย Layer7 Protocols

วันนี้ผมจะมานำเสนอการ Block web จะเรียกว่า block web ก็คงไม่ถูกซะทีเดียวครับเพราะมัน block เป็น domain แต่เพื่อเข้าใจง่ายก็คือการ block web ละกัน ด้วยวิธีการใช้ Layer7 Protocols แล้วทำการใส่ layer 7 regular expression เพื่อทำการ detect ครับซึ่งจะมีขั้นตอนดังนี้ครับ

ขั้นตอนที่ 1 : ไปที่ IP > Firewall เลือก tab Layer7 Protocols จากนั้นกด +

จากนั้นใส่ชื่อและ Regexp: โดยให้กรอกชื่อ domain ลงไปตามที่ต้องการระหว่าง ( กับ )
เช่น
              ^.+(facebook.com).*$
              ^.+(line.com).*$
หรือหากอยาก block หลายๆ domain แต่ไม่อยากให้มีคำสั่งหลายบันทัดสามารถใช้เครื่องหมาย | มาช่วยได้
เช่น
              ^.+(facebook.com|soccersuck.in.th).*$
เป็นต้น


เมื่อกด OK ก็จะได้ดังรูป


ขั้นตอนที่ 2 : ไปที่ tab Filter Rules จากนั้นทำการกด + เพื่อเพิ่ม rule ขั้นมาโดยตั้งค่าดังนี้
ที่ tab General ตั้ง Chain: forward


ที่ tab Advanced ให้เลือก Layer7 Protocol: ที่ต้องการ block


จากนั้นไปที่ tab Action แล้วตั้ง Action ให้เป็น drop


ก่อนจะกด OK ควรทำการตั้ง Comment ก่อนว่า rule ที่จะเพิ่มใช้กับอะไร


เมื่อกด OK ก็จะได้ผลลัพธ์ดังรูปครับ


ขั้นตอนที่ 3 : ทดสอบการทำงานของ rule หาก เปิด web ไปที่ domain ที่ตั้งค่าไว้แล้วมี packet วิ่งที่ rule และไม่สามารถเข้า web นั้นได้ก็เป็นอันเสร็จสิ้นครับ


ทั้งนี้วิธีการนี้ไม่ได้จำกัดอยู่เพียงการ block ครับ สามารถนำไปดัดแปลงไปใช้อย่างอื่นได้อีกมากมาย

Credit :
- http://wiki.mikrotik.com/wiki/Manual:IP/Firewall/L7
- https://rbgeek.wordpress.com/2012/05/29/how-to-block-facebook-in-mikrotik-using-l7-protocols-layer-7/
- http://l7-filter.sourceforge.net/protocols
- http://wiki.mikrotik.com/wiki/Drop_IM_Using_L7

วันอาทิตย์ที่ 17 เมษายน พ.ศ. 2559

[Mikrotik] การนำ freeradius มาใช้งานร่วมกับอุปกรณ์ Mikrotik เบื้องต้น

ในวันนี้ผมจะมาแนะนำวิธีการนำ freeradius กับ mikrotik มาใช้งานร่วมกันซึ่งจะทำให้คุณบริหารจัดการ user ได้สะดวกมากยิ่งขึ้นโดยมีขั้นตอนดังนี้ครับ

ขั้นตอนที่ 1: ทำการเพิ่ม client ที่ freeradius เพื่ออนุญาติให้ mikrotik เข้ามาเชื่อมต่อ โดยเข้าไปแก้ไข File /etc/freeradius/client.conf

จากนั้นเพิ่มคำสั่ง
client [mikrotik address] {
               secret = [key ที่จะใช้ยืนยันการเชื่อมต่อ]
}

ตัวอย่างการตั้งค่าดังรูป


ขั้นตอนที่ 2: ตั้งค่า mikrotik ให้เชื่อมต่อไปหา radius โดยการคลิกที่ menu radius จากนั้นกด + เพื่อเพิ่ม radius server

Service ให้ติ๊กเอา service ที่ต้องการจะนำ user จาก radius มาใช้งาน
Address ใส่ ip ของ freeradius เข้าไป
Secret ให้ใส่ key ที่ตั้งค่าไว้ในส่วนของ client ที่ freeradius server

เมื่อตั้งค่าเสร็จสิ้นให้ทำการกด OK


ขั้นตอนที่ 3: เปิดการใช้งาน radius ที่ service ในรูปตัวอย่างจะเป็นของ hotspot ครับ โดยให้ไปที่ menu ip > hotspot จากนั้นเลือก tab Server Profiles แล้วเลือก profile ที่จะทำการตั้งค่าขึ้นมา ไปที่ tab RADIUS กดถูกที่ Use RADIUS ดังรูป จากนั้นกด OK


ขั้นตอนที่ 4: เชื่อมต่อเข้าไปที่ฐานข้อมูลของ freeradius จากนั้นเพิ่ม user สัก user ที่ตาราง radcheck ในส่วนนี้แล้วแต่จะสะดวกใช้วิธีไหนเข้าไปเพิ่มเลยครับ บางคนอาจชอบใช้ phpmyadmin แต่ผมแนะนำโปรแกรมจำพวก MySQL Client มากกว่าโดยวิธีเปิดใช้งานนั้นสามารถเข้าไปดูได้ที่บทความนี้ครับ https://netsecth.blogspot.com/2016/03/mysql-remote-access-mysql-server-linux.html


ขั้นตอนที่ 5: ลองทำ User ที่สร้างไว้มาทดสอบ


หากไม่มีอะไรผิดพลาดก็จะสามารถ login ด้วย user ที่มาจาก radius ได้


หากติดปัญหาหรือมีข้อสงสัยประการใดสามารถสอบถามได้ครับ หากช่วยได้ยินดีช่วยครับ

วันศุกร์ที่ 15 เมษายน พ.ศ. 2559

[Mikrotik] วิธีการ forward port ด้วย dst-nat และ การใช้ cloud ddns

วันนี้ผมจะมานำเสนอวิธีการ forward port ด้วย dst-nat และ การใช้ cloud ddns บนอุปกรณ์ Mikrotik ในการสาธิตนี้ผมจะใช้วิธี forward เข้าหา http service ของตัว Mikrotik จึงจะมีขั้นตอนที่เพิ่มขึ้นมาแต่หากจะ forward ไปหาเครื่องอื่นๆ สามารถข้ามไปทำขั้นตอนที่ 4 ได้เลยครับ

ขั้นตอนที่ 1 : สร้าง Interface bridge ขึ้นมาโดยกดที่ Bridge แล้วกดที่ +


ให้ใส่ชื่อของ Interface bridge ที่ช่อง Name ดังรูป


เมื่อตั้งชื่อเสร็จแล้วให้เลือกที่ STP แล้วทำการปิดการทำงานของ STP โดยเลือก Protocol Mode เป็น none ซึ่งขั้นตอนนี้ปกติไม่ต้องทำก็ได้ครับ ผมใส่มาไว้ทำความคุ้นเคยกับมันไว้ ว่างๆ ผมจะแยกเป็นบทความเฉพาะ STP อีกครั้ง


จากนั้นกด OK จะได้ Interface bridge เพิ่มขึ้นมาดังรูป


ขั้นตอนที่ 2 : ตั้งค่า IP ให้กับ Interface bridge โดยคลิกที่ Menu IP > Address แล้วกด + จากนั้นใส่ IP ที่ต้องการลงไป ในตัวอย่างผมใส่ 192.168.0.1/32 เพราะผมต้องการใช้งานเพียง IP 192.168.0.1 เพียง IP เดียวเพื่อรองรับการ forward port


ขั้นตอนที่ 3 : เปิด Service www ของ Mikrotik โดยไปที่ Menu IP > Services จากนั้นเลือกที่ www แล้วกดเครื่องหมายถูกด้านบน


ขั้นตอนที่ 4 : จะเป็นขั้นตอนการเริ่มทำ forward port ด้วย dst-nat ให้ไปที่ Menu IP > Firewall > NAT จากนั้นกด +


ใน Tab General เลือก Chain เป็น dstnat จากนั้นกำหนดค่าต่างๆ ตาม Port ที่ต้องการ forward โดย Dst. Port และ In. Interface จะเป็น Port และ Interface ที่ใช้เข้ามาจากภายนอก ในส่วนของ Port จากข้างนอกเราจะกำหนดให้ตรงหรือไม่ตรงกับ Port ของเครื่องปลายทางก็ได้ ตามแต่เราต้องการใช้งาน


จากนั้นเลือกมาที่ Tab Action ให้เลือก Action เป็น dst-nat จากนั้นให้กำหนด To Addresses ไปที่ IP ของเครื่องที่เราต้องการจะทำการ forward และ To Ports ไปที่ Port Service ที่ต้องการจะ forward บทเครื่องที่กำหนด IP ไว้ จากนั้นกด OK


ขั้นตอนที่ 5 : การนำ Cloud ของ Mikrotik มาใช้งาน ตัว Mikrotik นั้นมี Feature DDNS เป็นของตัวเองโดยใช้ชื่อ Feature ว่า Cloud โดยวิธีการเปิดใช้งานนั้นเพียงแค่ไปที่ Menu IP > Cloud จากนั้นกดถูกที่ DDNS Enable และ Update Time จากนั้นกด OK เราก็จะได้ DDNS url มาใช้งานแบบฟรีๆ โดย url จะอยู่ที่ DNS Name สามารถ Copy ไปใช้ได้เลย


ขั้นตอนที่ 6 : การทดสอบ โดยการนำ DDNS url มา และ ตามด้วย :[Port ที่เรา Set ไว้ที่ Tab General ต้องสร้าง dst-nat] ก็จะได้ผลลัพท์ออกมาเป็นแบบนี้ แต่หากคุณทำการ forward service อย่างอื่นก็คงต้องทดสอบตามกระบวนการวิธีการทำงานของ Service นั้นๆ ครับ


หากท่านใดขี้เกียจในการคลิก Menu ผมแถม Script ให้ด้วยแล้วกันครับ เอาไปปรับแต่งกันเอาเองนะครับ
/interface bridge
add name=br-loopback protocol-mode=none
/ip address
add address=192.168.0.1 interface=br-loopback network=192.168.0.1
/ip cloud
set ddns-enabled=yes
/ip firewall nat
add action=dst-nat chain=dstnat dst-port=8080 in-interface=pppoe-sinet1 \
    protocol=tcp to-addresses=192.168.0.1 to-ports=80
/ip service
set www disabled=no