Bạn có thể chuyển tiếp cùng một cổng # đến 2 địa chỉ IP nội bộ khác nhau không?


14

Nếu tôi chuyển tiếp cổng 80 UDP trên PC, tôi có thể truy cập cổng 80 từ máy tính xách tay khác không?


1
Không; Khi bạn chuyển tiếp một cổng, bạn gửi tất cả lưu lượng truy cập đến một địa chỉ. Nếu bạn cần 2 thiết bị để nhận dữ liệu trên cùng một cổng thì bạn cần chuyển tiếp nó đến một thiết bị duy nhất kết nối 2 thiết bị bổ sung đó với mạng (ví dụ như bộ định tuyến khác).
Ramhound

1
Cổng 8080 có thể được sử dụng một cách an toàn thay thế cho 80 trên hệ thống thứ cấp. Vì vậy, chuyển tiếp 80 đến PC và 8080 vào máy tính xách tay nếu đó là những gì cần thiết cho yêu cầu của bạn.
Overmind

Bạn viết "Nếu tôi chuyển tiếp cổng 80 UDP trên PC, tôi có thể truy cập cổng 80 từ máy tính xách tay khác không?" <--- Vâng rõ ràng là những gì các điểm của cảng.
barlop

TẠI Ramhound Thực sự huh, ok, vậy tại sao bạn không giải thích cách bạn làm điều đó?
barlop

1
Tôi khuyên bạn nên chấp nhận câu trả lời của VL-80. Câu trả lời của anh ấy rất tốt. Nó trả lời những gì bạn thực sự hỏi-- không ai có thể nói như thế nào nó trả lời những gì bạn muốn hỏi.
David Betz

Câu trả lời:


14

Bạn đang hỏi hai câu hỏi khác nhau ở đây.

Bạn có thể chuyển tiếp cùng một cổng # đến 2 địa chỉ IP nội bộ khác nhau không?

Không. Hãy nghĩ về nó. Nếu một gói tin đến địa chỉ bên ngoài của bạn và UDP cổng 80 (giả sử bạn chỉ có một bên ngoài địa chỉ IP), làm thế nào sẽ định tuyến bí quyết của bạn của hai địa chỉ IP nội bộ cần được chuyển tiếp đến?

Nếu bạn muốn lưu trữ hai dịch vụ khác nhau, bạn sẽ cần một cổng riêng cho mỗi dịch vụ.

Nếu tôi chuyển tiếp cổng 80 UDP trên PC, tôi có thể truy cập cổng 80 từ máy tính xách tay khác không?

Đúng. Chuyển tiếp cổng thường chỉ ảnh hưởng đến các gói có cổng 80 về phía bạn . Khi ai đó cố gắng kết nối với bạn, bộ định tuyến của bạn sẽ thấy:

  • gói đến từ cổng ngẫu nhiên X của máy tính khác đến cổng 80 của bạn
  • trả lời đi từ cổng 80 của bạn đến cổng X khác

Nhưng các kết nối đi (khi bạn truy cập một trang web ở nơi khác) sẽ khiến nó bị đảo ngược khỏi quan điểm của bộ định tuyến.

  • gói đi từ cổng X ngẫu nhiên của bạn đến cổng 80 của máy tính khác (máy chủ web)
  • trả lời đến từ cổng 80 của người khác đến cổng X của bạn

Vì vậy, chuyển tiếp cổng sẽ không ảnh hưởng đến những người đó.

(Nhân tiện, HTTP thường chạy trên TCP . Chỉ các thử nghiệm QUIC của Chrome mới sử dụng UDP.)


Re " địa chỉ IP nội bộ nào cần được chuyển tiếp tới ", tại sao không gửi đến cả máy chủ 192.168.1.100 và máy chủ 192.168.1.101?
Pacerier

