Lựa chọn tốt nhất về các địa chỉ riêng cho mạng khu vực thiết bị trên mạng


8

Tôi đang xây dựng một thiết bị bao gồm một số phân vùng được kết nối bằng ethernet bên trong thiết bị. Thiết bị sẽ kết nối với mạng khách hàng. Mạng lưới khách hàng có thể được sử dụng địa chỉ IP riêng. Xung đột địa chỉ với mạng nội bộ sẽ là một vấn đề (mạng con được kết nối với cả hai mạng sẽ bị nhầm lẫn). IPv6 không phải là một lựa chọn.

Tôi có nên mua địa chỉ IPv4? Hoặc có lẽ tôi có thể thoát khỏi việc sử dụng TEST-NET-3 (203.0.113.0/24) hoặc một cái gì đó tương tự? Thực hành tốt nhất là gì?


1
Mạng khách hàng sẽ cần truy cập trực tiếp vào các mục con hay họ sẽ chỉ kết nối với thiết bị thông qua cổng LAN loại "quản lý" trên thiết bị? Tôi yêu cầu bởi vì EMC và những người khác sử dụng thông tin liên lạc IP sợi riêng trên SAN của họ cho bộ điều khiển của họ / vv với một NIC quản lý chuyên dụng được kết nối với mạng của khách hàng. Các mgmt NIC có được địa chỉ DHCP từ mạng LAN của khách hàng hoặc được gán tĩnh để cư trú trên mạng khách hàng.
TheCleaner

1
Bạn có phải sử dụng ngăn xếp TCP / IP để liên lạc giữa các 'mục con' của mình không? Nếu bạn ở lại lớp hai, bạn sẽ không gặp vấn đề gì với xung đột IP.
jlehtinen

Mạng khách hàng chỉ là phương tiện để kết nối với dịch vụ đám mây. Do đó, cổng mặc định của khách hàng không được trùng lặp với mạng bên trong hoặc mạng con nhìn ra bên ngoài sẽ định tuyến sai các gói. Một trong những mục con chỉ là IPv4, không có cách nào khác để kiểm soát nó.
proski

3
"IPv6 không phải là một lựa chọn." Hiện tại chúng tôi có 2014. Nó nên là một lựa chọn. "Tôi có nên mua địa chỉ IPv4 không?" Chà, nếu bạn có thể - ở châu Á, họ cũng kiệt sức, ở châu Âu cũng vậy, ...
glglgl

1
Nếu thiết bị không hỗ trợ IPv6, tôi thậm chí sẽ không xem xét mua chúng, bởi vì tôi sau đó sẽ phải thay thế chúng cũng trước tuổi thọ dự kiến của thiết bị, với một cái gì đó mà không hỗ trợ IPv6. (Chà, dù sao đối với khách hàng. Trên các mạng của tôi, vốn đã là ngăn xếp kép, một thiết bị không hỗ trợ IPv6 được coi là không phù hợp với mục đích.)
Michael Hampton

Câu trả lời:


10

@yoonix đã gửi một liên kết có thể có một giải pháp.

Liên kết cục bộ, còn được gọi là APIPA.

169.254.0.0/16 - Đây là khối "liên kết cục bộ". Như được mô tả trong RFC3927, nó được phân bổ để liên lạc giữa các máy chủ trên một liên kết duy nhất. Các máy chủ có được các địa chỉ này bằng cách cấu hình tự động, chẳng hạn như khi có thể tìm thấy máy chủ DHCP.

Nếu tôi là khách hàng của bạn, tôi chắc chắn muốn có tùy chọn tự cấu hình cái này và / hoặc sử dụng DHCP (nghĩa là tôi không biết, có thể là một tiêu chuẩn đã có từ lâu?), Nhưng trong trường hợp không có những cái đó, đây chính xác là những gì APIPA được sử dụng cho.

