Bagaimana membuat wlan selalu menjadi rute default? (daftar rute ip)


8

Setiap kali saya menambahkan modem 4G saya ke raspberry saya, ia mendapat di atas rute default ou ip route list, namun saya ingin semuanya melalui wlan, dan hanya menggunakan modem 4G untuk menerima koneksi SSH.

Saya menemukan jawaban ini tentang cara menonaktifkan rute default.

namun, setelah reboot, modem 4G kembali ke atas.

Bagaimana cara saya membuat wlan0selalu menjadi aturan pertama pada default?

MEMPERBARUI:

Inilah output dmesg ketika saya menghubungkan dongle USB:

[426102.910168] usb 1-1.5.1: new full-speed USB device number 6 using dwc_otg
[426103.046670] usb 1-1.5.1: not running at top speed; connect to a high speed hub
[426103.056674] usb 1-1.5.1: New USB device found, idVendor=12d1, idProduct=1f01
[426103.056693] usb 1-1.5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[426103.056704] usb 1-1.5.1: Product: HUAWEI_MOBILE
[426103.056714] usb 1-1.5.1: Manufacturer: HUAWEI_MOBILE
[426103.056724] usb 1-1.5.1: SerialNumber: 0123456789ABCDEF
[426103.121355] usb-storage 1-1.5.1:1.0: USB Mass Storage device detected
[426103.122875] scsi host0: usb-storage 1-1.5.1:1.0
[426103.987177] usb 1-1.5.1: USB disconnect, device number 6
[426105.470211] usb 1-1.5.1: new full-speed USB device number 7 using dwc_otg
[426105.606666] usb 1-1.5.1: not running at top speed; connect to a high speed hub
[426105.615673] usb 1-1.5.1: New USB device found, idVendor=12d1, idProduct=14dc
[426105.615692] usb 1-1.5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[426105.615703] usb 1-1.5.1: Product: HUAWEI_MOBILE
[426105.615713] usb 1-1.5.1: Manufacturer: HUAWEI_MOBILE
[426105.766297] usb-storage 1-1.5.1:1.2: USB Mass Storage device detected
[426105.766768] scsi host0: usb-storage 1-1.5.1:1.2
[426105.855053] cdc_ether 1-1.5.1:1.0 eth1: register 'cdc_ether' at usb-3f980000.usb-1.5.1, CDC Ethernet Device, 0c:5b:8f:27:9a:64
[426105.855593] usbcore: registered new interface driver cdc_ether
[426106.785653] scsi 0:0:0:0: Direct-Access     HUAWEI   TF CARD Storage  2.31 PQ: 0 ANSI: 2
[426106.803758] sd 0:0:0:0: Attached scsi generic sg0 type 0
[426106.820687] sd 0:0:0:0: [sda] Attached SCSI removable disk

Ini dia ip addr

eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 0c:5b:8f:27:9a:64 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::584f:751f:bb3e:e26b/64 scope link 
       valid_lft forever preferred_lft forever

PEMBARUAN 2

Saya memasangnya beberapa kali lagi sampai menunjukkan eth1rute:

