อาการเสีย + วิธีแก้
พิมพ์อาการที่เห็นบนจอลงช่องค้นหา แล้วหน้าจะเหลือเฉพาะแถวที่ตรง — ทุกอาการมี คำสั่งตรวจสอบ ที่พิมพ์แล้วรู้ทันทีว่าใช่สาเหตุนี้ไหม ไม่ต้องเดา
อย่าเดา — ตรวจก่อน ทุกแถวมีคอลัมน์ "ตรวจให้ชัดด้วย" ซึ่งเป็นคำสั่งเดียวที่ยืนยันได้ว่าใช่สาเหตุนั้นจริงไหม พิมพ์คำสั่งนั้นก่อนเสมอ แล้วค่อยแก้ · เวลาในห้องสอบหมดไปกับการแก้ผิดจุดมากกว่าการแก้ยาก
ค้นด้วยข้อความที่เห็นบนจอได้เลย เช่น up / down, Invalid input, eth0, interface pair, busy · ถ้าเหลือเวลาน้อยแล้ว ข้ามไปที่ T.11 — เหลือ 10 นาที ทันที
T.1ติดตรงไหนก็ตาม — ตรวจ 8 อย่างนี้ก่อนเสมอ
ไล่จากล่างขึ้นบน (กายภาพ → ลิงก์ → เน็ตเวิร์ก) แปดคำสั่งนี้ตอบได้เกือบทุกปัญหาของทั้ง 5 แลป — พิมพ์รวดเดียวแล้วอ่านผลก่อนจะไปแตะอะไร
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 เห็นเครื่องที่คุยอยู่จริงไหม$ 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=enxaca7f1a9ff44sudo ip addr add 192.3.128.5/24 dev $IFsudo 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 ครบแล้ว
① ลืม 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–2 — เก็บ
show running-configของทุกอุปกรณ์ที่ config ไปแล้วก่อนเลย
อันนี้คือคะแนนที่ได้แน่นอนแม้ ping จะยังไม่ผ่าน เพราะโจทย์สั่งส่ง config ไม่ได้สั่งส่งแค่ผล ping[Router# / Switch#] — ทำที่ทุกตัว ตัวละไม่เกิน 20 วินาทีRouter#terminal length 0 Router#show running-config # แคปหน้าจอทันที แล้วไปตัวถัดไป — อย่าเพิ่งอ่าน อย่าเพิ่งแก้ - นาทีที่ 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 ครบแล้ว - นาทีที่ 4–5 — แคปผล ping ทุกคู่ที่ผ่านแล้ว ถึงจะไม่ครบทุกคู่ก็ส่ง
เขียนกำกับสั้น ๆ ว่าคู่ไหนผ่าน คู่ไหนไม่ผ่าน และสงสัยว่าติดตรงไหน — การวิเคราะห์ถูกก็มีคะแนน - นาทีที่ 6–7 — ถ้ายังไม่ได้ทำข้อ Wireshark ให้ทำตอนนี้ (10 คะแนน ใช้เวลา ~2 นาที)
ข้อนี้ไม่ต้องรอให้ทั้ง topology ผ่าน — ping ระหว่าง PC สองเครื่องที่อยู่วงเดียวกันก็ถ่ายรูปได้ครบทั้งสาม filter[Wireshark] — คลิกขวาที่สาย → Start Capture → ping → ใส่ทีละบรรทัดแล้วแคปip.src == 192.3.128.2 icmp arp - นาทีที่ 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 ขอ - นาทีที่ 9 — ทางออกฉุกเฉินสองอย่าง ถ้ายังอยากให้ ping ผ่าน
ติดตรงไหน ทางออกฉุกเฉิน RIP ไม่ยอมขึ้น (ไม่มีแถว R)ใส่ static route แทนทั้งสองฝั่ง — ping จะผ่านเหมือนกัน แล้วเขียนหมายเหตุว่าใช้ static route ip route 194.3.128.0 255.255.255.0 193.3.128.2ip route 192.3.128.0 255.255.255.0 193.3.128.1Serial ไม่ยอมขึ้นเลย (ลอง clock rateทั้งสองฝั่งแล้ว)ใน GNS3 ลบสายแล้วลากใหม่ โดยคลิกฝั่งที่จะให้เป็น DCE ก่อน (30 วินาที) — ได้ผลบ่อยกว่าการนั่งไล่ config · ถ้ายังไม่ขึ้นและใกล้หมดเวลาจริง ๆ ให้เชื่อม router ด้วย Ethernet ไปก่อนเพื่อให้ ping ผ่าน แล้วเขียนกำกับตรง ๆ ว่าเปลี่ยนเพราะ Serial ไม่ขึ้น — เสียเฉพาะส่วนคะแนนของ Serial ดีกว่าเสียทั้ง topology - นาทีที่ 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 ก่อนเสมอ