LAB: Overlay Network across multiple cloud providers

หลังจากทำ Lab เรื่อง
Manage VPN clients to route over multiple data centers
เมื่อคราวก่อน ซึ่งแต่ละโหนด อยู่บน cloud providers จากหลาย ๆ data center (Thailand, Singapore, Japan, USA) และเราสามารถเชื่อมต่อทุก node เข้าหากัน ด้วย OpenVPN และ OSPF แล้ว นั่นหมายความว่า เรามี Unicast Routing ที่ใช้งานได้แล้ว

ขั้นต่อไป คือ การเตรียม Multicast Routing และเชื่อมต่อ Overlay Network ด้วย VXLAN

Manage VPN clients to route over multiple data centers

Network เป็นเรื่องที่ผมให้ความสนใจเป็นอันดับต้น ๆ ในชีวิตการทำงาน และเป็นเครื่องมือใช้ประกอบอาชีพในปัจจุบัน

มีกรณีศึกษา ที่ผมคิดว่าเป็นโจทย์ที่น่าสนใจ เลยครุ่นคิด และลงมือทำ LAB เพื่อหาคำตอบ ว่าถ้ามีความต้องการแบบนี้ จะสามารถทำได้ไหม

  • มี 3 Data Center ทั้งหมด เชื่อมต่อกัน ผ่าน Internet และไม่มี direct link เช่น D1=Thailand, D2=Japan, D3=USA
  • แต่ละ Data Center ให้ Clients ต่อ VPN เข้ามาเพื่อใช้งาน
  • Clients Thailand ที่มีความต้องการออกที่ USA จะต้อง NAT ด้วย IP USA และกลับกัน Clients USA จะออกที่ Thailand ต้อง NAT ด้วย IP Thailand
  • Link ที่เชื่อมต่อ แต่ละ Data Center เร็วกว่า Clients เชื่อมต่อเองโดยตรง

ผมค่อย ๆ คิด และเริ่มหาทางไปทีละปัญหา

RahuNAS Dual-Stack Authen planning

https://tools.ietf.org/html/rfc6939

DHCPv6 ใช้ข้อมูลอื่น แทน Link-Layer Address ที่ DHCPv4 ใช้ ทำให้ข้อมูล link-layer address จะไม่มีส่งมาใน unicast request (DHCP relay)

จึงมีการเสนอ RFC6939 เพื่อให้ edge-switch หรือ switch ที่เชื่อมต่อกับ client ใน link layer เดียวกัน ในเวลาที่ทำ DHCP relay ให้แปะ Client Link-Layer Address Option มาด้วย

เหตุผลที่ต้องการ Client Link-Layer Address ก็เนื่องมาจาก กรณีที่เราให้บริการ Dual-Stack (IPv4 + IPv6) ข้อมูลที่จะบ่งบอกว่า client มาจาก device เดียวกัน ที่ระบบมองเห็น ก็คือ link-layer address

บันทึกช่วยจำ: ขยายขนาด LVM partition ขณะกำลังใช้งาน

ความสะดวกในการใช้งาน virtual disk ที่สามารถเพิ่มเข้าสู่ระบบได้ตลอดเวลา ทำให้ต้องขวนขวายหาวิธีขยายขนาด partition ขณะกำลังใช้งาน และนี่คือ บันทึกช่วยจำ

* เงื่อนไข - LVM partition ต้องไม่เป็น root partition

#!/bin/sh

VG=test-vg
VOLUME=data

DEV=/dev/${VG}/${VOLUME}

# Install parted
apt-get -y install parted

# Rescan disk
echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan

# 2,5 is the extended, LVM partition respectively
parted /dev/sda resizepart 2 100%
parted /dev/sda resizepart 5 100%

# /dev/sda5 is the LVM partition
pvresize /dev/sda5

RahuNAS จัดเต็ม


ระบบ ติดตั้งให้ มหาวิทยาราชภัฏเทพสตรี จ.ลพบุรี
เป็นระบบที่เป็น OpenSource Software ทั้งระบบ

RahuNAS - 0.3.0 เตรียมออก "รุ่นบังเอิญ"

