Buat perubahan permanen di tabel routing


10

Saya memiliki Raspberry PI 2 model B dengan versi Raspbian Jessie dan saya mencoba membawa internet dari PC saya ke Raspberry. Saya memiliki 2 antarmuka jaringan di antara mereka, satu lebih dari Ethernet dan yang lainnya lebih dari Wifi. Saya telah mengkonfigurasi alamat IP Ethernet di Raspberry menjadi statis, karena saya memiliki jaringan komputer kecil di rumah semua dengan alamat IP statis dan saya ingin raspberry menjadi bagian darinya. Karena internet saya sangat lambat (saya menggunakan modem dial-up), saya tidak ingin membagikan internet yang lambat ini melalui antarmuka ethernet karena saya tidak ingin semua komputer yang terhubung ke jaringan ini menguras kecepatan internet saya. Karena saya hanya bermaksud membawa internet ke Raspberry, saya telah membuat hotspot Wifi di PC saya yang secara dinamis memberikan alamat IP ke Raspberry saya (perangkat lunak hotspot memiliki semacam DHCP) dan itu '

Tapi kemudian masalah saya mulai, secara default setelah saya menyalakannya (atau jika saya memutuskan koneksi dan terhubung lagi), Raspberry tidak terhubung ke internet. Dengan mengetik ifconfigsaya mendapatkan:

eth0     
Link encap:Ethernet  HWaddr b8:27:eb:4e:35:65  
inet addr:100.100.100.25  Bcast:100.100.100.255  Mask:255.255.255.0
inet6 addr: fe80::ba27:ebff:fe4e:3565/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

wlan0     
Link encap:Ethernet  HWaddr 74:da:38:55:f3:a2  
inet addr:192.168.137.201  Bcast:192.168.137.255  Mask:255.255.255.0
inet6 addr: fec0::12:c4f1:c3fc:eb1e:3153/64 Scope:Site
inet6 addr: 2002:be0f:9cea:12:1bc0:1969:c17d:f854/64 Scope:Global
inet6 addr: fe80::bdca:7255:2e27:8341/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Ketika saya mengetik route -nsaya mendapatkan:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         100.100.100.1   0.0.0.0         UG    202    0        0 eth0
0.0.0.0         192.168.137.1   0.0.0.0         UG    303    0        0 wlan0
100.100.100.0   0.0.0.0         255.255.255.0   U     202    0        0 eth0
192.168.137.0   0.0.0.0         255.255.255.0   U     303    0        0 wlan0

Di sini Anda dapat melihat bagaimana metrik gateway koneksi Ethernet statis saya (100.100.100.1) lebih kecil daripada metrik gateway koneksi DHCP Wifi saya (192.168.137.1) sehingga Raspberry saya mencoba untuk mendapatkan internet melalui antarmuka yang salah

setelah saya mengetik:

sudo route delete  default gateway 192.168.137.1 

lalu :

sudo route add  default gateway 192.168.137.1

tabel perutean saya diperbaiki untuk:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.137.1   0.0.0.0         UG    0      0        0 wlan0
0.0.0.0         100.100.100.1   0.0.0.0         UG    202    0        0 eth0
100.100.100.0   0.0.0.0         255.255.255.0   U     202    0        0 eth0
192.168.137.0   0.0.0.0         255.255.255.0   U     303    0        0 wlan0

dan Raspberry dapat mengakses internet.

Pertanyaan saya adalah:

  1. Apakah ada cara untuk mengotomatiskan proses ini sehingga saya tidak perlu melakukannya secara manual setiap kali saya menyalakan Raspberry?
  2. Apakah ada cara untuk mengotomatiskannya sehingga akan selalu mengenalinya harus mendapatkan internet dari Wifi secara independen dari rentang IP yang diberikan oleh hotspot DCHP ke antarmuka ini?
  3. Mengapa metrik bawah secara otomatis ditetapkan ke antarmuka Ethernet?

Saya sudah memeriksa solusinya di Bagaimana cara membuat perubahan ke tabel routing bertahan? tetapi tidak berfungsi untuk saya karena di Raspbian Jessie Anda tidak langsung mengedit /etc/network/interfacesmelainkan Anda mengedit /etc/dhcpcd.confuntuk mendapatkan alamat ip statis

Jawaban:


10

Apakah ada cara untuk mengotomatiskan proses ini sehingga saya tidak perlu melakukannya secara manual setiap kali saya menyalakan Raspberry?

Itu tidak diperlukan jika pertanyaan # 2 dapat diselesaikan - dan itu dapat ...

Apakah ada cara untuk mengotomatiskannya sehingga akan selalu mengenalinya harus mendapatkan internet dari Wifi secara independen dari rentang IP yang diberikan oleh hotspot DCHP ke antarmuka ini?

Di /etc/dhcpcd.conftambahkan

interface wlan0;
metric 200;

interface eth0
metric 300;

Ini akan menetapkan metrik yang lebih rendah ke antarmuka WLAN, sehingga yang akan dipilih untuk permintaan Internet.

Mengapa metrik bawah secara otomatis ditetapkan ke antarmuka Ethernet?

Karena itulah cara metrik ditetapkan menurut man dhcpcd.conf (5) :

 metric metric
         Metrics are used to prefer an interface over another one, lowest
         wins.  dhcpcd will supply a default metric of 200 +
         if_nametoindex(3).  An extra 100 will be added for wireless
         interfaces.

+1 Terima kasih banyak saya belum punya jawaban. Saya menjalankan skrip manual setiap kali saya perlu melakukan ini
VMMF

Catatan, ini tidak berfungsi untuk koneksi non DHCP. Jika Anda memiliki koneksi statis di / etc / network / interfaces Anda dapat mengatur metrik gateway dengan mengganti gateway xxx.xxx.xxx.xxx dengan up route add default gw xxx.xxx.xxx.xxx metric ###
Sameer Puri

0

Yang saya lakukan hanyalah membuatnya berjalan saat boot.

Tambahkan sudo route delete defaultdan sudo route add default gateway 192.168.137.1, dalam urutan tertentu, dalam /etc/init.d/rc.localfile Anda .

Saya lupa apakah /etc/init.d/rc.localbekerja di luar kotak untuk Jessie, atau bahkan jika Anda harus menyentuhnya atau tidak, tetapi itu seharusnya sepele untuk menemukan solusi lain (saya sudah melakukannya) .

Dan ini memecahkan # 1.


Untuk memprioritaskan koneksi, saya sarankan Anda menginstal ifmetric. Kemudian, cukup prioritaskan koneksi Anda di/etc/network/interfaces

Prioritas tertinggi adalah 0, selanjutnya 1, lalu 2, dan seterusnya.

iface eth0 inet dhcp
 metric 1

iface wlan0 inet static
 address 192.168.0.1
 netmask 255.255.255.0
 network 192.168.0.0
 metric 0

iface eth1 inet dhcp
 metric 2

Dan itu untuk # 2.


Saya pikir # 3 terjadi karena devs berpikir WiFi diprioritaskan di lingkungan non-poweruser petani . Saya hanya bisa berspekulasi karena saya tidak dapat menemukan info tentang ini.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.