ใช้เน็ต AIS Fibre กับ Fortigate พร้อมเปิดใช้ IPv6 [ภาคที่ 1]

Pao Payungsak Klinchampa
PAOCLOUD CO., LTD.
Published in
5 min readJul 24, 2023

--

สวัสดีครับ หลังจากที่ทาง AIS ได้ซื้อ 3BB ซึ่งผลพลอยได้นั้นก็ทำให้ที่บ้านผมติดเน็ต AIS Fibre ได้ โดยลากสายไปต่อกับ Splitter ของ 3BB ครับ

โดยก่อนหน้านี้ ผมใช้เน็ต TOT แบบ Static IPv4 อยู่ล้ะ เเต่ไม่ได้เเจก IPv6 ก็เลยติด AIS Fibre อีกเส้น เพื่อให้ได้ใช้ IPv6 ด้วย

และก่อนจะติด AIS Fibre ไม่นาน ผมก็ได้ Fortigate 50E มือสองมา 1 ตัว ล้ะซื้อ MA จาก SiS มา เพื่อให้สามารถ Update อะไรต่างๆได้ ซึ่งในบทความนี้ ผมก็จะใช้ Fortigate 50E ในการต่อ PPPoE ล้ะรับ IPv6 Prefix จาก AIS Fibre ผ่าน DHCPv6-PD ครับ จะเป็นยังไง ตามอ่านต่อกันได้เลย

*** Fortigate ของผมจะใช้ OS รุ่น : v6.2.15 นะครับ version ใหม่กว่านี้ UI มันต่างกันอยู่ ส่วน Command ที่ใช้ไม่เเน่ใจว่าต่างกันมั๊ย เเต่หลักการมันก็คล้ายๆกันครับ

ขั้นตอนเเรกก็โทรไปเเจ้ง AIS Call Center 1175 ก่อนนะครับ ว่าต้องการทำ Bridge Mode ล้ะเเจ้งไปด้วยว่าเปิดใช้ IPv6 ด้วยนะ อันนี้เผื่อไว้นะครับ เพราะตอนผมโทรเนี่ย ต้องโทรไปอีกรอบเพื่อขอให้เปิด IPv6 ให้ด้วย

จากนั้น ภายใต้ Physical Interface ที่ Port wan2 (ผมใช้ wan2 นะครับ เพราะ wan1 ต่อเน็ต NT-TOT อยู่) อันนี้ก็ป้อน User/Pass สำหรับต่อ PPPoE ตามปกติ ซึ่งของ AIS Fibre จะเป็นหมายเลขผู้ใช้งานที่ขึ้นต้นด้วย 88 ครับ

ของผมมีการตั้งค่า Role เป็น WAN ล้ะใส่ค่า Bandwidth ตาม Promotion ไว้ด้วยนะ ซึ่งถ้าต่อได้ ล้ะได้รับ IPv4 เเสดงว่า เราทำ Bridge mode สำเร็จล้ะ

ส่วนบน Port wan2 ผมจะกำหนด IP Address ที่เป็นวงขา LAN ของ ONU ลงไปด้วย อันนี้เพื่อให้สามารถ Log in เข้าไปดูค่าเเสงบน ONU ได้ครับ จะไม่ทำก็ไม่เป็นไรครับ

ส่วนเรื่อง Tag vlan 10 ของผมไม่ต้องนะครับ เพราะมีการ Tag มาที่ ONU เเล้ว

จากนั้นบน Fortigate เราต้องเปิดการทำงานของ IPv6 ด้วย โดยไปที่เมนู System ล้ะไปที่ Feature Visibility ครับ ล้ะก็ Enable IPv6

ผมลืมไปล้ะ ว่ามันต้อง Reboot ด้วยมั๊ย 555 ลองเช็คกันเอาเองนะครับ คนที่อ่าน Blog นี้เข้าใจ น่าจะเคย Config Fortigate กันมาบ้าง

เนื่องจากว่าผมใช้ SD-WAN ด้วยนะครับ ดังนั้น PPPoE Interface ก็จะเอามา Add เข้า SD-WAN Member ล้ะ Add default route ของ IPv4 ไปหา SD-WAN Interface