1
@Pacerier: Khách hàng sẽ làm gì khi nhận được hai phản hồi hoàn toàn khác nhau? Nó sẽ không tự động tạo hai kết nối trong đó một chương trình chỉ yêu cầu một kết nối. Tốt nhất, nó sẽ chấp nhận một gói tin trả lời và loại bỏ người kia, mà là vô ích vì bạn không thể nói nó máy chủ bạn muốn ... trừ khi cả hai 0,100 và 0,101 cung cấp chính xác các dịch vụ tương tự (load balancing). Tệ nhất, phản hồi thứ hai thậm chí sẽ ngăn kết nối đầu tiên kết thúc (ví dụ: nếu máy chủ thứ hai tiếp tục nhận các gói có nghĩa là cho gói đầu tiên, nó sẽ tiếp tục trả lời với
RST

1
@Pacerier: Vì vậy, trong trường hợp cân bằng tải cụ thể (với các máy chủ gần như giống hệt nhau), điều đó có thể được thực hiện - xem câu trả lời của VL-80 bên dưới để biết thêm chi tiết. Trong thực tế, có các chương trình cân bằng tải, nhân đôi gói ban đầu và sử dụng máy chủ nào nhanh nhất để trả lời. Nhưng nếu bạn muốn lưu trữ hai trang web khác nhau theo cách đó, nó sẽ không hoạt động vì trình duyệt không gửi tên máy chủ trang web cho đến khi kết nối TCP được tạo.
dùng1686

4

Bạn có thể chuyển tiếp cùng một cổng # đến 2 địa chỉ IP nội bộ khác nhau không?

Có, bạn hoàn toàn có thể làm điều đó với UDP và ở một mức độ nào đó với TCP .

UDP là giao thức không trạng thái không kết nối, bạn có thể lắng nghe một cổng cụ thể và khi gói đến, bạn có thể sao chép và gửi đến hai đích nội bộ khác nhau. Vì không có bắt tay hoặc theo dõi trạng thái, tất cả các điểm đến sẽ có thể nhận các gói đó thành công. Samplicator là một trong những chương trình có thể làm điều đó cho bạn. Lưu ý rằng đây không phải là Chuyển tiếp cổng thuần theo định nghĩa của nó.

Điều này có thể đối với TCP , nhưng với một số hạn chế - bạn có thể lắng nghe một cổng cụ thể và một khi gói tin đến, bạn có thể chuyển tiếp nó đến một máy chủ nội bộ cụ thể trong một nhóm. TCP sử dụng các kết nối, do đó, khi bạn đã chuyển tiếp một gói ban đầu đến một máy chủ nội bộ cụ thể, giờ đây cần phải chuyển tiếp các gói còn lại trong phiên này đến cùng một máy chủ nội bộ.

Bằng cách sử dụng công nghệ này, bạn có thể có nhiều máy chủ phụ trợ xử lý các yêu cầu đến một đích bên ngoài.

Nếu tôi chuyển tiếp cổng 80 UDP trên PC, tôi có thể truy cập cổng 80 từ máy tính xách tay khác không?

Câu hỏi này là một chút không rõ ràng. Nếu bạn chuyển tiếp lưu lượng truy cập từ địa chỉ bên ngoài của bạn đến một trong các máy chủ nội bộ thì thực tế này không ngăn bạn truy cập cùng một cổng từ mạng nội bộ.

Giả sử bạn chuyển tiếp cổng 80 từ Ađến B. Đồng thời Csẽ có thể truy cập trực tiếp vào cổng 80 Bmà không gặp vấn đề gì.

     A (external IP)
     |
 ---------
 |       |
 B       C

2
Câu hỏi là về bộ định tuyến. Không có bộ định tuyến cấp tiêu dùng nào có các tính năng cân bằng tải UDP sao chép / TCP mà bạn mô tả và không có tính năng nào trong số này được gọi là "chuyển tiếp cổng".
Jason C

4
1) Câu hỏi không chỉ định nó phải là một thiết bị cấp tiêu dùng. 2) Bất kể những gì bạn đã viết các kỹ thuật tôi mô tả các tác phẩm.
VL-80

2
Không có bộ định tuyến cấp chuyên nghiệp nào cũng có các tính năng này, trừ khi gói không chỉ bao gồm bộ định tuyến. Đó không phải là chuyển tiếp cổng và bộ định tuyến không thực hiện các chức năng này. Câu hỏi hỏi về "chuyển tiếp cổng" và được gắn thẻ bộ định tuyến . Hãy suy nghĩ về những người sẽ có cùng câu hỏi này, tìm nó và đọc câu trả lời của bạn, và xem xét liệu bạn đang giúp đỡ hay khó hiểu. Thuật ngữ của bạn là tất cả các cách sai.
Jason C

Bạn viết "Điều này là có thể đối với TCP, ....... một khi bạn đã chuyển tiếp một gói ban đầu đến một máy chủ nội bộ cụ thể thì bây giờ cần phải chuyển tiếp các gói còn lại trong phiên này đến cùng một máy chủ nội bộ." <--- Vậy làm thế nào điều này có thể với TCP? Bạn đề cập đến trình lấy mẫu cho UDP, ok .. để sao chép nó cho UDP .. Nhưng bạn đang đề xuất gì cho TCP?
barlop