จากที่เคยตั้งใจไว้ว่า จะไม่เพิ่มความสามารถ ให้กับ rahunas-legacy branch แต่จนแล้วจนรอด ด้วยเหตุผลหลาย ๆ อย่าง ส่งผลให้ได้มานั่งปัดฝุ่น และลงมือเขียนเพิ่มเติมจนได้ ที่ใช้ชื่อรุ่นว่า "บังเอิญ" เนื่องจากว่า รุ่นนี้ บังเอิญไปเจอข้อมูล หรือชุดโปรแกรม ที่จะเอามาประกอบร่าง ให้ทำงานได้ตามที่คาดหวังไว้ และที่บังเอิญกว่านั้น คือ มีความจำเป็นต้องเขียน code ตอนลูกหลับ ตอนมันตื่น ๆ อย่าหวังว่าจะได้ทำอะไร และมันบังเอิญไปคิดออก ตอนกล่อมลูกให้นอนกลางวัน (พ่อมันฝันกลางวัน ^_^)

== บังเอิญ 1 ==

วิเคราะห์ประเด็น True แบบงู ๆ ปลา ๆ (ต่อ)

หลังจาก คราวที่แล้ว ได้พูดถึง DNS spoofing ไป และทิ้งท้ายเรื่อง Transparent Proxy/Cache ไว้

* ทำความเข้าใจ Transparent Proxy/Cache *
Proxy/Cache คือ ระบบทำหน้าที่ ในการเป็นตัวแทน (proxy) และเก็บข้อมูลที่ได้จากการร้องขอโดยผู้ใช้ (cache) เพื่อลดปริมาณการร้องขอข้อมูลไปยังต้นทาง (origin) ซึ่งในบางกรณี ก็ช่วยเพิ่มความเร็วในการเข้าถึงข้อมูลได้ดี ระบบเช่นนี้มีการใช้งานกันมาอย่างแพร่หลาย ทั้งในระดับโรงเรียน ระดับองค์กร หรือแม้แต่ในระดับ ISP

Transparent Proxy/Cache คือ กระบวนการที่ Proxy/Cache เข้ามาขวางทางเข้าทางออก ระหว่างผู้ใช้ และต้นทาง เสมือนไม่มีระบบนี้อยู่ระหว่างทาง (transparent) ระบบประเภทนี้ ถูกใช้กันอย่างแพร่หลาย เนื่องจากสะดวกในการบริหารจัดการ แต่ข้อเสียคือ ผู้ใช้เลือกไม่ได้ว่าจะไม่ขอใช้ระบบนี้ (ถ้าไม่ใช้ท่ายาก)

วิเคราะห์ประเด็น True แบบงู ๆ ปลา ๆ

ออกตัวก่อนนะครับ ว่าผมไม่ใช่ลูกค้า True ไม่สามารถแสดงข้อมูลว่า True โดนโจมตี หรือไม่ ตามคำกล่าวหาของหลาย ๆ ท่านในวงการได้
แต่ผมจะพยายามวิเคราะห์ตามที่มีการชี้ประเด็น ตามความรู้ที่พอจะได้สัมผัสกับสิ่งที่หลาย ๆ ท่านถกเถียงกันมาบ้าง ถ้าผมกล่าวส่วนใดผิด แย้งได้ครับ ผมไม่ดื้อ

* ประเด็น DNS spoofing (DNS cache poisoning) *
=== ทำความเข้าใจ DNS ===
ถ้าพูดถึง DNS ที่ผู้ใช้เข้าใจ ว่าต้องชี้ไปที่ไอพี โน่นนั่นนี่ แล้วแต่จะเลือกตามสะดวก เพื่อให้สามารถเข้าใช้งานอินเทอร์เน็ตได้ นั่นเป็นครึ่งทางของ DNS ซึ่งเรียกอย่างเป็นทางการว่า Caching DNS แต่ละเจ้า ISP ก็จะต้องมีไว้อย่างน้อย 1 ระบบ (1 เครื่อง, 1 rack, หรือ 1 ชั้น ก็แล้วแต่ scale) ส่วนอีกครึ่งทางคือ Authoritative DNS หรือ DNS ที่มีการเก็บข้อมูลว่าปลายทางที่เราจะไป ด้วยชื่อ blablabla.com อยู่แห่งหนตำบลใด

Disable VLAN filtering - Intel I350 (igb driver)

ประมาณ 1 - 2 เดือน ที่ผ่านมา ได้ติดตั้งระบบ RahuNAS ไปกับเครื่อง IBM x3650 M4 ซึ่งแน่นอนว่า เครื่องรุ่นนี้ ไม่สามารถติดตั้ง Debian GNU/Linux 6.0 (Squeeze) ลงไปตรง ๆ ได้ เนื่องจาก Hardware ใหม่ จึงต้องใช้ทางอ้อมคือ ติดตั้ง Debian GNU/Linux testing (jessie) เข้าไป และทำการติดตั้ง Linux KVM เพื่อติดตั้ง Squeeze ข้างในอีกชั้นหนึ่ง

Syndicate content