Thay đổi vĩnh viễn trong bảng định tuyến


10

Tôi có Raspberry PI 2 model B với phiên bản Raspbian là Jessie và tôi đang cố gắng đưa internet từ PC của mình lên Raspberry. Tôi có 2 giao diện mạng giữa chúng, một giao diện qua Ethernet và giao diện còn lại qua Wifi. Tôi đã cấu hình địa chỉ IP Ethernet trong Raspberry thành tĩnh, bởi vì tôi có một mạng máy tính nhỏ ở nhà với các địa chỉ IP tĩnh và tôi muốn mâm xôi là một phần của nó. Vì internet của tôi rất chậm (tôi sử dụng modem quay số) nên tôi không muốn chia sẻ mạng chậm này qua giao diện ethernet vì tôi không muốn tất cả các máy tính được kết nối với mạng này làm giảm tốc độ internet của tôi. Vì tôi chỉ có ý định đưa internet vào Raspberry, tôi đã tạo một điểm truy cập Wifi trong PC để tự động gán địa chỉ IP cho Raspberry của tôi (phần mềm hotspot có một số DHCP) và đó '

Nhưng sau đó, vấn đề của tôi bắt đầu, theo mặc định sau khi tôi bật nó (hoặc nếu tôi ngắt kết nối và kết nối lại), Raspberry không kết nối với internet. Bằng cách gõ ifconfigtôi nhận được:

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

Khi tôi gõ route -ntôi nhận được:

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

Ở đây bạn có thể thấy số liệu của cổng kết nối Ethernet tĩnh của tôi (100.100.100.1) nhỏ hơn số liệu của cổng kết nối DHCP Wifi của tôi (192.168.137.1) để Raspberry của tôi cố gắng truy cập internet qua giao diện sai

sau khi tôi gõ:

sudo route delete  default gateway 192.168.137.1 

và sau đó :

sudo route add  default gateway 192.168.137.1

bảng định tuyến của tôi được cố định để:

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

và Raspberry có thể truy cập internet.

Câu hỏi của tôi là:

  1. Có cách nào để tự động hóa quy trình này để tôi không phải thực hiện thủ công mỗi khi bật Raspberry không?
  2. Có cách nào để tự động hóa nó để nó luôn nhận ra nó phải lấy internet từ Wifi độc lập với dải IP được cung cấp bởi hotspot DCHP cho giao diện này không?
  3. Tại sao số liệu thấp hơn tự động được gán cho giao diện Ethernet?

Tôi đã kiểm tra giải pháp trong Làm thế nào để thay đổi bảng định tuyến vẫn tồn tại? nhưng nó không hoạt động với tôi bởi vì trong Raspbian Jessie, bạn không trực tiếp chỉnh sửa /etc/network/interfacesthay vì bạn chỉnh sửa /etc/dhcpcd.confđể lấy địa chỉ IP tĩnh

Câu trả lời:


10

Có cách nào để tự động hóa quy trình này để tôi không phải thực hiện thủ công mỗi khi bật Raspberry không?

Điều đó không cần thiết nếu câu hỏi số 2 có thể được giải quyết - và nó có thể ...

Có cách nào để tự động hóa nó để nó luôn nhận ra nó phải lấy internet từ Wifi độc lập với dải IP được cung cấp bởi hotspot DCHP cho giao diện này không?

trong /etc/dhcpcd.confadd

interface wlan0;
metric 200;

interface eth0
metric 300;

Điều này sẽ chỉ định số liệu thấp hơn cho giao diện WLAN, do đó, một số liệu sẽ được chọn cho các yêu cầu Internet.

Tại sao số liệu thấp hơn tự động được gán cho giao diện Ethernet?

Bởi vì đó là cách số liệu được chỉ định theo 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 Cảm ơn bạn rất nhiều Tôi chưa có câu trả lời. Tôi đã chạy một kịch bản thủ công mỗi lần tôi cần để làm điều này
VMMF

Lưu ý, điều này không hoạt động đối với các kết nối không DHCP. Nếu bạn có kết nối tĩnh trong / etc / mạng / giao diện, bạn có thể đặt số liệu cổng bằng cách thay thế cổng xxx.xxx.xxx.xxx bằng tuyến đường lên thêm gw xxx.xxx.xxx.xxx mặc định ###
Sameer Puri

0

Những gì tôi làm chỉ đơn giản là làm cho nó chạy khi khởi động.

Thêm sudo route delete defaultsudo route add default gateway 192.168.137.1, theo thứ tự cụ thể, trong /etc/init.d/rc.localtệp của bạn .

Tôi đã quên nếu /etc/init.d/rc.locallàm việc ngoài hộp cho Jessie, hoặc thậm chí nếu bạn có nên chạm vào nó hay không, nhưng nó sẽ không quan trọng để tìm giải pháp khác (tôi đã làm rồi) .

Và điều này giải quyết # 1.


Để ưu tiên kết nối, tôi khuyên bạn nên cài đặt ifmetric. Sau đó, chỉ cần ưu tiên các kết nối của bạn trong/etc/network/interfaces

Ưu tiên cao nhất là 0, tiếp theo là 1, sau đó 2, v.v.

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

Và đó là thứ 2.


Tôi nghĩ # 3 đã xảy ra bởi vì các nhà phát triển nghĩ rằng WiFi được ưu tiên trong môi trường không sử dụng năng lượng nông dân . Tôi chỉ có thể suy đoán vì tôi không thể tìm thấy bất kỳ thông tin nào về điều này.

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.