cổng có phải nằm trên mạng con không?


14

Tôi đã xem xét việc đưa ra một giao diện như thế này trong / etc / network / giao diện (đây là trên debian), với cổng bên ngoài mạng con:

iface eth0 inet static
address 10.100.10.99
netmask 255.255.255.0
gateway 10.100.0.1

nhưng "ifup --verbose eth0" chỉ cung cấp cho tôi thông báo lỗi này:

ifconfig eth0 10.100.10.99 netmask 255.255.255.0
 route add default gw 10.100.0.1  eth0
SIOCADDRT: No such process
Failed to bring up eth0

Tất nhiên, việc thay đổi netmask thành 255.255.0.0 chỉ hoạt động tốt.

Điều đó thậm chí có thể, hay có điều gì khác là vấn đề? Có cách nào để lấy thêm thông tin từ ifup không? Tôi thấy một bài đăng trên internet cho thấy nó nên hoạt động.

Câu trả lời:


10

Một cách khác để tiếp cận câu hỏi này là: nếu bạn không thể truy cập bộ định tuyến cổng mặc định của mình trên mạng cục bộ, làm thế nào để bạn gửi các gói thông qua nó? Bạn sẽ phải gửi chúng thông qua một bộ định tuyến khác.

Đối với một số nền tảng, hãy nhớ rằng một gói IP thường chứa địa chỉ nguồn và đích: nơi nó đến và nơi nó muốn đi. Nó thường tùy thuộc vào các bộ định tuyến để quyết định làm thế nào nó đến đó.

Vì vậy, khi bạn gửi gói IP của mình thông qua bộ định tuyến cổng mặc định ngoài mạng, một trong hai điều sẽ cần phải xảy ra.

  1. Bộ định tuyến mạng cục bộ biết cách truy cập bộ định tuyến cổng mặc định và nó đồng ý với ý tưởng của bạn rằng gói tin của bạn sẽ được gửi qua bộ định tuyến cổng mặc định để đến đích. Trong trường hợp đó, tại sao không sử dụng bộ định tuyến mạng cục bộ làm cổng mặc định của bạn?

  2. Bộ định tuyến mạng cục bộ nghĩ (theo mặc định) rằng gói của bạn sẽ được gửi qua một số bộ định tuyến khác để đến đích. Trong trường hợp này, bạn phải có một số cách để nói với nó khác. Khả năng này tồn tại và được gọi là "định tuyến nguồn" ... nhưng nó được coi là rủi ro bảo mật và hầu hết các bộ định tuyến được cấu hình để bỏ qua nó.

Cuối cùng, theo kinh nghiệm của tôi, ipcông cụ iproute ( ) của Linux sẽ không cho phép bạn thêm tuyến nếu cổng có thể được truy cập trực tiếp qua giao diện mạng cục bộ.

Một vài tham chiếu định tuyến nguồn:


4

Cổng mặc định phải nằm trên cùng mạng con với địa chỉ IP của thiết bị. Đó thường là địa chỉ IP của bộ định tuyến của mạng mà bạn đang kết nối. Từ trang wikipedia trên Tuyến mặc định :

Trong mạng máy tính, cổng là một nút (bộ định tuyến) trên mạng TCP / IP đóng vai trò là điểm truy cập vào mạng khác. Cổng mặc định là nút trên mạng máy tính mà phần mềm mạng sử dụng khi địa chỉ IP không khớp với bất kỳ tuyến nào khác trong bảng định tuyến. Nó thực sự là địa chỉ IP của bộ định tuyến mà mạng PC của bạn được kết nối.

Trong cấu hình máy tính gia đình, ISP thường cung cấp một thiết bị vật lý vừa kết nối phần cứng cục bộ với Internet vừa đóng vai trò là cổng. Các thiết bị như vậy bao gồm bộ định tuyến DSL và bộ định tuyến cáp.

Trong các hệ thống tổ chức, một cổng là một nút định tuyến lưu lượng truy cập từ một máy trạm đến một phân đoạn mạng khác. Cổng mặc định thường kết nối các mạng bên trong và mạng bên ngoài (Internet). Trong tình huống như vậy, nút cổng cũng có thể hoạt động như một máy chủ proxy và tường lửa. Cổng cũng được liên kết với cả bộ định tuyến, sử dụng các tiêu đề và bảng chuyển tiếp để xác định nơi các gói được gửi và một bộ chuyển mạch, cung cấp đường dẫn thực tế cho gói vào và ra khỏi cổng.

Nói cách khác, một cổng mặc định cung cấp một điểm vào và một điểm thoát trong mạng.


