Saya memiliki dua antarmuka jaringan yang berbeda, terhubung ke 2 jaringan. Satu adalah eth0 dan yang lainnya wlan0. Bagaimana saya bisa memberi tahu perangkat lunak untuk hanya menggunakan antarmuka tertentu?
Pada dasarnya saya ingin Firefox menggunakan eth0 karena itu adalah jaringan universitas dan saya harus pergi ke situs intranet, yang lain adalah jaringan wifi terbuka ke internet dan saya ingin mengikatnya ke Chrome.
Saya bekerja dan saya perlu menggunakan intranet. Jadi eth0 adalah pilihan saya tetapi eth0 adalah intranet tanpa akses internet (jelas). Karena saya ingin akses internet saya terhubung ke wlan0 (wifi universitas untuk siswa).
Masalahnya adalah jika saya memiliki keduanya terhubung kadang-kadang browser mencari www.stackoverflow.com menggunakan eth0. Jadi saya ingin menetapkan browser untuk hanya menggunakan antarmuka tertentu.
sumber
Jawaban:
Anda tidak dapat mengikat perangkat lunak klien ke antarmuka jaringan tertentu, tetapi Anda dapat memberi tahu kernel bahwa Anda hanya ingin menggunakan satu antarmuka jaringan untuk beberapa alamat IP dan yang lainnya untuk yang lainnya. Ini disebut "routing", dan dapat dikonfigurasi menggunakan perintah
/sbin/route
dan/sbin/ip
.Jika saya membaca pertanyaan Anda dengan benar, Anda ingin terhubung ke alamat IP intranet menggunakan antarmuka
eth0
dan ke Internet menggunakan antarmukawlan0
.Jika Anda menjalankan perintah
ip route list
, Anda akan melihat output seperti berikut (angka akan berbeda, dan Anda juga dapat memiliki lebih banyak baris di dalamnya):Dua baris pertama memberi tahu Anda tentang jaringan yang terhubung ke antarmuka
eth0
danwlan0
: lalu lintas jaringan yang diarahkan ke komputer di jaringan tersebut akan langsung dikirim kepada mereka melalui antarmuka yang sesuai.Baris terakhir memberi tahu Anda apa "rute default" itu: jika komputer Anda ingin berbicara dengan komputer di jaringan, ia tidak dilampirkan ke (misalnya, server stackoverflow.com), itu akan merutekan lalu lintas melalui
eth0
, realying melalui host10.60.44.1
( disebut "gateway default").Jadi, untuk merutekan lalu lintas Internet melalui
wlan0
Anda, Anda harus memastikan bahwa baris terakhir dalamip route list
output berbunyi seperti:di mana
A.B.C.D
alamat IP gateway pada LAN nirkabel. Jika output tidak mengandung "dev wlan0", Anda dapat mengubahnya dengan perintah:Anda dapat menemukan yang benar
A.B.C.D
untukwlan0
dalam dua cara:Lihat ke direktori
/var/lib/dhcp3/
: Anda harus menemukan beberapadhclient-...-wlan0.lease
file. Buka yang terbaru dan cari baris dengan stringoption router
di dalamnya: sisa baris memberi tahu Anda alamat IPA.B.C.D
.Tanyakan kepada administrator jaringan lokal Anda. (Lagi pula, mungkin hal terbaik yang harus dilakukan.)
Dengan konfigurasi ini, Anda harus dapat:
wlan0
eth0
, asalkan di satu jaringan .Jika intranet Anda menjangkau beberapa jaringan, maka Anda perlu menambahkan rute untuknya - dan ini jelas merupakan sesuatu yang mengharuskan Anda untuk berinteraksi dengan admin jaringan lokal. :-)
sumber
"ip netns" menciptakan ruang nama jaringan. Anda kemudian dapat membuat antarmuka virtual (ip link add ... veth) dan kaitkan dengan namespace.
Namespaces dapat dikonfigurasi untuk menggunakan rute yang berbeda misalnya (dengan menggunakan antarmuka yang berbeda)
Kemudian Anda dapat menjalankan perintah di namespace itu, yang akan menggunakan namespace yang dibuat .. "ip netns exec NAME cmd ..."
Sumber: http://manpages.ubuntu.com/manpages/saucy/en/man8/ip-netns.8.html
sumber