Chỉnh sửa - Cho rằng bây giờ bạn nói rằng các địa chỉ IP phải tĩnh đối với các máy chủ riêng lẻ trong giải pháp của bạn vì chúng sẽ tương ứng với các quy tắc tường lửa trong thiết bị cổng của bạn, tôi cho rằng sẽ mất một chút nỗ lực từ phía bạn để làm cho nó hoạt động với liên kết địa chỉ IPv4 cục bộ; nỗ lực bạn nói bạn sẽ không chi tiêu. Vì vậy, về cơ bản bạn phải làm cho cấu hình này. Bạn có thể gửi nó với một mặc định, một ứng dụng ít được sử dụng bởi khách hàng, nhưng bạn phải có một cơ chế để có thể thay đổi nó trong trường hợp có xung đột. Hoặc bởi khách hàng, hoặc bởi bạn như là một phần của việc thực hiện / UAT.


Công cụ đang sử dụng DHCP trên mạng nội bộ cho một trong các mục con ( rất khó để định cấu hình mà không có DHCP). Tôi không cảm thấy thoải mái khi máy chủ DHCP phân phát địa chỉ IP trong phạm vi cục bộ liên kết, vì nó bị cấm rõ ràng: tools.ietf.org/html/rfc3927#section-1.6 Nếu chúng tôi không phải sử dụng DHCP trong nội bộ, nó sẽ là lựa chọn đầu tiên của tôi
proski

Không không không, như tôi đã trích dẫn rõ ràng, địa chỉ APIPA (liên kết cục bộ) là những thiết bị sẽ tự gán cho mình nếu không tìm thấy máy chủ DHCP. Tôi không đề nghị bạn sử dụng DHCP để gán địa chỉ APIPA.
mfinni

Các mục con có vai trò cụ thể và bộ định tuyến phải định cấu hình iptables theo các vai trò đó. Tôi không muốn bộ định tuyến khám phá các địa chỉ và thay đổi iptables tương ứng. Ngoài ra, việc gán địa chỉ IP ngẫu nhiên có nghĩa là sẽ có xung đột địa chỉ và tôi không chắc phần cứng đủ thông minh để giải quyết chúng.
proski

Đọc này: tools.ietf.org/html/rfc3927 - bất cứ điều gì đang sử dụng liên kết cục bộ cần thực hiện phát hiện xung đột.
mfinni

Tôi biết điều đó. Không có cách nào điều này sẽ được thực hiện trong sản phẩm. Các mục con có vai trò của chúng và có các cấu hình iptables cụ thể cho chúng.
proski

5

Làm cho nó cấu hình.

Tôi có nên mua địa chỉ IPv4?

Vâng. HÃY THỬ. Đầu tiên, bạn không mua chúng, bạn "cho thuê" chúng theo tư cách thành viên. Thứ hai, điều này đòi hỏi một AS và 2 đường lên. Thứ ba, điều này đòi hỏi một lý do và "chúng tôi không muốn giả sử cấu trúc mạng không phù hợp" là lý do dẫn đến tiếng cười (và từ chối), chứ không phải bạn nhận địa chỉ IP được phân bổ.

Hoặc có lẽ tôi có thể thoát khỏi việc sử dụng TEST-NET-3 (203.0.113.0/24)

Có khả năng. Cho đến ngày có người hỏi oyu về chi phí sửa chữa vì bỏ bê thô.

Thực hành tốt nhất là gì?

Làm cho nó cấu hình. Hoặc sử dụng IPV6 - ở đó bạn có thể thoát khỏi một số đặt phòng.


Lấy địa chỉ IPv4 để sử dụng nội bộ (vì vậy không định tuyến chúng đến internet) là trường hợp sử dụng hoàn toàn hợp lệ. Thật không may trong khu vực APNIC và RIPE không còn địa chỉ IPv4 nữa, vì vậy việc chuyển sang IPv6 thực sự là giải pháp chứng minh tương lai duy nhất ... Địa chỉ ULA nghe có vẻ là một lựa chọn tốt ở đó.
Sander Steffann