Nhưng nếu có một tuyến tĩnh đến một địa chỉ, đó không thể là cổng mặc định ngay cả khi nó không nằm trong mạng con? (Chúng tôi đang đi vào kỹ thuật ở đây và tránh xa thực tiễn tốt).
kurtm

Tuyến tĩnh có thể là tuyến, không phải là cổng mặc định (theo tôi hiểu).
slm

2
Tuyến mặc định PHẢI ở trên cùng một mạng con. Tuyến mặc định là cách bạn lấy tất cả lưu lượng truy cập của mình khỏi mạng con và vào mạng khác. Vì vậy, nếu bạn cố gắng để có lưu lượng truy cập từ 10.100.10.99 đến 10.100.0.1, bạn cần có một "cổng" để nhận từ các mạng 10.100.10.0/24 đến 10.100.0.0/24. 10.100.0.1 không thể là cổng mặc định của bạn vì bạn không thể truy cập nó theo mặc định. Tuy nhiên, nó có thể là "một" cổng. Và nó thậm chí có thể là "cổng" mà bạn gửi tất cả lưu lượng truy cập của mình (một khi bạn nói với nó cách truy cập vào mạng khác).
coteyr

1
@coteyr: vậy mà tôi vẫn làm việc này. Nếu có một tuyến tĩnh đến mạng con khác và cổng mặc định nằm trên mạng con đó, tôi có thể thêm tuyến mặc định và ping / tạo kết nối mà không gặp vấn đề gì. Nó có thể kém hiệu quả hơn, nhưng nó hoạt động.
siride

Tôi sẽ nói: một tuyến đường là cách bạn đưa tất cả lưu lượng truy cập của bạn ra khỏi mạng con của bạn và vào một mạng khác. Khi chỉ định tuyến, bạn có thể chỉ định phân đoạn IP (hoặc supernet - kết hợp các phân đoạn) và cổng để truy cập phân đoạn / supernet đó hoặc bạn có thể chỉ định "cho mọi thứ khác không được đề cập trong bảng định tuyến, hãy sử dụng cửa ngõ ". Cái sau là tuyến mặc định và cổng được sử dụng trong nó được gọi là cổng mặc định. Khi bạn chỉ có một NIC, hầu như bạn luôn chỉ cần tuyến đường mặc định; nhưng với nhiều NIC bạn cũng có thể cần các tuyến khác.
telcoM

2

Tôi đang gặp vấn đề tương tự tại nhiều địa điểm với dịch vụ ADSL của Verizon. "Cổng mặc định" nằm trên một mạng con khác. Trong trường hợp của chúng tôi, chúng tôi cần các địa chỉ IP công cộng để sử dụng vpn trang web ipsec. Để thực hiện điều đó, chúng ta cần đặt cổng DSL vào chế độ cầu, để địa chỉ IP công cộng nằm trên bộ định tuyến của chúng ta thay vì cổng DSL.

Hầu hết các nhà cung cấp có thể làm điều này khá dễ dàng, nhưng Verizon dường như gặp khó khăn. Sử dụng cổng DSL D-Link 2750B, đặt nó ở chế độ cầu, các kỹ thuật viên của Verizon đang bảo tôi sử dụng cổng mặc định trên một mạng con riêng biệt. Tôi đã thử nghiệm nó bằng máy tính xách tay Windows 7 của mình và mặc dù Windows đưa ra thông báo lỗi cho thấy, "Bạn là một thằng ngốc và đây là một ý tưởng tồi - bạn có VẪN muốn lưu cấu hình này không? Có / Không", nó có hoạt động không .

Tuy nhiên, phần mềm kiểm tra độ tỉnh táo nghiêm ngặt hơn dường như bảo vệ bạn khỏi chính bạn ...

Tuy nhiên, tôi không thể không nghĩ rằng phải có một cách để giả mạo nó ...


1

Có thể, nhưng như được giải thích trong bài viết được liên kết, máy của bạn phải biết cách đến địa chỉ cổng. Điều này có nghĩa là bạn sẽ cần sử dụng post-upđể thêm các tuyến theo cách thủ công thay vìgateway

iface eth0 inet static
  address 10.100.10.99
  netmask 255.255.255.0
  post-up ip route 10.100.0.0/24 via 10.100.10.x # router that can route you to the 10.100.0.0/24 network
  post-up ip route 0.0.0.0 via 10.100.0.1

2
Các ip routelệnh này sẽ thất bại nếu bạn thử chúng ... ngay cả khi bạn thêm addlệnh bị thiếu .
Jander
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.