Giả sử bạn làm việc với linux (raspian, debian, v.v ...):
Bạn hỏi hai câu hỏi khác nhau, Đầu tiên tôi sẽ trả lời câu hỏi tiêu đề:
Buộc Raspberry để có được internet từ mạng cụ thể
Tôi sẽ khóa từ "mạng" của bạn (trái ngược với "giao diện") và trả lời điều này theo nghĩa IP thuần túy:
Nếu bạn có nhiều kết nối có thể cung cấp internet, bạn sẽ kiểm soát chúng sẽ được sử dụng thông qua bảng lộ trình.
Để xem bảng định tuyến tôi thường sử dụng netstat -rn
( -r
dành cho "hiển thị định tuyến", -n
dành cho "hiển thị số cho tôi, đừng thử và thực hiện tra cứu DNS, có thể bị treo nếu internet của tôi không được cấu hình đúng"). Một ví dụ thực sự đơn giản sẽ như thế này:
pi@homeServer ~ $ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.9.1 0.0.0.0 UG 0 0 0 eth0
192.168.9.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.20.10.0 0.0.0.0 255.255.255.240 U 0 0 0 wlan0
pi@homeServer ~ $
Dòng trong đầu ra đó cho biết các gói IP sẽ đi theo hướng nào là dòng có số phận 0.0.0.0
và genmask 0.0.0.0
, thường được gọi là default route
(mặt nạ của 0.0.0.0
tất cả các ký tự đại diện, đó thực sự là điểm đánh dấu của tuyến mặc định) và vì hiện tại nó trỏ đến một địa chỉ cụ thể trong phạm vi `192.168.9 ', lưu lượng truy cập internet sẽ đi qua giao diện ethernet.
Nếu tôi muốn chuyển internet của mình sang mạng khác, tôi sẽ sử dụng route
lệnh và trong trường hợp này, do kết nối wifi của tôi không phải là điểm-điểm, tôi phải biết địa chỉ IP của bộ định tuyến có thể chuyển tiếp lưu lượng ra khỏi mạng đó (trong trường hợp của tôi là 172.20.10.1
vậy) vì vậy tôi sẽ làm:
Xóa tuyến đường mặc định hiện tại
sudo route del default
Thêm một tuyến mặc định mới cho mạng khác
sudo route add default gw 172.20.10.1
FYI trong khi đó route
là những gì tôi sử dụng, tôi thấy một số người cho rằng nó không dùng nữa và thay vào đó khuyên bạn nên sử dụng ip route
lệnh, xem bình luận của @Fred bên dưới để biết cú pháp. tài liệu tham khảo cho khấu hao
Có cách nào kết nối thông qua giao diện của dongle không
Đã được một thời gian kể từ khi tôi làm việc với ppp
và wvdial
không có cấu hình (hoặc ít nhất là các tài liệu tham khảo cho các hướng dẫn mà bạn đã theo dõi khi thiết lập chúng), thật khó để đoán được vấn đề nào bạn gặp phải, nhưng như một vài ý tưởng:
- Là kết nối thực sự không hoạt động hoặc bạn vừa mất tuyến đường mặc định khi eth0 của bạn xuất hiện?
- Kiểm tra điều này trong cả hai
netstat -rn
và ifconfig
.
- Là một giao diện trong
netstat -rn
? Nếu vậy, có một tuyến đường mặc định cho nó?
- Trong
ifconfig
bạn có thấy giao diện cho dongle (có khả năng ppp
) không? phải UP
không
- Tôi không thể nhớ nơi
ppp
/ wvdial
đăng nhập, nhưng điều đó nên được kiểm tra. Nhật ký đó sẽ cho bạn biết trạng thái kết nối và sẽ cho bạn biết nếu toàn bộ hệ thống đã tắt vì một số lý do
- Nếu bạn thấy một giao diện, hãy thử
ping
một cái gì đó (... bất cứ thứ gì ...) trên đó và xem liệu kết nối có xuất hiện không.
- Tôi biết
ppp
/ wvdial
combo có một số khả năng kết nối tự động (tùy thuộc vào cấu hình)
- Vì vậy, nếu kết nối xuất hiện với ping (hoặc kết nối đã duy trì toàn bộ thời gian): đó có thể là tuyến mặc định (ppp) bị mất khi bạn đưa ethernet lên.
- Nếu đây là vấn đề bạn chỉ cần thêm một tuyến mặc định và toàn bộ hệ thống sẽ trở lại trực tuyến.