4
Câu trả lời này là tốt. Tôi đã định nói điều gì đó tương tự. Với UDP, đây là tất cả những gì về multicast và IGMP. TCP, vâng, roundrobin, failover, v.v ... Vâng, các bộ định tuyến có thể làm điều này-- các bộ định tuyến ngày nay không phải là thiết bị mù từ những năm 90. Câu hỏi đủ mơ hồ để cho phép nhiều bài đọc, nhưng đây là cách tôi đọc cả qe bỏng.
David Betz

1

Bạn không thể chuyển tiếp cùng một cổng tới nhiều IP cùng một lúc, tôi thậm chí chưa thấy một bộ định tuyến / bộ chuyển mạch được quản lý nào thậm chí sẽ cho phép bạn làm điều đó mà không gửi lại thông báo lỗi cấu hình. Bạn có thể thiết lập nó cho nhiều IP nhưng mỗi lần chỉ có thể bật một trong số các quy tắc chuyển tiếp. Vì vậy, bạn có thể vô hiệu hóa một kích hoạt khác và ngược lại, nhưng đó là một sự lãng phí Bạn chỉ cần lo lắng về các cổng chuyển tiếp nếu bạn muốn truy cập các cổng / dịch vụ cụ thể trên máy tính LAN thông qua địa chỉ IP bên ngoài. Giả sử nếu bạn muốn chạy 2 máy chủ web trên 2 PC LAN của mình và có thể truy cập cả hai máy chủ mọi lúc, cách dễ nhất để làm điều này là thay đổi cổng của dịch vụ, có một cổng nghe trên cổng 80 và cái còn lại trên 8080 hoặc cổng bạn muốn. 99% dịch vụ sẽ cho phép bạn lưu trữ / nghe trên bất kỳ cổng nào bạn muốn. Nếu bạn không chỉ định một cổng, nó sẽ trở về mặc định của dịch vụ. Có nhiều cách làm nâng cao khác nhưng đây là cách đơn giản nhất và các phương pháp nâng cao không được coi là "Chuyển tiếp cổng" bất cứ ai nói rằng cần phải quay lại trường học.


1
"Tôi thậm chí chưa thấy một bộ định tuyến / bộ chuyển mạch được quản lý nào thậm chí sẽ cho phép bạn làm điều đó ..." - Bộ định tuyến Techncolor TC7200.U dành cho người tiêu dùng sẽ cho phép bạn thêm cấu hình chuyển tiếp cho cùng một cổng vào các địa chỉ IP khác nhau. Tôi không chắc chắn nếu nó thực sự chuyển tiếp mặc dù.
Jonathan Cross

-2

Không. Hãy nghĩ về nó. Nếu một gói đến địa chỉ bên ngoài của bạn và cổng UDP 80 (giả sử bạn chỉ có một địa chỉ IP bên ngoài), làm thế nào để bộ định tuyến của bạn biết nên chuyển tiếp địa chỉ IP nào trong hai địa chỉ IP bên trong?

Nếu bạn muốn lưu trữ hai dịch vụ khác nhau, bạn sẽ cần một cổng riêng cho mỗi dịch vụ.

Làm thế nào để bộ định tuyến của bạn biết để chuyển tiếp địa chỉ? Vì NAT.

Nếu bạn mua một tên miền, bạn có thể đặt Tên miền đó làm tên máy tính và tên NETBIOS.

Ví dụ: 2 máy tính khác nhau lưu trữ trang web trên các nội bộ khác nhau nhưng trên cùng một cổng bên ngoài phải được đặt tên theo tên miền hoặc bạn phải thiết lập máy chủ DNS nội bộ của mình với cả hai tên miền IP được thêm vào bản ghi mà bộ định tuyến kết nối với và mỗi khi ai đó cố gắng kết nối với bộ định tuyến tên miền (không phải địa chỉ IP công cộng) NAT sẽ chuyển tiếp kết nối tương ứng.

Bạn không thể chuyển tiếp các cổng giống hệt nhau cho nhiều IP trên cùng một mạng, nhưng bạn có thể sử dụng cùng một cổng Bên ngoài miễn là các cổng bên trong khác nhau, ngược lại khi nói về lưu lượng mạng đi


Xin đừng sao chép câu trả lời khác.
Scott
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.