ค้นหาเว็บไซต์

วิธีเชื่อมต่อ Wi-Fi จาก Linux Terminal โดยใช้คำสั่ง Nmcli


มีเครื่องมือบรรทัดคำสั่งหลายอย่างสำหรับจัดการอินเทอร์เฟซเครือข่ายไร้สายในระบบ Linux สิ่งเหล่านี้สามารถใช้เพื่อดูสถานะอินเทอร์เฟซเครือข่ายไร้สาย (ไม่ว่าจะเป็น ขึ้น หรือ ลง หรือหากเชื่อมต่อกับเครือข่ายใดๆ) เช่น iw, iwlist, ip, ifconfig และอื่น ๆ

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

ขั้นแรกให้เริ่มต้นด้วยการตรวจสอบชื่ออุปกรณ์เครือข่ายของคุณโดยใช้คำสั่งต่อไปนี้ จากเอาต์พุตของคำสั่งนี้ ชื่ออุปกรณ์/อินเทอร์เฟซคือ wlp1s0 ดังที่แสดง

$ iw dev

phy#0
	Interface wlp1s0
		ifindex 3
		wdev 0x1
		addr 38:b1:db:7c:78:c7
		type managed

จากนั้นตรวจสอบสถานะการเชื่อมต่ออุปกรณ์ Wi-Fi โดยใช้คำสั่งต่อไปนี้

iw wlp2s0 link

Not connected.

จากเอาต์พุตด้านบน อุปกรณ์ไม่ได้เชื่อมต่อกับเครือข่ายใดๆ ให้รันคำสั่งต่อไปนี้เพื่อสแกนเครือข่าย Wi-Fi ที่พร้อมใช้งาน

sudo iw wlp2s0 scan
       
command failed: Network is down (-100)

เมื่อพิจารณาถึงผลลัพธ์ของคำสั่งข้างต้น อุปกรณ์เครือข่าย/อินเทอร์เฟซ ลง คุณสามารถเปิด เปิด (ขึ้น) ด้วยคำสั่ง ip เป็น แสดง

sudo ip link set wlp1s0 up

หากคุณได้รับข้อผิดพลาดต่อไปนี้ แสดงว่า Wifi ของคุณถูกบล็อกอย่างหนักบนแล็ปท็อปหรือคอมพิวเตอร์

RTNETLINK answers: Operation not possible due to RF-kill

หากต้องการลบหรือเลิกบล็อกคุณต้องเรียกใช้คำสั่งต่อไปนี้เพื่อแก้ไขข้อผิดพลาด

echo "blacklist hp_wmi" | sudo tee /etc/modprobe.d/hp.conf
sudo rfkill unblock all

จากนั้นลอง เปิด อุปกรณ์เครือข่ายอีกครั้ง และครั้งนี้ควรจะได้ผล

sudo ip link set wlp1s0 up

หากคุณทราบ ESSID ของเครือข่าย Wi-Fi ที่คุณต้องการเชื่อมต่อ ให้ย้ายไปยังขั้นตอนถัดไป หรือออกคำสั่งด้านล่างเพื่อสแกนเครือข่าย Wi-Fi ที่ใช้งานได้อีกครั้ง

sudo iw wlp1s0 scan

และสุดท้าย เชื่อมต่อกับเครือข่าย Wi-Fi โดยใช้คำสั่งต่อไปนี้ โดยที่ Hackernet (SSID เครือข่าย Wi-Fi) และ localhost22 (รหัสผ่าน/คีย์ที่แชร์ล่วงหน้า)

nmcli dev wifi connect Hackernet password localhost22

เมื่อเชื่อมต่อแล้ว ให้ตรวจสอบการเชื่อมต่อของคุณโดยส่ง Ping ไปที่เครื่องภายนอก และวิเคราะห์ผลลัพธ์ของ Ping ดังที่แสดง

$ ping 8.8.8.8

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=61.7 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=48 time=61.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=48 time=61.6 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=48 time=61.3 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=48 time=63.9 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 61.338/62.047/63.928/0.950 ms

แค่นั้นแหละ! ฉันหวังว่าบทความนี้จะช่วยคุณในการตั้งค่าเครือข่าย Wi-Fi จากบรรทัดคำสั่ง Linux เช่นเคย หากคุณพบว่าบทความนี้มีประโยชน์ แบ่งปันความคิดของคุณในส่วนความคิดเห็นด้านล่าง