Làm thế nào để làm cho wlan luôn luôn là tuyến đường mặc định? (danh sách lộ trình ip)


8

Bất cứ khi nào tôi thêm modem 4G vào quả mâm xôi của mình, nó sẽ nằm trên các tuyến mặc định ip route list, tuy nhiên tôi muốn mọi thứ đi qua wlan và chỉ sử dụng modem 4G để nhận kết nối SSH.

Tôi đã tìm thấy câu trả lời này về cách vô hiệu hóa các tuyến mặc định.

tuy nhiên, sau khi khởi động lại, modem 4G trở lại đầu trang.

Làm thế nào để tôi wlan0luôn luôn là quy tắc đầu tiên mặc định?

CẬP NHẬT:

Đây là đầu ra dmesg khi tôi kết nối khóa 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

Đây là 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

CẬP NHẬT 2

Tôi đã gắn nó thêm một vài lần nữa cho đến khi nó hiển thị eth1tuyến đường:

[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

Đây là 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

Xem rằng tôi đã làm ifmetric wlan0để có thể sử dụng wlan0để sshvào quả mâm xôi của tôi

CẬP NHẬT 09/10:

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

Điều này sẽ không làm cho tôi wlan0có số liệu 0. Tôi đang làm gì sai?


1
Bước đầu tiên là tìm hiểu lý do tại sao modem 4G có tuyến đường mặc định. Nó có làm DHCP không? Nếu có, hãy tìm ra cái gì gọi nó (trình quản lý mạng? Ifup / ifdown truyền thống?) Và cấu hình dhclient, v.v. trong cuộc gọi đó để không đặt tuyến mặc định cho giao diện cụ thể đó.
dirkt

@dirkt là một dongle USB, vì vậy khi được kết nối, nó sẽ có một giao diện mới theo mặc định. Không có quy tắc nào cho eth1 trên / etc / mạng / giao diện, tuy nhiên đây là thiết bị ethernet được gán cho nó. Bạn có biết tại sao? Tôi không biết nếu nó làm DHCP, giao diện khá đơn giản, không có gì nâng cao để thay đổi hoặc nhìn. Đó là một modem huawei. Bạn có thể giúp soe?
Guerlando OCs

1
Vui lòng chỉnh sửa câu hỏi với đầu ra dmesgvà syslog (sử dụng journalctlnếu bạn có systemd) sau khi bạn cắm USB dongle (thụt 4 khoảng trắng để định dạng đúng trên stackoverflow).
dirkt

@dirkt Tôi sẽ sớm đăng dmesg khi tôi nhờ ai đó cắm modem 4G cho tôi. Trong khi đó, làm thế nào để tôi tìm thấy thứ gì đang cung cấp địa chỉ IP cho bộ định tuyến của mình? Tôi đang sử dụng raspbian dựa trên debian để bạn có ý tưởng?
Guerlando OCs

Nói chung, bạn sẽ nhận được địa chỉ IP qua DHCP , thường bằng cách gọi dhclienthoặc, nếu modem sử dụng giao thức điểm-điểm, từ giao thức này. Tất cả những gì nên được hiển thị ở đâu đó trong nhật ký, đó là lý do tại sao tôi yêu cầu nhật ký. Nếu bạn không có quyền truy cập vật lý vào RaspPi (bạn không đề cập đến điều này) ip linkhoặc ip addrcũng sẽ hiển thị nếu đó là giao thức điểm-điểm hay không (có thể bạn cần chế độ dài dòng).
dirkt

Câu trả lời:


5

Để thay đổi mức ưu tiên định tuyến cho giao diện, bạn thay đổi số liệu.

Theo mặc định, tất cả đều là 0, là mức ưu tiên cao nhất. Vì vậy, bạn có thể làm:

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

Để sử dụng ifmetrictrong Debian, bạn phải cài đặt nó:

sudo apt-get install ifmetric

đối xứng

Đặt số liệu định tuyến cho giao diện mạng

ifmetric là một công cụ Linux để thiết lập các số liệu của tất cả các tuyến IPv4 được đính kèm với một giao diện mạng nhất định cùng một lúc. Điều này có thể được sử dụng để thay đổi mức độ ưu tiên của việc định tuyến lưu lượng truy cập IPv4 qua giao diện. Số liệu thấp hơn tương quan với các ưu tiên cao hơn.

Số liệu 0 có nghĩa là tuyến ưu tiên cao nhất và là tuyến mặc định. Giá trị số liệu lớn hơn có nghĩa là các tuyến ưu tiên thấp hơn. Địa chỉ IP của giao diện hoạt động có giá trị số liệu thấp nhất sẽ trở thành địa chỉ gốc. Xem ifmetric (8).


1
Có lẽ bạn cũng nên giải thích lý do tại sao điều này sẽ giúp nhận DHCP từ một giao diện cụ thể (thay vì bỏ qua nó) nếu có các giao diện khác hiện diện.
dirkt

@dirkt bạn có thể giải thích rõ hơn về điều dhcp không? Hiện tại tôi có iface wlan0 inet hướng dẫn sử dụng ifmetric wlan0 0 nhưng số liệu wlan0 sẽ không xuất hiện dưới dạng 0
Guerlando OCs

1

Đây là vấn đề cũ tốt về cách ghi đè tuyến đường mặc định.

Cách dễ nhất cho IPv4 không phải là thử và thay đổi số liệu / mức độ ưu tiên mà là phân chia tuyến đường:

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

Lý do điều này hoạt động là việc tra cứu bảng định tuyến được thực hiện bằng cách sử dụng tìm kiếm tiền tố khớp dài nhất. Chỉ số tuyến chỉ hoạt động khi có hai tuyến tương đương. Trong trường hợp này, hai tuyến này có tiền tố 1 bit dài hơn tiền tố 0 bit của tuyến mặc định (0.0.0.0/0) và sẽ được tham khảo trước. Vì hai tuyến này bao gồm toàn bộ 0.0.0.0/0, nên chúng sẽ luôn có ưu tiên hơn tuyến mặc định.

Một cách tiếp cận khác là sử dụng một bảng định tuyến riêng với tuyến đường mặc định mà bạn thích và thêm quy tắc để gửi tất cả lưu lượng truy cập đến đó. Tôi chưa bao giờ thấy bất kỳ tự động hóa nào gây rối với các quy tắc ip, vì vậy sẽ không có vấn đề gì với các tuyến đường khác mà họ thêm vào. Vấn đề ở đây là tự động hóa của bạn sẽ không thể chèn các tuyến bổ sung.

Vì vậy, 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
    ....

Hoặc (nhưng bạn cũng sẽ phải thêm tất cả các tuyến khác vào "bảng 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

Một cách để duy trì cuộc tranh luận ip route add/dellà viết chúng thành /etc/network/interfacesnhư sau:

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

Tôi nghĩ theo cách này, nó sẽ chỉ thêm một cổng mặc định cho mỗi giao diện, nhưng không phải là cổng nào được sử dụng tốt nhất
Guerlando OCs

Ok tôi hiểu, nó sẽ loại trừ cái mặc định và thêm cái cho wlan0. Nhưng sẽ không được thêm một mặc định cho eth0?
Guerlando OC

0

Tôi nghĩ vấn đề trên cổng mặc định. Đây là hướng dẫn.

Tôi giải thích ngắn gọn các bước. Đầu tiên, bạn cần xóa cổng mặc định và thêm cổng bạn muốn thêm. Sau đó, bạn chỉnh sửa "/ etc / mạng / giao diện" để thay đổi vĩnh viễn. Cuối cùng, bạn khởi động lại dịch vụ.

https://www.wikihow.com/Add-or-Change-the-Default-Gateway-in-Linux

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.