มีสองสิ่งที่คุณสามารถทำได้ที่นี่
หากคุณต้องการให้ทราฟฟิกทั้งหมดของคุณผ่านอีเธอร์เน็ตในตัวหากทั้งอีเธอร์เน็ตและ Wifi นั้นคุณสามารถทำให้มันเป็นที่ต้องการมากขึ้นในการตั้งค่าระบบ:
System Preferences -> Network
จะแสดงหน้าต่างที่มีการเชื่อมต่อเครือข่ายทั้งหมดที่กำหนดไว้ ที่ด้านล่างของแผงด้านซ้ายมือ (พร้อมรายการอินเตอร์เฟส) คุณจะเห็นปุ่มสามปุ่ม: +, - และล้อเฟือง คลิกตัวสุดท้าย (ล้อเฟือง) และคุณจะเห็นตัวเลือกที่สี่จากด้านบน - "ตั้งค่าใบสั่งบริการ" หากคุณลากอีเธอร์เน็ตด้านบน Wifi หลังจากที่คุณคลิกตัวเลือกนั้นถ้าทั้งคู่เปิดใช้งานอยู่อีเธอร์เน็ตจะเป็นที่ต้องการ
อย่างไรก็ตามหากคุณต้องการให้ทราฟฟิกเลือกใช้อีเธอร์เน็ตในขณะที่ทราฟฟิกเริ่มต้นใช้งานผ่าน Wifi ก็จะค่อนข้างซับซ้อนและมักจะเกี่ยวข้องกับการใช้ Command Line และโดยเฉพาะ route
คำสั่ง
มีสถานการณ์สองสามข้อที่นี่ดังนั้นฉันจะถามคำถามสองสามข้อในขณะนี้ซึ่งอาจนำคุณไปในทิศทางที่ถูกต้องหรือให้คำตอบที่ดีกว่า:
ทั้ง WIFI และอีเธอร์เน็ตอินเตอร์เฟสบน LAN เดียวกันหรือไม่ เช่นพวกเขาจะมีที่อยู่ IP จากช่วงเดียวกันหรือไม่ พวกเขาจะใช้เกตเวย์เริ่มต้นเดียวกันหรือไม่
ที่อยู่ IP ปลายทางใน LAN เดียวกันกับที่เปิด WIFI หรือ Ethernet อยู่หรือไม่ หรือที่อยู่ IP ปลายทาง "ที่ใดที่หนึ่งบนอินเทอร์เน็ต"
สำหรับตอนนี้ฉันจะให้คำตอบสำหรับสถานการณ์ที่ง่ายที่สุดซึ่งก็คือ WIFI และอีเธอร์เน็ตอยู่บน LAN ที่แตกต่างกันและ IP ปลายทางนั้นอยู่บนอินเทอร์เน็ต
สมมติว่า WIFI ได้รับที่อยู่ IP 192.168.0.10/24 และเกตเวย์เริ่มต้นที่ใช้ในการเข้าถึงอินเทอร์เน็ตคือ 192.168.0.1 สมมติว่าอีเทอร์เน็ตได้รับที่อยู่ IP 192.168.1.10/24 และเกตเวย์เริ่มต้นที่ใช้เพื่อเชื่อมต่ออินเทอร์เน็ตผ่านอีเธอร์เน็ตคือ 192.168.1.1
สมมติว่าคุณต้องการกำหนดเส้นทางการรับส่งข้อมูลทั้งหมดผ่าน WiFi ตามค่าเริ่มต้น แต่ในเวลาเดียวกันคุณต้องการรับส่งข้อมูลทั้งหมดไปยังโฮสต์ที่มี IP 192.0.2.5 เพื่อไปยังอีเทอร์เน็ต
ในกรณีนี้คุณต้องทำตามขั้นตอนที่ฉันอธิบายตอนเริ่มต้นและตรวจสอบให้แน่ใจว่า WiFi นั้นเป็น ข้างบน อีเธอร์เน็ต (จึงเป็นที่ต้องการมากกว่า)
จากนั้นเปิด Terminal และออกคำสั่งต่อไปนี้:
sudo route add -host 192.0.2.5 192.168.1.1
คุณจะต้องป้อนรหัสผ่านของคุณเมื่อถูกถามโดยคำสั่ง sudo
หากคุณมีที่อยู่ IP มากกว่าหนึ่งที่คุณต้องการเพิ่มเส้นทางผ่านอีเธอร์เน็ตคุณสามารถเรียกใช้เพิ่มเติมได้ route
คำสั่ง
ตอนนี้คุณต้องระวังว่าในแต่ละครั้งที่คุณยกเลิกการเชื่อมต่ออีเธอร์เน็ตเส้นทางจะหายไปและคุณจะต้องป้อนพวกเขาเองอีกครั้งใน Terminal หากคุณต้องการให้เป็นอัตโนมัติคุณสามารถดูได้ launchd
- ดูคู่มือสำหรับ route
และ launchd.plist
- ในเทอร์มินัลเพียงพิมพ์ man route
และ man launchd.plist
. หนึ่งในตัวแปรที่คุณสนใจสำหรับ launchd คือ NetworkState
. โปรดทราบว่าฉันไม่จำเป็นต้องทำสิ่งนั้นโดยอัตโนมัติ (แต่ฉันใช้ด้วยตนเองในบางครั้ง) และดังนั้นจึงไม่มีวิธีแก้ปัญหาพร้อม จะต้องมีการเขียนสคริปต์และอื่น ๆ แต่อย่างน้อยคุณควรจะไป