แก้ปัญหา · MacBook Air M2 (Apple Silicon)

อาการเสีย + วิธีแก้

พิมพ์อาการที่เห็นบนจอลงช่องค้นหา แล้วหน้าจะเหลือเฉพาะแถวที่ตรง — ทุกอาการมี คำสั่งตรวจสอบ ที่พิมพ์แล้วรู้ทันทีว่าใช่สาเหตุนี้ไหม ไม่ต้องเดา

หน้าอ้างอิง · เปิดตอนติด พกเข้าห้องสอบ x = 3 · y = 128
วิธีใช้หน้านี้ตอนติดจริง

อย่าเดา — ตรวจก่อน ทุกแถวมีคอลัมน์ "ตรวจให้ชัดด้วย" ซึ่งเป็นคำสั่งเดียวที่ยืนยันได้ว่าใช่สาเหตุนั้นจริงไหม พิมพ์คำสั่งนั้นก่อนเสมอ แล้วค่อยแก้ · เวลาในห้องสอบหมดไปกับการแก้ผิดจุดมากกว่าการแก้ยาก

ค้นด้วยข้อความที่เห็นบนจอได้เลย เช่น up / down, Invalid input, eth0, interface pair, busy · ถ้าเหลือเวลาน้อยแล้ว ข้ามไปที่ T.11 — เหลือ 10 นาที ทันที

T.1ติดตรงไหนก็ตาม — ตรวจ 8 อย่างนี้ก่อนเสมอ

ไล่จากล่างขึ้นบน (กายภาพ → ลิงก์ → เน็ตเวิร์ก) แปดคำสั่งนี้ตอบได้เกือบทุกปัญหาของทั้ง 5 แลป — พิมพ์รวดเดียวแล้วอ่านผลก่อนจะไปแตะอะไร

