2012-08-24 40 views
14

Tôi có một PC với hai giao diện mạng: eth0 và eth1.Làm cách nào để hệ điều hành biết được giao diện mạng nào sẽ sử dụng cho Internet?

eth0 - Có ip là 192.168.11.X/24.

eth1 - Có ip là 192.168.130.X/24. eth1 có kết nối internet.

Làm cách nào để hệ điều hành của tôi biết giao diện nào sẽ sử dụng khi tôi thử kết nối với internet? Liệu nó lặp qua tất cả các cổng mặc định? Liệu nó có bất kỳ bộ nhớ cache nào của mỗi giao diện cung cấp? Có sự khác biệt nào trong ứng xử giữa Windows và Linux không?

Trả lời

13

tôi sẽ trả lời cho phía bên Linux của ngôi nhà (ít nhất là cho các hệ thống nền tảng Debian, chẳng hạn như Ubuntu, vì nó phổ biến hơn cho người sử dụng vào thời điểm này):

Loại sau đây vào một dòng lệnh:

route -n 

bạn sẽ thấy "bảng định tuyến" của bạn xuất hiện, với một cái gì đó như sau:

Destination Gateway   Genmask   ... Iface 
0.0.0.0  192.168.11.254 0.0.0.0   ... eth0 
169.254.0.0 0.0.0.0   255.255.0.0  ... eth0 
192.168.11.0 0.0.0.0   255.255.255.0 ... eth0 
192.168.130.0 0.0.0.0   255.255.255.0 ... eth1 

tôi bỏ qua một vài cột, nhưng về cơ bản, dòng có nội dung "0.0.0.0" trong "Đích" là dòng xác định vị trí của bạn tuyến mặc định. Nói cách khác, nơi mà tất cả lưu lượng truy cập đi mà không phải là mệnh cho bất kỳ mạng con khác trong các dòng khác (google.com, facebook.com, bất cứ điều gì).

Nếu đó là không đúng (ví dụ như trong bảng trên, trong đó "eth1" là thẻ bạn muốn với kết nối Internet), bạn nên thay đổi tuyến đường mặc định:

sudo route del default 
sudo route add default gw 192.168.130.254 netmask 255.255.255.0 

Điều đó sẽ sửa chữa nó cho bây giờ . Để làm cho nó vĩnh viễn, chỉnh sửa giao diện tập tin của bạn:

sudo gedit /etc/network/interfaces 

Chỉnh sửa cho nó trông giống như sau (thay đổi khi cần thiết với tình hình cụ thể của bạn):

auto eth0 
iface eth0 inet dhcp 
up route del default 

auto eth1 
iface eth1 inet dhcp 
up route add default gw 192.168.130.254 netmask 255.255.255.0 

Sau đó khởi động lại mạng để xem nếu điều đó đã làm mẹo:

sudo /etc/init.d/networking restart 
2

Tính năng bạn đang hỏi là bảng định tuyến, danh sách các điểm đến được biết đến với máy chủ lưu trữ.

Khi hệ điều hành cần chuyển tiếp gói, nó sẽ kiểm tra danh sách này và chọn danh sách phù hợp nhất (từ các đích đến cụ thể đến các điểm chung). Ví dụ:

192.0.2.0/28 - 192.0.2.1 via eth1 
198.51.100.0/27 - 198.51.100.1 via eth0 
0.0.0.0/0  - 203.0.113.1 via eth0 

Lưu ý điểm đến cuối cùng: nó sẽ khớp với bất kỳ địa chỉ IPv4 nào.

+0

Nhưng điều gì sẽ xảy ra khi PC được bật và cố gắng kết nối Internet lần đầu tiên? Nó không có ý tưởng mà eth cung cấp truy cập vào internet. Liệu nó lặp qua các giao diện và khi thành công đặt thông tin trong bảng định tuyến? Cảm ơn. –

+1

@UriH Dự kiến ​​một số hình thức cấu hình từ người dùng hoặc từ một giao thức định tuyến. Nó không ngẫu nhiên cố gắng định tuyến các gói tin. – cnicutar

+0

Cảm ơn, tôi đã đi và kiểm tra điều đó bằng cách loại bỏ các tuyến đường mặc định và khởi động lại eth1, sau đó tôi thấy rằng các tuyến đường mặc định đã được thêm vào, tôi giả định vì yêu cầu DHCP có chứa các tùy chọn router. –

Các vấn đề liên quan