จากนั้นก็จัดการทำ NAT เพื่อให้ Client ที่อยู่หลัง Fortigate ออกเน็ตได้ ส่วนนี้ผมไม่พูดถึงล้ะกันนะครับ เพราะบทความนี้ เราจะ Focus กันที่ IPv6

ขั้นตอนถัดไป เราจะทำการ Request IPv6 Prefix จาก AIS Fibre โดยผมจะเเสดงตัวอย่าง Command line เอาไว้ให้ดูนะครับ

ที่ PPPoE Interface ขา WAN

จะเห็นว่าผมตั้งค่าไว้ ดังต่อไปนี้นะครับ

IPv6 Mode : DHCP #อันนี้สำคัญครับ ต้อง config นะ

ND Mode : basic

Allow access : Ping

Reachable time : 1800 sec

Retransmit time : 180 sec

Hop limit : 64

DHCPv6-PD : Enable #สำคัญครับ เปิดด้วยนะ

DHCPv6-PD Hint : 2405:9800::/32 #อันนี้เป็น Prefix ของ AIS Fibre ครับ

DHCPv6 PLT/VLD : อันนี้ผมตั้งไว้ที่ 3600 sec

จากนั้นก็ต้อง Config Interface ฝั่งขา LAN ครับ ตัวอย่างก็ตามด้านล่าง ของผมจะเอามาใส่บน VLAN Interface นะครับ

ตัว Config จะยาวนิดนึงนะครับ เพราะผมสั่ง Show แบบ Full มันจะเเสดงค่า Config ทั้งหมด แต่ที่สำคัญที่เราต้อง Config ก็คือ

IPv6 Mode : Delegated

IPv6 Send Adv : Enable

Manage flag : Enable

Other flag : Enable

Upstream interface : ระบุเป็น PPPoE Interface ขา WAN ที่ต่อไปหา AIS Fibre

Subnet : ::1/64 อันนี้ตั้งเอาแบบง่ายๆครับ คือพอได้ Prefix มา ก็จะเอา Prefix ที่ได้ รวมกับ ::1/64 เพื่อเป็น IPv6 Address ขา LAN

จากนั้นก็เป็นส่วนของ IPv6 Delegated list ครับ ก็ต้องสร้าง list ขึ้นมาตามภาพ ล้ะระบุ Config ลงไป ที่สำคัญที่ต้อง Config ก็คือ

Upstream interface : ระบุเป็น PPPoE Interface ขา WAN ที่ต่อไปหา AIS Fibre

Autonomous flag : enable

On flag link : enable

subnet : ::/64

แถมให้อีกนิดคือ การทำ DHCPv6 Server ครับ จะได้เเจก DNS ที่เป็น IPv6 ไปให้ Client ได้ด้วย เเต่ๆๆ Android ดันไม่รองรับครับ เท่าที่เทสกับ Samsung ของผม ลืมๆไปเเล้วเหมือนกันว่ามันเคยรองรับมั๊ย ต้องยอมรับว่าหลังจากไม่ได้อยู่ห้องเเล็บ CNR ภาคคอม ม.อ. ก็ห่างหายจาก IPv6 ไปซะนานครับ จนความรู้เริ่มจะเลือนลาง

ตัวอย่าง Config นะครับ

ผมสั่งให้ Show config แบบ Full เหมือนเดิม จะได้เห็น Config กันเต็มๆ

เเต่ที่ต้อง Config จริงๆก็มีอยู่เเค่ส่วนนี้ครับ

Status : Enable

Lease time : ผมตั้งเป็น 3600 sec นะ

Interface : ก็ใส่เป็นชื่อ Interface ขา LAN ที่เรา Config ก่อนหน้านี้

Upstream interface : ระบุเป็น PPPoE Interface ขา WAN ที่ต่อไปหา AIS Fibre

IP Mode : delegated