[Router# / Switch#] — ชุดตรวจมาตรฐาน
Router#show ip interface brief        # ① ทุกใบที่ใช้ต้องเป็น up / up
Router#show controllers Serial2/0      # ② ฝั่งนี้เป็น DCE หรือ DTE
Router#show ip route                  # ③ มีแถวขึ้นต้นด้วย R ไหม (RIP ทำงานหรือยัง)
Router#show arp                       # ④ รู้จัก MAC ของเพื่อนบ้านในวงเดียวกันไหม
Switch#show vlan brief                # ⑤ พอร์ตอยู่ VLAN ที่ตั้งใจไหม
Switch#show interface fa1/10 switchport  # ⑥ พอร์ตนี้เป็น trunk จริงไหม
Switch#show spanning-tree             # ⑦ พอร์ตกำลังถูก block หรือกำลังไต่สถานะอยู่ไหม
Switch#show mac-address-table         # ⑧ switch เห็นเครื่องที่คุยอยู่จริงไหม
[macOS Terminal] — ชุดตรวจฝั่งเครื่องเรา
$ id -Gn | grep access_bpf   # Wireshark จะเห็น interface ไหม
$ ls /dev/tty.*               # สาย console ถูกจับหรือยัง
$ arp -a                      # เครื่องเรารู้จัก MAC ของ gateway ไหม
$ netstat -rn | head          # ping ออกทาง Wi-Fi หรือทางสาย
$ ping -c 3 192.3.128.1        # ถึง gateway ไหม
อ่านผลให้เป็นภายในสามวินาที

administratively down ⇒ ลืม no shutdown · up / down บน Serial ⇒ ลืม clock rate ฝั่ง DCE · show ip route มีแต่ C ⇒ RIP ยังไม่แลกเปลี่ยน · show vlan ไม่เห็นพอร์ตในวง ⇒ ลืม switchport access vlan · show spanning-tree ขึ้น BLK/LIS/LRN ⇒ ไม่ได้พัง แค่ยังไม่ถึงคิว

T.2GNS3 · IOS image · server

อาการที่เห็นสาเหตุตรวจให้ชัดด้วยวิธีแก้
เปิดโปรเจกต์ของเพื่อนไม่ขึ้น / GNS3 เด้งปิด / ฟีเจอร์หาย ลง GNS3 ผิดเวอร์ชัน (โหลดจาก gns3.com จะได้ตัวใหม่กว่า) GNS3 → About ต้องขึ้น 2.2.53 เป๊ะ ถอนออก แล้วโหลด GNS3-2.2.53.dmg จากหน้า release บน GitHub เท่านั้น (gns3-gui/releases/tag/v2.2.53)
เปิดแอปครั้งแรกแล้ว macOS ขึ้นว่ามาจาก ผู้พัฒนาที่ไม่ระบุตัวตน Gatekeeper บล็อกแอปที่ไม่ได้ผ่าน App Store เปิด System Settings → Privacy & Security แล้วเลื่อนลงล่างสุด จะเห็นชื่อ GNS3 ค้างอยู่ กด Open Anyway แล้วเปิดแอปซ้ำอีกครั้ง
ลาก router ลงมาแล้วกด Start ไฟไม่ขึ้นเขียว / console แล้วไม่มีข้อความบูต ใช้ image ที่ไม่ใช่ตระกูล dynamips c7200 — image ที่ต้องรันบน QEMU x86 จะไม่ทำงานบน Apple Silicon Preferences → IOS routers ต้องเห็น template ที่สร้างจาก c7200-adventerprisek9-mz.152-4.M5.image สร้าง template ใหม่จาก image c7200 · ตั้ง RAM 512 MiB · dynamips จำลอง CPU ของ router ให้อยู่แล้ว จึงรันบน ARM ได้โดยไม่ต้องใช้ Rosetta
Server errors / Could not connect to server ตอนเปิดโปรเจกต์ ยังไม่ได้ต่อ VPN KKU หรือต่อ VPN หลัง เปิด GNS3 ไปแล้ว ping -c 3 <IP ของ GNS3 server> จาก Terminal — ถ้าไม่มี reply แปลว่า VPN ไม่ติด อย่าเพิ่งไปแตะ GNS3 ต่อ VPN KKU ให้ ping ผ่านก่อน → ปิด GNS3 แล้วเปิดใหม่ · ถ้า VPN ห้องแลปมีปัญหา ให้สลับไปใช้ local server ทำต่อได้เลย
ลากสาย Serial ไม่ได้ — ไม่มีพอร์ต Serial ให้เลือก ตอนสร้าง template ไม่ได้ใส่การ์ด PA-4T+ console เข้า router แล้ว show ip interface brief — ถ้าไม่มีบรรทัดขึ้นต้นด้วย Serial คือไม่มีการ์ด Preferences → IOS routers → Edit → Slots → slot1 PA-4E, slot2 PA-4T+ → ลบ router ตัวเก่าออกจาก topology แล้วลากใหม่ (ตัวเก่าไม่อัปเดตเอง)
พัดลมหมุนสุด เครื่องหน่วง พิมพ์ใน console ไม่ทัน ไม่ได้กด Idle-PC finder — dynamips จะกิน CPU 100% ต่อ router 1 ตัว เปิด Activity Monitor ดู CPU ของ GNS3 — ถ้าพุ่ง 100% ต่อ router คือยังไม่ได้ตั้ง Preferences → IOS routers → Edit → Idle-PC → กด Idle-PC finder แล้วรอจนเสร็จ
เปิด Console แล้วได้จอดำ / Connection refused ยังไม่ได้กด Start หรืออุปกรณ์ยังบูตไม่เสร็จ ดูจุดหน้าชื่ออุปกรณ์ — แดง = หยุด · เขียว = ทำงาน กด Start ให้เป็นเขียว แล้วรอ ~30 วินาทีจนขึ้น Router> ค่อยพิมพ์ · กด Enter ซ้ำ 2–3 ครั้ง
คลิกขวาที่สาย → Start Capture แล้ว Wireshark ไม่เปิด ยังไม่ได้ลง Wireshark หรือลงผิดรุ่น เปิด Wireshark เองจาก Applications — ถ้าเปิดไม่ขึ้น/ไม่เห็น interface คือปัญหาอยู่ที่ Wireshark ไม่ใช่ GNS3 ลง Wireshark รุ่น Arm + ChmodBPF.pkg → T.3
show mac-address-table ใช้ไม่ได้ / console เข้า switch ไม่ได้ ใช้ "Ethernet switch" ที่ติดมากับ GNS3 ซึ่งเป็นสวิตช์จำลองไม่มี CLI คลิกขวาที่ switch — ถ้าไม่มีเมนู Console คือใช่ตัวนี้ เปลี่ยนไปใช้ image L2-ADVENTERPRISE (IOU) ในโฟลเดอร์ 1_network_2026/GNS3 image ซึ่งมี CLI จริง ทั้ง show mac-address-table และ VLAN ข้อสอบข้อ 1 สั่งส่งคำสั่งนี้

T.3Wireshark

อาการที่เห็นสาเหตุตรวจให้ชัดด้วยวิธีแก้
เปิด Wireshark แล้วหน้าแรกว่างเปล่า ไม่มี interface สักอัน ยังไม่ได้ติดตั้ง ChmodBPF.pkg — macOS ให้สิทธิ์อ่าน /dev/bpf* เฉพาะ root id -Gn | grep access_bpf ต้องพิมพ์คำว่า access_bpf ออกมา
ls -l /dev/bpf0 ต้องขึ้นกลุ่ม access_bpf
เปิดไฟล์ .dmg ของ Wireshark → ดับเบิลคลิก ChmodBPF.pkg → logout / login → ตรวจซ้ำด้วยคำสั่งข้างซ้าย
Wireshark ช้ามาก / เด้งเตือนให้ติดตั้ง Rosetta โหลดรุ่น Intel มาแทนรุ่น Arm Finder → คลิกขวา Wireshark.app → Get Info → ช่อง Kind ต้องเป็น Universal หรือ Apple silicon ไม่ใช่ Intel ถอนออก แล้วโหลดใหม่ที่ wireshark.org/download.html โดยเลือกรูปแบบ Arm (M1 ขึ้นไป)
เห็น interface แล้ว แต่ไม่เห็นทราฟฟิกระหว่าง PC เครื่องอื่นเลย ยังไม่ได้ตั้ง port mirroring — switch ส่งเฟรมเฉพาะไปพอร์ตปลายทาง ไม่กระจายทุกพอร์ตแบบ hub show monitor session 1 ที่สวิตช์ — ต้องเห็นทั้ง Source Ports และ Destination Ports monitor session 1 source Interface GigabitEthernet1/0/1 , GigabitEthernet1/0/3 both แล้ว monitor session 1 destination interface GigabitEthernet1/0/13 · เสียบ MacBook ที่พอร์ต destination
ดักได้แต่ไม่เห็น VLAN tag 802.1Q ทั้งที่ทำ trunk แล้ว ไปดักที่ access port ซึ่งเฟรมถูกถอด tag ออกไปแล้ว ใน Wireshark ใส่ filter vlan — ถ้าไม่ขึ้นอะไรเลยคือดักผิดพอร์ต ตั้ง monitor session โดยให้ source เป็นพอร์ต trunk แล้วดักใหม่ · ใน GNS3 ให้ Start Capture ที่ สายระหว่าง switch สองตัว
ping ผ่านแล้วแต่ Wireshark ไม่เห็น icmp เลย กำลังดักผิด interface (ดักที่ en0 Wi-Fi แทนการ์ด USB-C) ifconfig en5 ดูว่าการ์ดที่มี IP ของแลปชื่ออะไร แล้วเทียบกับ interface ที่เลือกใน Wireshark เลือก interface ให้ตรง · และปิด Wi-Fi เพื่อไม่ให้มีเส้นทางออกสองทาง
ทราฟฟิกเยอะจนหาไม่เจอ ยังไม่ได้ใส่ display filter — ใส่ filter ตามข้อสอบ: ip.src == 192.3.128.2 · icmp · arp · เพิ่มเติม stp, vlan, udp.port == 520

T.4สาย console · screen · /dev/tty.*

อาการที่เห็นสาเหตุตรวจให้ชัดด้วยวิธีแก้
screen ค้าง ออกไม่ได้ พิมพ์อะไรก็ไม่ตอบ อยู่ใน screen อยู่ — ⌘+W ปิดหน้าต่างเฉย ๆ ไม่ได้ปิด session — กด Ctrl+A แล้วตามด้วย Ctrl+\ (ตอบ y) เพื่อฆ่า session · หรือ Ctrl+A แล้ว Ctrl+D เพื่อถอยออกโดยยังไม่ตัด
เปิด screen แล้วขึ้น Resource busy หรือจอดำนิ่ง มี screen session เก่าจับพอร์ตค้างอยู่ จากรอบก่อน screen -ls — ถ้าเห็นรายการค้างอยู่ (Attached / Detached) คือใช่ screen -X -S <screen_number> quit ทุกอันที่ค้าง แล้วค่อยเปิดใหม่ · ถ้าอยากกลับเข้าอันเดิมใช้ screen -r <screen_number>
หา /dev/tty.* ไม่เจอ — พิมพ์แล้วขึ้น No such file or directory ตัวแปลง USB ไม่ถูกจับ · MacBook Air M2 มีแต่ USB-C จึงต้องมีตัวแปลง/hub ls /dev/tty.* (ต้องเห็น tty.usbmodem… หรือ tty.usbserial…)
system_profiler SPUSBDataType | grep -i -B2 -A6 serial ดูว่าเครื่องมองเห็นตัวแปลงไหม
ถอดเสียบใหม่ · ลองพอร์ต USB-C อีกช่อง · เปลี่ยนสาย/ตัวแปลง · เช็กว่าเสียบเข้าช่องที่เขียน CONSOLE ไม่ใช่ช่อง Ethernet
ต่อ console แล้วหน้าจอว่างเปล่า ไม่มี prompt ยังไม่ได้กด Enter · เสียบผิดช่อง · หรือมี screen ค้าง กด Enter 2–3 ครั้ง แล้วดูว่ามี Router> / Switch> โผล่มาไหม ดูป้าย CONSOLE ข้างช่อง (มักเป็นสีฟ้าอ่อน) — บนรุ่นเก่าช่อง console หน้าตาเหมือน RJ-45 เป๊ะแต่ใช้แทนกันไม่ได้
หน้าจอมีแต่ตัวอักษรขยะ ความเร็ว (baud rate) ไม่ตรง — console ของ Cisco ใช้ 9600 8N1 — ออกแล้วเปิดใหม่โดยใส่ความเร็วต่อท้าย: screen /dev/tty.usbmodem1301 9600
พิมพ์อยู่ดี ๆ มีข้อความ log แทรกกลางบรรทัด IOS พิมพ์ syslog ทับบรรทัดที่กำลังพิมพ์ — line console 0 แล้ว logging synchronous — IOS จะพิมพ์บรรทัดที่ค้างให้ใหม่ทุกครั้ง

T.5Parallels · Ubuntu ARM · USB Ethernet

อาการที่เห็นสาเหตุตรวจให้ชัดด้วยวิธีแก้
ISO ของ Ubuntu บูตไม่ขึ้นใน VM โหลด ISO ของ x86 มา — M2 เป็น ARM64 รันไม่ได้ ใน VM: uname -m ต้องได้ aarch64 โหลด Ubuntu รุ่น ARM64 / aarch64 · Parallels มีตัวเลือกดาวน์โหลด Ubuntu ARM ให้ในหน้าสร้าง VM เลย
Ubuntu ใน Parallels ไม่เห็นการ์ด USB Ethernet ที่เสียบไว้ ยังไม่ได้ทำ USB passthrough — เสียบเฉย ๆ macOS จะยึดการ์ดไว้เอง ใน VM: ip -br a เห็นแต่ lo กับ enp0s5 (การ์ดเสมือนของ Parallels) ไม่เห็นตัวที่ขึ้นต้น enx Parallels → Devices → USB & Bluetooth → เลือกการ์ด เพื่อยกให้ VM ทั้งใบ · macOS จะไม่เห็นการ์ดชั่วคราว ถือว่าถูกต้อง
Cannot find device "eth0" เวลาคัดลอกคำสั่งของเพื่อนมาใช้ Linux ยุคใหม่ตั้งชื่อ interface แบบ predictable names — การ์ด USB ได้ชื่อ enx + MAC address ไม่ใช่ eth0 ip -br a — ชื่อจริงจะหน้าตาแบบ enxaca7f1a9ff44 เก็บชื่อไว้ในตัวแปรแล้วใช้ตัวแปรตลอด:
IF=enxaca7f1a9ff44
sudo ip addr add 192.3.128.5/24 dev $IF
sudo ip link set $IF up
netem วัดค่าเพี้ยน — ตั้ง delay 100 ms แต่ ping ได้ค่าประหลาด / loss ไม่ตรงเปอร์เซ็นต์ ยังไม่ได้ปิด offload — การ์ดรวมแพ็กเก็ตหลายตัวเป็นก้อนเดียวก่อนส่งขึ้นเคอร์เนล ethtool -k $IF | grep -E "tcp-segmentation|generic-segmentation|generic-receive" — ทั้งสามต้องเป็น off sudo ethtool -K $IF tso off gso off gro off แล้ววัดใหม่ · ใน Mininet ใช้ h1 ethtool -K h1-eth0 tso off gso off gro off
ssh ubuntu ไม่ติด / Connection refused IP ของ VM เปลี่ยน (DHCP ของ Parallels) หรือยังไม่ได้เปิด SSH server ในหน้าต่าง VM: ip -br a ดู IP จริง แล้ว systemctl status ssh แก้ HostName ใน ~/.ssh/config ให้ตรง · ถ้า SSH ยังไม่เปิด: sudo apt install -y openssh-server
ping จากเครื่องจริงไปหาเพื่อนไม่ผ่าน แต่เพื่อน ping มาผ่าน ยังเปิด Firewall ของ macOS อยู่ (บล็อกขาเข้า) System Settings → Network → Firewall ต้องเป็น Off ปิด Firewall ก่อนทำแลป · ทำเสร็จแล้วเปิดคืน ตามที่ใบแลปสั่ง

T.6Mininet · tc/netem · iperf3

อาการที่เห็นสาเหตุตรวจให้ชัดด้วยวิธีแก้
Exception: Error creating interface pair (h1-eth0,s1-eth1): RTNETLINK answers: File exists Mininet รอบก่อนไม่ได้ปิดให้เรียบร้อย — veth และ bridge ยังค้างอยู่ในระบบ ip -br a | grep eth — ถ้ายังเห็น h1-eth0 / s1-eth1 ค้างอยู่ทั้งที่ไม่ได้รัน mn คือใช่ sudo mn -c แล้วรันใหม่ · พิมพ์ sudo mn -c ทุกครั้งก่อนเริ่มรอบใหม่จนติดเป็นนิสัย
RTNETLINK answers: File exists ตอนสั่ง tc qdisc add มี qdisc ตัวเดิมติดอยู่บนอินเทอร์เฟซนั้นแล้ว — add ซ้ำไม่ได้ tc qdisc show dev h1-eth0 — จะเห็นบรรทัด netem ค้างอยู่ ใช้ tc qdisc change dev h1-eth0 root netem … แทน · หรือ tc qdisc del dev h1-eth0 root netem ก่อนแล้วค่อย add
Cannot find device "h1-eth0" สั่งจากนอกเนมสเปซของ h1 หรือ Mininet ไม่ได้รันอยู่ ที่ mininet> พิมพ์ h1 ifconfig ดูชื่อจริง (โฮสต์ = h1-eth0 · สวิตช์ = s1-eth1) สั่งผ่านโฮสต์เสมอ: h1 tc qdisc add dev h1-eth0 root netem delay 100ms หรือเปิด xterm h1 แล้วสั่งข้างใน
pingall มี X บางคู่ ทั้งที่ topology ถูก มี netem loss ค้างจากการทดลองรอบก่อน tc qdisc show dev h1-eth0 — ต้องเห็นแค่ noqueue หรือ pfifo_fast ถ้ายังไม่ได้ตั้งอะไร sudo tc qdisc del dev h1-eth0 root netem แล้ว pingall ใหม่ · ล้างค่าเก่าก่อนวัดทุกครั้ง
ตั้ง delay 100ms แต่ RTT ที่ได้ ประมาณ 200 ms เผลอตั้ง netem ไว้ ทั้งสองฝั่ง — netem หน่วงเฉพาะขาออก ของอินเทอร์เฟซที่ตั้ง tc qdisc show dev h1-eth0 และ tc qdisc show dev h3-eth0 ตั้งที่ h1-eth0 ฝั่งเดียวพอ ⇒ RTT ≈ 100 ms · ลบของอีกฝั่งออกด้วย del
miniedit.py เปิดไม่ขึ้น / no display name and no $DISPLAY สั่งผ่าน ssh ธรรมดาซึ่งไม่มีหน้าจอกราฟิกให้ echo $DISPLAY — ถ้าว่างคือไม่มี X11 รัน MiniEdit ในหน้าต่าง VM โดยตรง · หรือ ssh -X ubuntu พร้อมติดตั้ง XQuartz บน Mac · วิธีที่เร็วกว่า: ข้าม GUI ไปใช้ sudo mn --custom ~/mytopo.py --topo mytopo
iperf3 ขึ้น unable to connect to server: Connection refused ยังไม่ได้เปิดฝั่ง server หรือเปิดคนละโฮสต์กับที่ยิงไปหา ที่ฝั่ง server ต้องเห็นข้อความ Server listening on 5201 ค้างอยู่ เปิด iperf3 -s ที่ปลายทางก่อน แล้วค่อย iperf3 -c <ip> · ที่ mininet> ใช้ h2 iperf3 -s & แล้ว h1 iperf3 -c 192.3.128.2 -t 5
ping ระหว่างโฮสต์ไม่ผ่านทั้งที่เพิ่งสร้าง topology ตั้ง IP คนละวงกัน (MiniEdit ค่าเริ่มต้นคือ 10.0.0.0/8) ที่ mininet> พิมพ์ dump ดู IP ของทุกโหนด MiniEdit: Edit → Preferences → IP Base = 192.3.128.0/24 · หรือรัน sudo mn … --ipbase=192.3.128.0/24 · ตั้งทีละเครื่องก็ได้: h1 ifconfig h1-eth0 192.3.128.1/24

T.7ping ไม่ผ่านทั้งที่ config ครบแล้ว

สามอย่างที่ทำให้คนตกข้อ 1 มากที่สุด

① ลืม no shutdown ② ลืม clock rate ฝั่ง DCE ③ ลืมประกาศ network ของวง Serial ใน RIP — ทั้งสามอย่างนี้ทำให้ ping ไม่ผ่านโดยที่ IP ทุกตัวถูกต้องหมด · ตรวจตามลำดับนี้ก่อนไปหาสาเหตุอื่น

อาการที่เห็นสาเหตุตรวจให้ชัดด้วยวิธีแก้
ping ไม่ผ่านเลย · show ip interface brief ขึ้น administratively down / down ลืม no shutdown — อินเทอร์เฟซของ router ทุกใบปิดอยู่โดยค่าเริ่มต้น show ip interface brief — หาแถวที่คอลัมน์ Status เป็น administratively down interface Ethernet1/0 → no shutdown · ทำให้ครบทุกใบที่มีสายเสียบ
Serial ขึ้น up / down (line protocol is down) ฝั่ง DCE ยังไม่ได้ตั้ง clock rate — Serial ต้องมีคนหนึ่งจ่ายนาฬิกาให้อีกคน ต่างจาก Ethernet show controllers Serial0/1/1 — ฝั่งที่ขึ้น V.35 DCE cable คือฝั่งที่ต้องตั้ง เข้าไปที่ฝั่ง DCE แล้ว clock rate 56000 · ใส่ทั้งสองฝั่งไม่ทำให้พัง ฝั่ง DTE จะแค่ไม่มีผล
Serial ขึ้น down / down สาย serial ผิดฝั่ง / หลุด หรืออีกฝั่งยัง shutdown อยู่ show controllers Serial2/0 — ถ้าไม่ขึ้นว่ามีสาย (no cable) คือปัญหาที่ตัวสาย ใน GNS3: ลบสายแล้วลากใหม่ (ฝั่งที่คลิกก่อนจะเป็น DCE) · ของจริง: สลับปลาย V.35 แล้วเสียบใหม่ · แล้วสั่ง no shutdown ทั้งสองฝั่ง
ping ถึง gateway ของตัวเองได้ แต่ข้ามไปอีกฝั่งไม่ได้ ลืมประกาศวงของ Serial ใน RIP — network 193.3.128.0 show ip route — ต้องเห็นแถวขึ้นต้นด้วย R ถ้ามีแต่ C คือ RIP ยังไม่แลกเปลี่ยนกัน router rip → network 193.3.128.0 ที่ ทั้งสอง router · รอ ~30 วินาทีให้ update วิ่ง แล้วดู show ip route ซ้ำ
ping ข้าม subnet ขึ้น host not reachable ทันที และ Wireshark ไม่เห็นอะไรเลย PC ยังไม่ได้ตั้ง gateway — เครื่องรู้ตัวว่าไม่มีทางไป จึงไม่ส่งอะไรออกมาเลย ที่ VPCS: show ip ต้องมีบรรทัด GATEWAY · บน Mac: netstat -rn | head ต้องมี default VPCS: ip 192.3.128.2 255.255.255.0 192.3.128.1 · Mac: System Settings → Network → Details… → TCP/IP → กรอกช่อง Router
ping ผ่าน แต่ TTL ไม่ตรงกับจำนวน router ที่ควรผ่าน แพ็กเก็ตเดินคนละเส้นทางกับที่ออกแบบไว้ VPCS ส่งด้วย TTL 64 · ลดทีละ 1 ต่อ router ⇒ ttl=63 ผ่าน 1 ตัว · ttl=62 ผ่าน 2 ตัว · ยืนยันด้วย show ip route ดู show ip route ว่า next-hop คือตัวที่ตั้งใจไหม · ถ้ามี default route หรือ static route เก่าค้าง ให้ลบด้วย no ip route …
ping ครั้งแรก timeout ครั้งถัดไปผ่าน ปกติ — ครั้งแรกเสียเวลาไปกับ ARP arp -a หลัง ping ครั้งแรก จะเห็นคู่ IP ↔ MAC เพิ่มขึ้นมา ไม่ต้องแก้ · ping ซ้ำ 2–3 ครั้งแล้วอ่านผลตั้งแต่ครั้งที่สอง
ping ออกไปวิ่งผิดทาง / ผลไม่นิ่ง เดี๋ยวได้เดี๋ยวไม่ได้ ยังไม่ได้ปิด Wi-Fi จึงมีสองเส้นทางออกจากเครื่อง netstat -rn | head — ดูว่า default gateway ชี้ออกทาง en0 (Wi-Fi) หรือ en5 (สาย) ปิด Wi-Fi ให้เหลือแต่การ์ด USB-C Ethernet
ping ใน subnet เดียวกันยังไม่ผ่านเลย (ยังไม่ทันข้าม router) ยังไม่ได้กด Start ใน GNS3 · หรือสายต่อคนละพอร์ตกับที่ตั้ง IP ไว้ ดูจุดหน้าชื่ออุปกรณ์ให้เป็นสีเขียว · คลิกที่สายดูว่าปลายทั้งสองเข้าพอร์ตไหน แล้วเทียบกับพอร์ตที่ config กด Start · ย้ายสายให้ตรงพอร์ต หรือย้าย config ไปที่พอร์ตที่เสียบจริง
ทำ config มาทั้งชั่วโมง อุปกรณ์ reload แล้วหายหมด ไม่ได้บันทึกลง NVRAM — IOS ไม่มีปุ่ม Save show startup-config — ถ้าว่างหรือไม่ตรงกับที่ทำไว้ คือยังไม่ได้เซฟ copy run start ทุกครั้งที่ทำอะไรสำคัญเสร็จ

T.8VLAN · Trunk · Router-on-a-Stick

อาการที่เห็นสาเหตุตรวจให้ชัดด้วยวิธีแก้
PC ที่อยู่คนละ VLAN ping กันไม่ได้ ถูกต้องแล้ว ไม่ใช่ความผิดพลาด — VLAN แยกโดเมนออกจากกัน อุปกรณ์ต่าง VLAN สื่อสารกันไม่ได้แม้อยู่สวิตช์ตัวเดียวกัน show vlan brief — ถ้าพอร์ตของสองเครื่องอยู่คนละ VLAN ก็คือคำตอบ ถ้าโจทย์สั่งให้ข้าม VLAN ได้ ต้องเพิ่ม router-on-a-stick: interface fa0/0.10 → encapsulation dot1Q 10 → ip address 192.3.128.1 255.255.255.0
PC ที่อยู่ VLAN เดียวกัน แต่คนละสวิตช์ ping กันไม่ได้ ลืมทำ trunk ที่สายระหว่างสวิตช์ (หรือทำแค่ฝั่งเดียว) show interface fa1/10 switchport — ต้องเห็น Operational Mode: trunk ทั้งสองฝั่ง ที่สวิตช์ทั้งสองตัว: interface fa1/10 → switchport mode trunk → switchport trunk allowed vlan 10,20
ทำ trunk แล้ว แต่ VLAN ที่เพิ่งสร้างยังข้ามไม่ได้ ลืม switchport trunk allowed vlan หรือใส่ไม่ครบทุก VLAN show interface fa1/10 switchport ดูบรรทัด Trunking VLANs Enabled ว่ามีเลข VLAN ที่ต้องการไหม
หรือ show interfaces trunk
switchport trunk allowed vlan 10,20 · ถ้าจะเพิ่มโดยไม่ทับของเดิมใช้ switchport trunk allowed vlan add 30
สร้าง VLAN แล้วแต่ show vlan ไม่มีพอร์ตอยู่ในวงนั้นเลย ลืม switchport mode access หรือ switchport access vlan <id> show vlan brief — คอลัมน์ Ports ของ VLAN นั้นต้องมีชื่อพอร์ต ไม่ใช่ว่าง interface range fa1/1 - 2 → switchport mode access → switchport access vlan 10 (เว้นวรรครอบขีดใน interface range ด้วย)
ขึ้น log %CDP-4-NATIVE_VLAN_MISMATCH native vlan สองฝั่งของ trunk ไม่ตรงกัน show interface fa1/10 switchport ดูบรรทัด Trunking Native Mode VLAN ทั้งสองฝั่ง ตั้ง switchport trunk native vlan 10 ให้เหมือนกันทั้งสองฝั่ง
พิมพ์ switchport mode trunk แล้วขึ้น % Invalid input สวิตช์บางรุ่นต้องกำหนด encapsulation ก่อน พิมพ์ switchport trunk ? ดูว่ามีคำว่า encapsulation ให้เลือกไหม ถ้ามี ให้พิมพ์ switchport trunk encapsulation dot1q ก่อน แล้วค่อย switchport mode trunk · รุ่นที่รองรับ dot1Q อย่างเดียว (2950/3650) ไม่มีคำสั่งนี้ ข้ามไปได้
Router-on-a-Stick: subinterface down หมดทุกอัน ลืม no shutdown ที่อินเทอร์เฟซแม่ (fa0/0) — subinterface ตายตามตัวแม่เสมอ show ip interface brief — ดูบรรทัดของ fa0/0 (ตัวไม่มีจุด) ว่า up หรือยัง interface fa0/0 → no shutdown แล้ว subinterface ทั้งหมดจะขึ้นตาม
ตั้ง subinterface ครบแล้วแต่ PC ยัง ping ข้าม VLAN ไม่ได้ พอร์ตของสวิตช์ที่ต่อไปหา router ยังเป็น access ไม่ใช่ trunk · หรือ PC ตั้ง gateway ผิด show interface <พอร์ตที่ต่อ router> switchport ต้องเป็น trunk
ที่ PC: ping ไปที่ IP ของ subinterface ของ VLAN ตัวเองก่อน
ทำพอร์ตนั้นเป็น trunk · ตั้ง gateway ของ PC ให้เป็น IP ของ subinterface ของ VLAN ตัวเอง (VLAN 10 → 192.3.128.1 · VLAN 20 → 193.3.128.1)

T.9สวิตช์ · พอร์ตไม่ขึ้น · STP

อาการที่เห็นสาเหตุตรวจให้ชัดด้วยวิธีแก้
เสียบสายแล้วไฟที่พอร์ตเป็นสีส้ม ส่งข้อมูลยังไม่ได้ ไม่ได้พัง — STP กำลังไต่สถานะ Listening → Learning พอร์ตยังไม่ถึงคิว Forwarding show spanning-tree — คอลัมน์ Sts จะเป็น LIS (Listening) หรือ LRN (Learning) รอ 30 วินาที (forward delay 15 + 15) แล้วไฟจะเปลี่ยนเป็นเขียวและ Sts เป็น FWD เอง · อย่าเพิ่งรีบถอดสายเสียบใหม่ เพราะจะเริ่มนับใหม่
ดึงสายเส้นหลักออกแล้วเน็ตเงียบไปเกือบนาทีก่อนจะกลับมา เวลากู้คืนมาตรฐานของ STP = 20 (max age) + 15 (listening) + 15 (learning) = 50 วินาที show spanning-tree ซ้ำทุก 10 วินาที จะเห็น Sts ไล่จาก BLK → LIS → LRN → FWD เป็นพฤติกรรมปกติ · ถ้าจะทำ FTP แล้วดึงสายกลางคัน (ใบแลป 5 ข้อ 4.4) ให้เผื่อเวลานี้ไว้ในกราฟ I/O Graph ด้วย
ตั้ง priority แล้ว root bridge ไม่เปลี่ยน ใส่ค่าที่ไม่ใช่พหุคูณของ 4096 · หรือตั้งผิด VLAN · หรือค่ายังสูงกว่าตัวที่เป็น root อยู่ show spanning-tree vlan 9 — ดูบรรทัด Root ID Priority เทียบกับ Bridge ID Priority ของตัวเอง spanning-tree vlan 9 priority 4096 (ค่าเริ่มต้นคือ 32768 · ต้องให้ต่ำกว่าตัวที่เป็น root อยู่) · ระวังพิมพ์ spannning-tree ผิดตามใบแลป
ยกเลิก STP แล้วเครือข่ายล่ม / เครื่องค้าง broadcast storm จากลูป — ไม่มี STP มาบล็อกพอร์ตแล้ว เฟรม broadcast วนไม่รู้จบ ไฟทุกพอร์ตกะพริบถี่พร้อมกันทั้งแถว · Wireshark เห็นเฟรมเดิมซ้ำ ๆ จำนวนมหาศาล ทำตามลำดับของใบแลป: ดึงสายแยกเน็ตเวิร์กออกจากกันให้หมดก่อน → เปิด Wireshark รอจับ BPDU → no spanning-tree vlan 9 ทุกตัว → ค่อยเสียบสายกลับ
ต่อสวิตช์เป็นวงแล้วลูปยังไม่ถูกกำจัด ทั้งที่เปิด STP มีสวิตช์บางตัวใน LAN ที่ไม่ได้ใช้ IEEE 802.1d (ต่างผู้ผลิตกัน) จึงไม่เข้าร่วม STP show spanning-tree ที่ทุกตัว — ตัวที่ไม่แสดงข้อมูล STP หรือมองไม่เห็น root เดียวกันคือตัวมีปัญหา ใช้สวิตช์ Cisco ทั้งวง (Cisco ใช้ IEEE 802.1d โดยปริยาย) · หรือดึงสายที่ทำให้เกิดลูปออกก่อน
show spanning-tree ขึ้น BLK ที่พอร์ตที่คิดว่าควรใช้งาน พอร์ตนั้นไม่ใช่ Root Port และไม่ใช่ Designated Port ของ segment นั้น เทียบ Path Cost ไป root ของแต่ละพอร์ต แล้วดู Bridge ID / Port ID ถ้าอยากให้เส้นนั้นเป็นเส้นหลัก ให้ลด priority ของสวิตช์ให้เป็น root หรือลด cost ของพอร์ต · แต่ในใบแลปแค่ต้องวาดรูปและระบุสถานะพอร์ต ไม่ต้องแก้
สวิตช์ไม่เรียน MAC / show mac-address-table ว่างเปล่า ยังไม่มีทราฟฟิกวิ่งผ่าน หรือพอร์ตยังอยู่สถานะ Listening (ยังไม่เรียน MAC) show spanning-tree ต้องเป็น FWD · แล้ว ping ให้เกิดทราฟฟิกก่อน ping ให้ผ่านสักครั้งแล้วดูตารางใหม่ · Learning คือสถานะแรกที่เริ่มเรียน MAC แต่ยังไม่ forward

T.10ข้อความ error ของ IOS ที่เจอบ่อย

ข้อความที่ขึ้นบนจอแปลว่าอะไรแก้ยังไง
% Invalid input detected at '^' marker. อยู่ผิดโหมด หรือพิมพ์ชื่อคำสั่งยาวเกิน — เครื่องหมาย ^ ชี้ตรงตัวอักษรที่มันเริ่มไม่เข้าใจ ดู prompt ก่อนว่าเป็น >, #, (config)# หรือ (config-if)# · ตัวอย่างคลาสสิก: ใบแลปเขียน show running-configuration แต่คำสั่งจริงคือ show running-config — IOS ยอมให้พิมพ์ย่อ แต่ไม่ยอมให้พิมพ์ยาวเกิน
% Incomplete command. พิมพ์คำสั่งไม่ครบ ยังขาดพารามิเตอร์ พิมพ์คำสั่งเดิมแล้วเติม ? ท้ายบรรทัด IOS จะบอกว่าต้องใส่อะไรต่อ เช่น ip address ?
% Ambiguous command: ย่อคำสั่งสั้นเกินไป จนตรงกับหลายคำสั่ง พิมพ์ให้ยาวขึ้นอีกนิด เช่น sh ru → sh run
Translating "conft"...domain server (255.255.255.255) แล้วค้างไป 30 วินาที พิมพ์คำสั่งผิด IOS เลยคิดว่าเป็นชื่อโฮสต์แล้วไปถาม DNS กด Ctrl+Shift+6 เพื่อยกเลิกทันที · แล้วป้องกันด้วย no ip domain-lookup ในโหมด config
--More-- ค้างกลางหน้าจอตอนดู show running-config IOS แบ่งหน้าให้อ่านทีละจอ กด Space ไปทีละหน้า · หรือสั่ง terminal length 0 ก่อน แล้วมันจะพิมพ์รวดเดียวจบ (แคปหน้าจอส่งอาจารย์ง่ายกว่ามาก)
This command applies only to DCE interfaces สั่ง clock rate ที่ฝั่ง DTE ไม่ทำให้พัง — แค่ไม่มีผล · หาฝั่ง DCE ด้วย show controllers แล้วไปสั่งที่ฝั่งนั้น
% password required, but none set ตอน telnet เข้ามา ใส่ login บนสาย vty แต่ยังไม่ได้ตั้ง password line vty 0 4 → password Lab → login · ต้องมีคู่กันเสมอ
ตั้ง password แล้วแต่เข้ามาไม่ถูกถามรหัสเลย ลืมสั่ง login — password แค่เก็บค่า ส่วน login คือตัวสั่งให้ถาม เข้าไปใน line console 0 / line vty 0 4 แล้วพิมพ์ login เพิ่ม · ตรวจผลด้วย show running-config
Router(config)#interface interface serial2/0 แล้วขึ้น Invalid input ใบแลปพิมพ์คำว่า interface ซ้ำสองครั้ง ที่ถูกคือ interface Serial2/0 คำเดียว

T.11ถ้าเหลือเวลา 10 นาทีแล้วยังไม่ผ่าน ให้ทำอะไร

กฎข้อเดียว — หยุดแก้ แล้วไปเก็บคะแนนที่ยังเก็บได้

ข้อสอบแลปให้คะแนนเป็นส่วน ๆ (config · ping · ผล show · Wireshark) ไม่ใช่ผ่าน-ไม่ผ่านทั้งข้อ · สิบนาทีสุดท้ายจึงต้องเลิกไล่หาสาเหตุ แล้วเอาเวลาไปเก็บหลักฐานของงานที่ทำได้แล้ว กับทำข้อที่เร็วที่สุดที่ยังไม่ได้ทำ

  1. นาทีที่ 1–2 — เก็บ show running-config ของทุกอุปกรณ์ที่ config ไปแล้วก่อนเลย
    อันนี้คือคะแนนที่ได้แน่นอนแม้ ping จะยังไม่ผ่าน เพราะโจทย์สั่งส่ง config ไม่ได้สั่งส่งแค่ผล ping
    [Router# / Switch#] — ทำที่ทุกตัว ตัวละไม่เกิน 20 วินาที
    Router#terminal length 0
    Router#show running-config
    # แคปหน้าจอทันที แล้วไปตัวถัดไป — อย่าเพิ่งอ่าน อย่าเพิ่งแก้
  2. นาทีที่ 3 — เก็บ show ที่เหลือที่มีคะแนนย่อย แม้ผลจะยังไม่สมบูรณ์
    [Switch#] และ [Router#]
    Switch#show mac-address-table   # ข้อ 1
    Switch#show vlan                # ข้อ 3 — ส่งของทุก switch
    Router#show arp                 # ข้อ 1
    Router#show ip interface brief  # หลักฐานว่าตั้ง IP ครบแล้ว
  3. นาทีที่ 4–5 — แคปผล ping ทุกคู่ที่ผ่านแล้ว ถึงจะไม่ครบทุกคู่ก็ส่ง
    เขียนกำกับสั้น ๆ ว่าคู่ไหนผ่าน คู่ไหนไม่ผ่าน และสงสัยว่าติดตรงไหน — การวิเคราะห์ถูกก็มีคะแนน
  4. นาทีที่ 6–7 — ถ้ายังไม่ได้ทำข้อ Wireshark ให้ทำตอนนี้ (10 คะแนน ใช้เวลา ~2 นาที)
    ข้อนี้ไม่ต้องรอให้ทั้ง topology ผ่าน — ping ระหว่าง PC สองเครื่องที่อยู่วงเดียวกันก็ถ่ายรูปได้ครบทั้งสาม filter
    [Wireshark] — คลิกขวาที่สาย → Start Capture → ping → ใส่ทีละบรรทัดแล้วแคป
    ip.src == 192.3.128.2
    icmp
    arp
  5. นาทีที่ 8 — ข้อ Mininet ไม่ต้องพึ่ง GNS3 เลย ถ้ายังไม่ได้ทำ ทำได้ใน 2–3 นาที
    [Ubuntu VM] — เร็วสุด: ข้าม MiniEdit ไปใช้บรรทัดเดียว
    $ sudo mn -c
    $ sudo mn --custom ~/mytopo.py --topo mytopo
    mininet> pingall
    mininet> h1 ping -c 5 192.3.128.3
    mininet> h1 tc qdisc add dev h1-eth0 root netem delay 100ms 10ms
    mininet> h1 ping -c 5 192.3.128.3
    mininet> h1 tc qdisc change dev h1-eth0 root netem loss 20%
    mininet> h1 ping -c 20 192.3.128.3
    # แคปผล ping ก่อน/หลัง ทั้งสองกรณี = ครบตามที่โจทย์ข้อ 4 ขอ
  6. นาทีที่ 9 — ทางออกฉุกเฉินสองอย่าง ถ้ายังอยากให้ ping ผ่าน
    ติดตรงไหนทางออกฉุกเฉิน
    RIP ไม่ยอมขึ้น (ไม่มีแถว R)ใส่ static route แทนทั้งสองฝั่ง — ping จะผ่านเหมือนกัน แล้วเขียนหมายเหตุว่าใช้ static route
    ip route 194.3.128.0 255.255.255.0 193.3.128.2
    ip route 192.3.128.0 255.255.255.0 193.3.128.1
    Serial ไม่ยอมขึ้นเลย (ลอง clock rate ทั้งสองฝั่งแล้ว)ใน GNS3 ลบสายแล้วลากใหม่ โดยคลิกฝั่งที่จะให้เป็น DCE ก่อน (30 วินาที) — ได้ผลบ่อยกว่าการนั่งไล่ config · ถ้ายังไม่ขึ้นและใกล้หมดเวลาจริง ๆ ให้เชื่อม router ด้วย Ethernet ไปก่อนเพื่อให้ ping ผ่าน แล้วเขียนกำกับตรง ๆ ว่าเปลี่ยนเพราะ Serial ไม่ขึ้น — เสียเฉพาะส่วนคะแนนของ Serial ดีกว่าเสียทั้ง topology
  7. นาทีที่ 10 — เซฟและตั้งชื่อไฟล์ให้อาจารย์อ่านออก
    [Router# / Switch#] — ก่อนลุกจากเครื่อง
    Router#copy run start
    # แล้วตั้งชื่อไฟล์รูปให้ชัด เช่น
    #   ข้อ1_running-config_LAB-A.png
    #   ข้อ1_mac-address-table_SW1.png
    #   ข้อ2_filter_icmp.png
    #   ข้อ4_ping_หลังใส่_delay100ms.png
สิ่งที่ห้ามทำในสิบนาทีสุดท้าย

อย่าลบ topology แล้วสร้างใหม่ (เสียทุกอย่างที่ทำมา) · อย่ารีบูต router ถ้ายังไม่ได้ copy run start · อย่าเพิ่งเปลี่ยนแผน IP ทั้งชุด เพราะต้องไล่แก้ทุกอุปกรณ์ · อย่ายกเลิก STP เพื่อ "ลองดู" ตอนที่ยังเสียบสายเป็นวงอยู่ — เครือข่ายจะล่มทันทีจาก broadcast storm

สรุปหน้านี้ในบรรทัดเดียว

ตรวจก่อนแก้ (T.1) · up / down = clock rate · administratively down = no shutdown · ไม่มีแถว R = ลืม network วง Serial · Wireshark ไม่เห็น interface = ChmodBPF.pkg · ไม่มี eth0 = enx… · Error creating interface pair = sudo mn -c · ไฟส้ม = รอ STP 30 วินาที · เหลือ 10 นาทีให้ไปเก็บ show running-config ก่อนเสมอ