[10787.229141] usb 1-1.5: new full-speed USB device number 7 using dwc_otg
[10787.363515] usb 1-1.5: New USB device found, idVendor=05e3, idProduct=0606
[10787.363533] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[10787.363544] usb 1-1.5: Product: USB Hub 2.0
[10787.363555] usb 1-1.5: Manufacturer: ALCOR
[10787.365166] hub 1-1.5:1.0: USB hub found
[10787.369831] hub 1-1.5:1.0: 4 ports detected
[10797.419094] usb 1-1.5.1: new full-speed USB device number 8 using dwc_otg
[10797.555636] usb 1-1.5.1: not running at top speed; connect to a high speed hub
[10797.565759] usb 1-1.5.1: New USB device found, idVendor=12d1, idProduct=1f01
[10797.565777] usb 1-1.5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[10797.565789] usb 1-1.5.1: Product: HUAWEI_MOBILE
[10797.565799] usb 1-1.5.1: Manufacturer: HUAWEI_MOBILE
[10797.565808] usb 1-1.5.1: SerialNumber: 0123456789ABCDEF
[10797.630477] usb-storage 1-1.5.1:1.0: USB Mass Storage device detected
[10797.631101] scsi host0: usb-storage 1-1.5.1:1.0
[10798.472745] usb 1-1.5.1: USB disconnect, device number 8
[10799.469081] usb 1-1.5.1: new full-speed USB device number 9 using dwc_otg
[10799.630768] usb 1-1.5.1: not running at top speed; connect to a high speed hub
[10799.646891] usb 1-1.5.1: New USB device found, idVendor=12d1, idProduct=14dc
[10799.646909] usb 1-1.5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[10799.646920] usb 1-1.5.1: Product: HUAWEI_MOBILE
[10799.646930] usb 1-1.5.1: Manufacturer: HUAWEI_MOBILE
[10799.814489] usb-storage 1-1.5.1:1.2: USB Mass Storage device detected
[10799.815008] scsi host0: usb-storage 1-1.5.1:1.2
[10799.897788] cdc_ether 1-1.5.1:1.0 eth1: register 'cdc_ether' at usb-3f980000.usb-1.5.1, CDC Ethernet Device, 0c:5b:8f:27:9a:64
[10799.898127] usbcore: registered new interface driver cdc_ether
[10800.889652] scsi 0:0:0:0: Direct-Access     HUAWEI   TF CARD Storage  2.31 PQ: 0 ANSI: 2
[10800.910585] sd 0:0:0:0: Attached scsi generic sg0 type 0
[10800.923297] sd 0:0:0:0: [sda] Attached SCSI removable disk

Ini dia route -n

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
0.0.0.0         192.168.8.1     0.0.0.0         UG    207    0        0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG    303    0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     202    0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     204    0        0 docker0
169.254.0.0     0.0.0.0         255.255.0.0     U     206    0        0 veth4557ad2
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     303    0        0 wlan0
192.168.8.0     0.0.0.0         255.255.255.0   U     207    0        0 eth1

Lihat yang saya lakukan ifmetric wlan0agar dapat menggunakan wlan0ke sshdalam raspberry saya

PEMBARUAN 09/10:

allow-hotplug wlan0
iface wlan0 inet dhcp
    up ifmetric wlan0 0
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Ini tidak akan membuat wlan0metrik saya 0. Apa yang saya lakukan salah?


1
Langkah pertama adalah mencari tahu mengapa modem 4G mendapat rute default. Apakah itu DHCP? Jika ya, cari tahu apa yang memanggilnya (manajer jaringan? Ifup tradisional / ifdown?), Dan konfigurasikan dhclient dll. Dalam panggilan itu untuk tidak menetapkan rute default untuk antarmuka tertentu.
dirkt

@dirkt itu adalah dongle USB, jadi ketika terhubung, ia mendapat antarmuka baru secara default. Tidak ada aturan untuk eth1 di / etc / network / interfaces, namun ini adalah perangkat ethernet yang ditetapkan untuknya. Apa kamu tahu kenapa? Saya tidak tahu apakah itu DHCP, antarmuka cukup sederhana, tidak ada hal-hal canggih untuk diubah atau dilihat. Ini adalah modem Huawei. Bisakah kamu memberikan bantuan?
Guerlando OCs

1
Harap edit pertanyaan dengan output dari dmesgdan syslog (gunakan journalctljika Anda memiliki systemd) setelah Anda mencolokkan dongle USB (indent 4 spasi untuk pemformatan yang tepat pada stackoverflow).
dirkt

@ bandar saya akan segera memposting dmesg ketika saya mendapatkan seseorang untuk memasang modem 4G untuk saya. Sementara itu, bagaimana cara menemukan yang memberikan alamat IP untuk router saya? Saya menggunakan raspbian yang berbasiskan debian jadi Anda punya ide?
Guerlando OCs

Secara umum, Anda akan mendapatkan alamat IP melalui DHCP , biasanya dengan menelepon dhclient, atau, jika modem menggunakan protokol point-to-point, dari protokol ini. Semua itu harus ditampilkan di suatu tempat di log, itulah sebabnya saya meminta log. Jika Anda tidak memiliki akses fisik ke RaspPi (Anda tidak menyebutkan ini), ip linkatau ip addrjuga harus menunjukkan apakah itu protokol point-to-point atau tidak (mungkin Anda memerlukan mode verbose).
dirkt