3
Nó không phải là một trường hợp sử dụng hợp lệ. Không giới hạn không gian địa chỉ IPv4. Đây là những gì địa chỉ riêng dành cho. Và họ sẽ không lãng phí nó cho các công ty "không thể hoặc không sẵn sàng tuân theo các quy trình bảo tồn đã được thiết lập".
TomTom

Nó chắc chắn không phải là một trường hợp sử dụng hợp lệ ngày hôm nay, tôi không biết nếu nó đã từng. Bạn có tài liệu nào để sao lưu khẳng định của mình không, @SanderSteffann?
mfinni

3
@proski à, không. Xem - Địa chỉ TEST-NET-3 để thử nghiệm. Một khách hàng sử dụng chúng để thử nghiệm có một trường hợp hợp lệ. Các thiết bị vận chuyển SOmeone hoặc là không biết gì HOẶC cố tình bỏ qua các chính sách xung quanh các địa chỉ này, đó là sự bỏ bê thô. Trong cả hai trường hợp.
TomTom

1
@SanderSteffann Tôi không biết về APNIC, nhưng RIPE chắc chắn có địa chỉ IPv4 - khoảng 14 triệu trong số đó (0,85 trên a / 8) theo cập nhật trạng thái mới nhất trên trang web của họ.
Jules

5
  1. Từ Wikipedia: Assigned as "TEST-NET-3" in RFC 5737 for use solely in documentation and example source code and should not be used publicly.- Điều này cho tôi biết rằng bạn không nên sử dụng TEST-NET-3.

  2. Một điều bạn dường như đang nhìn: Làm thế nào để bạn cho rằng bạn sẽ có thể giao tiếp với thiết bị hoặc thiết bị sẽ có thể giao tiếp với các thiết bị khác và ngược lại nếu bạn không định cấu hình địa chỉ IP của thiết bị CHO mạng khách hàng? Nếu bạn chỉ định một địa chỉ IP trong mạng không được sử dụng trong mạng máy khách (Bạn: 192.168.1.0/24 - Chúng: 10.0.0.0/8) thì làm thế nào để bạn cho rằng giao tiếp mạng sẽ hoạt động? Đây là lý do tại sao bạn nên định cấu hình thiết bị để sử dụng DHCP ra khỏi hộp và cho phép máy khách định cấu hình tĩnh sau đó.

Nếu bạn không thể sử dụng DHCP thì hãy sử dụng APIPA.


Sẽ không có sử dụng công cộng . Các địa chỉ nội bộ sẽ không bao giờ được tiếp xúc với bên ngoài. Truyền thông sử dụng NAT. Nhưng tôi không thể làm NAT khi cả hai mạng sử dụng địa chỉ chồng chéo.
proski

1
OK, nhưng câu trả lời của tôi không phải là về NAT. Thiết bị của bạn sẽ giao tiếp với các thiết bị khác trên cùng một mạng nội bộ như thế nào nếu thiết bị đang sử dụng địa chỉ IP không cùng mạng con với mạng nội bộ?
joeqwerty

Rõ ràng, thiết bị bao gồm một bộ định tuyến có địa chỉ trên cả hai mạng. Các bộ định tuyến hiện NAT. Khách hàng chỉ nói chuyện với thiết bị thông qua dịch vụ đám mây.
proski

Tôi không cố gắng để được ngớ ngẩn, nhưng làm thế nào là rõ ràng? Chúng tôi chỉ biết nhiều như bạn nói với chúng tôi trong câu hỏi của bạn và bạn không bao giờ đề cập đến thực tế đó.
joeqwerty

