Dengan asumsi Anda bekerja dengan linux (raspian, debian, dll ...):
Anda mengajukan dua pertanyaan berbeda, Pertama saya akan menjawab pertanyaan judul:
Paksa Raspberry untuk mendapatkan internet dari jaringan tertentu
Saya akan mengunci kata "jaringan" Anda (tidak seperti "antarmuka") dan menjawabnya dengan pengertian IP murni:
Jika Anda memiliki beberapa koneksi yang dapat menyediakan internet, Anda mengontrol yang akan digunakan melalui tabel rute.
Untuk melihat tabel routing yang biasa saya gunakan netstat -rn( -runtuk "show routing", -nuntuk "show me number, jangan coba dan lakukan pencarian DNS, yang mungkin hang jika internet saya tidak terkonfigurasi dengan benar"). Contoh yang sangat sederhana akan terlihat seperti ini:
pi@homeServer ~ $ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.9.1 0.0.0.0 UG 0 0 0 eth0
192.168.9.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.20.10.0 0.0.0.0 255.255.255.240 U 0 0 0 wlan0
pi@homeServer ~ $
Garis dalam output yang menunjukkan ke arah mana paket IP akan pergi adalah garis dengan tujuan 0.0.0.0dan genmask 0.0.0.0, yang biasanya dikenal sebagai default route(topeng 0.0.0.0semua wildcard, itu benar-benar penanda rute default), dan karena saat ini menunjuk ke alamat tertentu dalam kisaran `192.168.9 ', lalu lintas internet akan melalui antarmuka ethernet.
Jika saya ingin mengalihkan internet saya ke jaringan lain saya akan (sebagai root) menggunakan routeperintah, dan dalam hal ini, mengingat bahwa koneksi wifi saya tidak point-to-point saya harus tahu alamat ip dari router yang dapat meneruskan lalu lintas keluar dari jaringan itu (Dalam kasus saya yaitu 172.20.10.1) jadi saya akan melakukan:
Hapus rute default saat ini
sudo route del default
Tambahkan rute default baru untuk jaringan lain
sudo route add default gw 172.20.10.1
FYI sementara routeapa yang saya gunakan, saya melihat beberapa menganggapnya sudah usang dan sebagai gantinya merekomendasikan menggunakan ip routeperintah, lihat komentar @Fred di bawah ini untuk sintaks. referensi untuk penghentian
Apakah ada cara agar tetap terhubung melalui antarmuka dongle
Sudah lama sejak saya bekerja dengan pppdan wvdial, dan tanpa konfigurasi (atau setidaknya referensi untuk panduan yang Anda ikuti dalam pengaturannya) sangat sulit untuk menebak masalah yang Anda hadapi, tetapi sebagai beberapa ide:
- Apakah koneksi benar-benar turun atau apakah Anda baru saja kehilangan rute default ketika eth0 Anda muncul?
- Periksa ini di keduanya
netstat -rndan ifconfig.
- Apakah ada antarmuka
netstat -rn? jika demikian, apakah ada rute default ke sana?
- Dalam
ifconfigmelakukan Anda melihat antarmuka untuk dongle (mungkin ppp)? itu UP?
- Saya tidak ingat di mana
ppp/ wvdiallog, tapi itu harus diperiksa. Log itu akan memberi tahu Anda kondisi koneksi, dan harus memberi tahu Anda jika seluruh sistem telah dimatikan karena suatu alasan
- Jika Anda melihat antarmuka, coba
pingsesuatu (... apa saja ...) di atasnya, dan lihat apakah koneksi muncul.
- Saya tahu
ppp/ wvdialcombo memiliki beberapa kemampuan koneksi otomatis (tergantung pada konfigurasi)
- Jadi, jika koneksi muncul dengan ping (atau koneksi tetap terjaga sepanjang waktu): bisa jadi rute default (ppp) hilang ketika Anda membuka ethernet.
- Jika ini masalahnya, Anda hanya perlu menambahkan rute default dan seluruh sistem akan kembali online.