Jawaban:


5

Untuk mengubah prioritas perutean untuk antarmuka Anda mengubah metrik.

Secara default, semua adalah 0, yang merupakan prioritas tertinggi. Jadi, Anda bisa melakukan:

allow-hotplug eth1
iface eth1 inet dhcp
    up ifmetric eth1 30

Untuk menggunakannya ifmetricdi Debian, Anda harus menginstalnya:

sudo apt-get install ifmetric

ifmetric

Setel metrik perutean untuk antarmuka jaringan

ifmetric adalah alat Linux untuk mengatur metrik semua rute IPv4 yang terpasang pada antarmuka jaringan yang diberikan sekaligus. Ini dapat digunakan untuk mengubah prioritas perutean lalu lintas IPv4 melalui antarmuka. Metrik yang lebih rendah berkorelasi dengan prioritas yang lebih tinggi.

Metrik 0 berarti rute prioritas tertinggi dan merupakan rute default. Nilai metrik yang lebih besar berarti rute prioritas yang lebih rendah. Alamat IP dari antarmuka aktif dengan nilai metrik terendah menjadi yang berasal. Lihat ifmetric (8).


1
Mungkin Anda juga harus menjelaskan mengapa ini akan membantu mendapatkan DHCP dari antarmuka tertentu (alih-alih mengabaikannya) jika ada antarmuka lain.
dirkt

@ Simpt, bisakah Anda menjelaskan lebih baik tentang hal dhcp? Saat ini saya memiliki iface wlan0 inet manual hingga ifmetric wlan0 0 tetapi wlan0 metric tidak akan muncul sebagai 0
Guerlando OC

1

Ini adalah masalah lama yang baik tentang cara mengganti rute default.

Cara termudah untuk IPv4 adalah tidak mencoba dan mengubah metrik / prioritas tetapi membagi rute:

ip route add 0.0.0.0/1 via wlan0-gw
ip route add 128.0.0.0/1 via wlan0-gw

Alasannya adalah karena pencarian tabel routing dilakukan menggunakan pencarian awalan yang paling cocok. Metrik rute mulai berlaku hanya jika ada dua rute yang setara. Dalam kasus ini, kedua rute ini memiliki awalan 1-bit yang lebih panjang dari awalan 0-bit dari rute default (0.0.0.0/0) dan akan dikonsultasikan terlebih dahulu. Karena kedua rute ini mencakup keseluruhan 0,0.0.0/0, mereka akan selalu memiliki preferensi daripada rute default.

Pendekatan alternatif adalah menggunakan tabel perutean terpisah dengan rute default yang Anda inginkan dan menambahkan aturan untuk mengirim semua lalu lintas di sana. Saya belum pernah melihat otomatisasi yang mengacaukan aturan ip, jadi tidak masalah apa pun rute yang mereka tambahkan. Masalahnya di sini adalah bahwa otomasi Anda tidak akan dapat memasukkan rute tambahan.

Jadi, tl; dr:

iface wlan0 inet manual
    up ip route add 0.0.0.0/1 via wlan0-gw
    up ip route add 128.0.0.0/1 via wlan0-gw
    ....

Atau (tetapi Anda juga harus menambahkan semua rute lain ke "tabel 5"):

iface wlan0 inet manual
    up ip rule add to 0.0.0.0/0 table 5
    up ip route add default via wlan0-gw table 5
    ....

0

Salah satu cara untuk Bertahan ip route add/deldi debian adalah dengan menuliskannya /etc/network/interfacesseperti di bawah ini:

allow-hotplug eth1
iface eth1 inet dhcp
    post-up ip route del default
    post-up ip route add default via <gateway IP> dev wlan0

Saya pikir dengan cara ini hanya akan menambahkan gateway default untuk setiap antarmuka, tetapi tidak yang mana yang lebih disukai
Guerlando OC

Ok saya mengerti, itu akan mengecualikan yang default dan menambahkan satu untuk wlan0. Tapi bukankah standar untuk eth0 akan ditambahkan juga?
Guerlando OCs

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.