1
Có lẽ đó là tôi. Tôi chắc chắn không có ý xúc phạm và có thể điều này sẽ trở nên thô lỗ nhưng làm thế nào để tuyên bố "mạng con được kết nối với cả hai mạng sẽ bị nhầm lẫn" ngụ ý rằng thiết bị có bộ định tuyến tích hợp hoặc có chức năng định tuyến? Máy tính của tôi có hai giao diện mạng, mỗi giao diện được kết nối với một mạng khác nhau, nhưng máy tính của tôi không phải là bộ định tuyến. Có lẽ tôi chỉ là ngu ngốc. Tôi không đọc bất cứ điều gì trong câu hỏi của bạn khiến tôi tin rằng thiết bị của bạn có bộ định tuyến tích hợp hoặc có khả năng định tuyến. Ở bất cứ giá nào, câu nói này không phục vụ để giúp bạn vì vậy tôi sẽ bỏ nó vào thời điểm này.
joeqwerty

4

Về lý thuyết, bất kỳ phạm vi IP riêng nào cũng có thể được sử dụng bởi bất kỳ mạng riêng nào, vì vậy tôi nghi ngờ bạn sẽ tìm thấy một cách thực hành tốt nhất hoặc bất kỳ điều gì sẽ được áp dụng phổ biến nếu bạn mã hóa địa chỉ. Cách thực hành tốt nhất là làm cho nó có thể định cấu hình và cho phép mạng máy khách gán cho thiết bị một địa chỉ riêng (ví dụ như qua DHCP).

Nếu đó không phải là một lựa chọn, tôi thấy rằng hầu như không ai sử dụng nửa trên của nó 172.16.0.0/12, vì vậy đó là những gì tôi sử dụng. (Tôi nghĩ rằng tôi đang chạy 172.25.0.0/16, chính xác là vậy.) Tôi chưa có xung đột địa chỉ trên đó và tôi VPN vào rất nhiều mạng riêng.

Nếu bạn phải sử dụng một địa chỉ riêng tư IPv4, tôi nghĩ đó là điều tốt nhất bạn có thể làm, với 10.0.0.0/8khối được sử dụng rộng rãi và 192.168.0.0/16khối này là mặc định cho hầu hết mọi thứ, chỉ còn lại một 172.16.0.0/12. Tất nhiên, khối này thường được sử dụng cho VPN, để tránh xung đột địa chỉ, do việc sử dụng rộng rãi các khối mạng riêng khác, vì vậy hãy sử dụng các địa chỉ trên, vì (theo kinh nghiệm của tôi) chúng là mạng con ít được sử dụng nhất trong khối đó .


1
Nếu bạn chọn ngẫu nhiên / 24 trong phạm vi 10.0.0.0/8 và giả sử sử dụng hợp lý địa chỉ của các thiết bị hiện có (nghĩa là nhiều nhất là / 24 mạng con đang sử dụng - Tôi có xu hướng nghĩ về thiết lập mạng của mình như khá phức tạp, vì nó có 4 mạng con như vậy [3 vị trí khác nhau và một vpn để định tuyến giữa chúng]), khả năng xảy ra xung đột là <0,01%. Nói chung, tôi sẵn sàng chấp nhận rủi ro này trong hầu hết các trường hợp.
Jules

1
@Jules ngoại trừ những mạng (không may phổ biến) sử dụng toàn bộ / 8 mạng con chỉ vì nó là mặc định.
Cấp

Các tuyến đến một mạng nhỏ hơn được ưu tiên, để nó hoạt động. Tôi thực sự có thể có / 29 nội bộ để giảm rủi ro hơn nữa. Nhưng không loại bỏ rủi ro đó, dù nhỏ đến đâu, sẽ rất tệ. Bộ phận hỗ trợ khách hàng sẽ cần biết về nó và kiểm tra cấu hình mạng của khách hàng.
proski

2

Chúng tôi đang thiết kế chính xác điều tương tự và đã quyết định sử dụng địa chỉ trang web IPv6 với tiền tố fc00: nnnn ngẫu nhiên.


1
Xấu. Nhận một khối ULA.
TomTom