จากนั้นก็ค่า IPv6 Address ของ DNS Server ครับ ของผมใส่เป็นเลขตามตัวอย่าง เพราะ Deploy DNS Server ใช้เองอยู่ที่บ้าน และทำ DNS over TLS สำหรับการ Query DNS ขาออกเอาไว้ บ้านผม DNS Server จะสลับซับซ้อนนิดนุง และต้องการ Static IP เอาไว้ เลยแอบใช้วง 2001:ffff::/32 ไว้ก่อน จริงๆมันเป็น Global Unicast ล้ะครับ หมายความว่าในอนาคต IPv6 วงนี้มันอาจจะมีเจ้าของ เเต่ตอนนี้ยังไม่มี ก็ยืมใช้ก่อนล้ะกัน 555

ส่วนใครจะใช้ของที่ไหนก็เเล้วเเต่ครับ มีทั้งของ Cloudflare , Google หรือของ AIS เองก็มี ลอง Search กันดูครับ

จบการ Config ล้ะครับ ณ ตอนนี้ Client ที่ต่ออยู่หลัง Fortigate ก็ควรจะได้ IPv6 ล้ะ ลองเช็คดูจาก Client ดูได้ครับ อย่างผมใช้ Mac ก็ใช้คำสั่งเช็คเอา แบบนี้

ผมใช้คำสั่ง ifconfig ล้ะกำหนด Interface เป็น en0 ซึ่งก็คือ WiFi นะครับ อันนี้ผมใช้ Macbook Air M1 นะ

ซึ่งจะเห็นได้ว่า มันมี IPv6 Address อยู่ถึง 4 เลขครับ โดยที่ เลขที่สั้นสุดเนี่ย มาจาก DHCPv6 เป็นตัวเเจก IPv6 ออกมา ส่วนพวกยาวๆก็มาจาก SLACC

จะเห็นว่ามีเลขนึงอยู่ในสถานะ Deprecated ไปล้ะ ซึ่งเเปลว่า OS ไม่ได้ใช้ Source IPv6 เลขนี้ในการติดต่อกับชาวบ้านล้ะ

มาลองดูที่ DNS กันบ้างครับ

จะเห็นว่ามี DNS Server ที่เป็น IPv6 เเสดงขึ้นมาล้ะ

ต่อมาก็ทำ Policy เพื่อ Allow Client ให้ออกเน็ตได้ครับ อันนี้ไม่ยาก ผมขอแคปจอจาก Web UI มาให้ดูกันดีกว่า

จากในภาพ Source IPv6 ที่จำเป็นจะมีเเค่ AIS-Fibre-IPv6 นะครับ ซึ่งผมก็ใส่เป็นค่า 2405:9800::/32 ต้องใส่แบบนี้ เพราะเราไม่รู้ว่าทาง AIS Fibre จะเเจก Prefix วงไหนมาให้เราครับ ส่วนพวก Link-local , Multicast , Reserved อันนี้ผมมั่วล้ะ เพราะเจอปัญหาที่จะมาอธิบายใน Step ต่อไปครับ พวก IPv6 Prefix วงพวกนี้ไม่ต้องใส่ ยังไงลองนึกภาพตามความเป็นจริง มันจะใช้ Link Local ออกเน็ตก็เป็นไปไม่ได้ เพราะมันใช้เเค่คุยกันเองภายใน Network วงเดียวกัน ส่วน Multicast อันนี้เราก็ไม่ค่อยได้ใช้กันในปัจจุบัน เพราะ Traffic บน Internet มันเป็น Unicast กันทั้งนั้น ที่ผมใส่ลงไปเนี่ย เพราะเข้าใจว่าปัญหามันมาจากการที่ผม Allow ใน Policy พลาดไป แต่หลังจาก Trobleshooting ก็สรุปได้ว่า ปัญหาไม่ได้มาจากเรื่องนี้ครับ เพราะถ้าติด Policy จริงๆเนี่ย Fortigate ก็ไม่น่าจะได้รับ Prefix จาก DHCv6-PD ตั้งเเต่เเรกล่ะ

และปัญหา ที่ผมพูดถึง ก็คือ

พอผ่านไปหลายๆวันเข้า IPv6 ก็ใช้งานไม่ได้ครับ 555555555555

ผมจะ Trobleshooting ยังไง แก้ปัญหายังไง ติดตามกันต่อได้ใน Blog ภาคที่ 2 นะครับ สำหรับ Blog นี้ ต้องขอตัวก่อน สวัสดีครับ

อันนี้ อ้างอิง :

--

--