1

Giả sử không có phân vùng nào trong số này cần kết nối trực tiếp bên ngoài thiết bị, bạn nên sử dụng mạng loopback cho việc này (127.0.0.0/8).

RFC 5735 / Phần 3

Lặp lại trên Wikipedia


3
Làm thế nào điều này có thể làm việc? "Các tiểu khu" của anh ta là những vật chủ riêng lẻ. Loopback là để một máy chủ để giao tiếp với chính nó.
mfinni

1
Điểm hay, tôi thề tôi đã thấy nó được sử dụng như thế này trước đây .. nhưng tôi không thể nhớ lại ở đâu. Tôi sẽ xóa câu trả lời của tôi ngay.
yoonix

Nhưng, tài liệu đó có một đề nghị khác mà tôi thích!
mfinni

Trên thực tế, tôi đang nghĩ đến việc sử dụng 127.0.1.0/255 cho mạng nội bộ. Không chắc rằng nó sẽ tốt hơn TEST-NET-3.
proski

1
R WNG "CÔNG VIỆC. Đó là loopback. Một máy chủ liên lạc đến địa chỉ loopback sẽ CHỈ NÓI VỚI ITSELF. Địa chỉ loopback xảy ra có kích thước của toàn bộ mạng con, nó vẫn chỉ là máy chủ cục bộ.
mfinni

1

"Bộ điều khiển chính" của bạn có thể chạy máy chủ DHCP / cung cấp DHCP thuê trên giao diện "nội bộ" không?

Tôi đã làm một cái gì đó trong quá khứ cho một trong những sản phẩm thương mại của công ty chúng tôi có thể được sử dụng. Thiết bị này có hai cổng ethernet, một trong số đó có nghĩa là kết nối "trực tiếp" từ PC. Vấn đề là tương tự; chúng tôi muốn tránh xung đột địa chỉ IP với mạng LAN nội bộ của khách hàng (có thể trên mạng IP riêng) cũng như trên toàn thế giới.

Logic trên thiết bị này là cấu hình động một máy chủ DHCP ("udhcpc", thông qua các tùy chọn dòng lệnh) trên cổng LAN "trực tiếp" (eth1) dựa trên cấu hình IP của chính nó trên cổng LAN "công khai" (eth0). Cho dù thiết bị có được địa chỉ IP của riêng mình thông qua DHCP hoặc thông qua cài đặt tĩnh, mô-đun áp dụng cài đặt cũng sẽ thay đổi cấu hình máy chủ DHCP để tránh xung đột.

Chẳng hạn, nếu thiết bị thu được địa chỉ 192.168.0.100/netmask 255.255.255.0 (trên eth0), nó sẽ cấu hình máy chủ DHCP của riêng mình (trên eth1) cho mạng có sẵn tiếp theo 192.168.1.0/255.255.255.0.

Nó sẽ chọn từ một trong các mạng này (theo thứ tự ưu tiên): 192.168.0.0/24 ... 192.168.254.0/24 172.16.0.0/16 ... 172.31.0.0/16 10.0.0.0/8

Hi vọng điêu nay co ich.


Điều gì xảy ra nếu tôi đang sử dụng 192.168.0.0/16làm tiền tố trang web của mình, nhưng bạn chỉ được kết nối với Vlan bằng cách sử dụng 192.168.0.0/24? Bạn vừa mới tham gia 192.168.1.0/24ngay cả khi tôi đang sử dụng nó trên một Vlan khác trên cùng một trang.
fukawi2

Đó là một ý tưởng tốt trong lý thuyết. Trong thực tế, một trong các mục con sử dụng địa chỉ IP tĩnh và một mục khác sử dụng máy khách DHCP. Không thể cấu hình trong một sản phẩm vận chuyển. Do đó, các địa chỉ nên được cấu hình sẵn, nhưng các địa chỉ liên kết cục bộ sẽ không hoạt động.
proski
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.