Bộ định tuyến có nên sử dụng SLAAC để gán địa chỉ IPv6 không?


11

Tôi hơi bối rối bởi 2 RFC sau đây liên quan đến IPv6:

  • RFC 4862 (Tự động cấu hình địa chỉ IPv6)
  • RFC 7084 (Yêu cầu bộ định tuyến IPv6 CE)

RFC 4862 tuyên bố:

Quá trình tự động cấu hình được chỉ định trong tài liệu này chỉ áp dụng cho máy chủ và không phải bộ định tuyến. Do cấu hình tự động máy chủ sử dụng thông tin được quảng cáo bởi các bộ định tuyến, bộ định tuyến sẽ cần phải được cấu hình bằng một số phương tiện khác.

RFC 7084 liệt kê một trong các yêu cầu Cấu hình phía WAN của nó để gán địa chỉ là:

WAA-1: Bộ định tuyến IPv6 CE PHẢI hỗ trợ Tự động cấu hình địa chỉ không trạng thái (SLAAC) [RFC4862].

Có mâu thuẫn ở đây không?

Một bộ định tuyến có thể tự động cấu hình một địa chỉ IPv6 cho giao diện WAN của nó không?


Tại sao RFC 4862 nói

Do cấu hình tự động máy chủ sử dụng thông tin được quảng cáo bởi các bộ định tuyến, bộ định tuyến sẽ cần phải được cấu hình bằng một số phương tiện khác.

Ví dụ: nếu tôi đang sử dụng bộ định tuyến để kết nối mạng LAN của mình với ISP, thì có phải bộ định tuyến trong mạng của ISP đang nói chuyện với bộ định tuyến của tôi không?

Tôi đã nghĩ rằng nó hoàn toàn hợp lý khi có 2 (hoặc nhiều) bộ định tuyến kết nối với nhau. Trong trường hợp nào, tại sao không sử dụng SLAAC trên giao diện WAN của bộ định tuyến thứ hai?


Có lẽ vấn đề bắt nguồn từ sự phân biệt giả tạo giữa máy chủ và bộ định tuyến? Từ RFC 4862:

nút - một thiết bị thực hiện IP.

bộ định tuyến - một nút chuyển tiếp các gói IP không được gửi đến chính nó.

máy chủ - bất kỳ nút nào không phải là bộ định tuyến.

Nhưng không phải máy chủ (tức là máy đang lưu trữ máy chủ hoặc ứng dụng) cũng có bảng định tuyến và hoạt động như một bộ định tuyến? Và chúng tôi đang kết nối 2 bộ định tuyến lại với nhau một cách hiệu quả.


Chỉnh sửa : một số thông tin bổ sung mà sau đó tôi phát hiện ra ...

Nhân Linux xử lý SLAAC và theo sát RFC 4862. Phải xuống để phân biệt giữa máy chủ và bộ định tuyến. Xem tài liệu kernel trên ip-sysctl :

  • Hành vi HOST được giả định. Điều đó có nghĩa là Bộ định tuyến Bộ định tuyến sẽ được gửi và Quảng cáo Bộ định tuyến sẽ được sử dụng để tự động cấu hình địa chỉ.
  • Chỉ khi chuyển tiếp được bật ( /proc/sys/net/ipv6/conf/all/forwarding), thiết bị được coi là ROUTER . Điều đó có nghĩa là sẽ không có Thông báo Bộ định tuyến nào được gửi và Quảng cáo Bộ định tuyến sẽ bị bỏ qua.

Hóa ra sự khác biệt này quay trở lại, tiền IPv6. Xem tham số /proc/sys/net/ipv4/ip_forward:

Biến này là đặc biệt, thay đổi của nó đặt lại tất cả các tham số cấu hình về trạng thái mặc định của chúng ( RFC1122 cho máy chủ, RFC1812 cho bộ định tuyến)

Câu trả lời:


7

Trong RFC 7084, nó cũng ghi rõ:

W-1: Khi bộ định tuyến được gắn vào liên kết giao diện WAN, nó PHẢI hoạt động như một máy chủ IPv6 cho mục đích gán địa chỉ giao diện [RFC4862] hoặc trạng thái giao diện [RFC3315].

Vì vậy, trong ngắn hạn, có - một bộ định tuyến sẽ có thể tự động cấu hình một địa chỉ IPv6 cho giao diện WAN của nó.

Trong thực tế, hầu hết các ISP triển khai DHCPv6 và DHCPv6-PD ( RFC3633 ) để phân bổ địa chỉ xuôi dòng, cùng với ủy quyền tiền tố.

Điều này đảm bảo rằng bộ định tuyến của bạn không chỉ nhận được một địa chỉ trên giao diện WAN mà còn nhận được tiền tố mà nó có thể sử dụng trên giao diện LAN bên trong của nó.


6

RFC 4862 thực sự mô tả các bộ định tuyến trong một điều khiển quản trị. RFC 7084 làm rõ cách thức hoạt động của bộ định tuyến khách hàng. Điều này mang lại cho ISP một sự tự do trong cách nó hỗ trợ IPv6 cho khách hàng của mình.

Đối với bộ định tuyến PE, bộ định tuyến CE một máy chủ lưu trữ. Từ quan điểm của một mạng LAN (miền 2 lớp, bao gồm liên kết từ PE đến CE), một bộ định tuyến thực sự chỉ là một máy chủ khác trên mạng. Trong hầu hết các trường hợp, các địa chỉ liên kết WAN sẽ được xác định tĩnh, thông qua DHCP hoặc qua PPP, không thực sự sử dụng SLAAC.

Tôi nghĩ rằng bạn đã bỏ lỡ phần trong RFC 7084 trước những gì bạn đã trích dẫn:

Yêu cầu về phía mạng WAN:

W-1: Khi bộ định tuyến được gắn vào liên kết giao diện WAN, nó PHẢI hoạt động như một máy chủ IPv6 cho mục đích gán địa chỉ giao diện [ RFC4862 ] hoặc trạng thái giao diện [ RFC3315 ].


1
Nhiều ISP cũng chạy kết nối mạng không bị chặn (chỉ liên kết cục bộ). Tất cả những gì xảy ra trên liên kết WAN là bộ định tuyến ISP gửi các gói đến CPE và CPE gửi các gói đến cổng mặc định. Cả hai thường sử dụng địa chỉ liên kết cục bộ nào.
Sander Steffann

5

Tại sao RFC 4862 nói "Vì tự động cấu hình máy chủ sử dụng thông tin được quảng cáo bởi các bộ định tuyến, bộ định tuyến sẽ cần phải được cấu hình bằng một số phương tiện khác."

Những người đã viết tài liệu đó (và tiền thân là RFC 2462) gần như chắc chắn có một thế giới quan rằng có hai loại thiết bị. "Máy chủ" có rất nhiều và là gánh nặng để quản lý và "bộ định tuyến" được quản lý bởi các quản trị viên mạng có thẩm quyền.

Đầu những năm 2000, chúng tôi đã có sự gia tăng của các kết nối DSL / cáp liên tục và cũng có sự gia tăng số người có nhiều máy tính tại nhà có thể sử dụng kết nối internet. Vì nhiều ISP chỉ cung cấp một địa chỉ IP cho khách hàng (ít nhất là không tính phí thêm), chúng tôi đã thấy sự gia tăng lớn trong việc sử dụng "bộ định tuyến gia đình" với NAT để ẩn nhiều máy tính đằng sau kết nối như vậy. NAT cho phép "bộ định tuyến gia đình" che giấu bản chất thật của nó khỏi ISP, theo như ISP liên quan đến "bộ định tuyến gia đình" giống như một máy chủ.

Việc sử dụng như vậy ban đầu chỉ được các ISP cung cấp "dung nạp" nhưng cuối cùng họ quyết định rằng đó không phải là một điều tồi tệ như vậy và bắt đầu thực sự trao / bán "bộ định tuyến gia đình" cho khách hàng của họ. Kết quả là chúng tôi đã kết thúc với một số lượng lớn các thiết bị này ngồi trong nhà và các doanh nghiệp nhỏ.

Gần đây, IETF đã bắt đầu khám phá chính xác cách thức "bộ định tuyến gia đình" và các ISP phục vụ họ nên hoạt động như thế nào trong bối cảnh IPv6. Câu trả lời là giao diện "bên mạng LAN" sẽ giống như một máy chủ trong khi giao diện "bên LAN" sẽ hoạt động giống như một bộ định tuyến thông thường. Vì không có NAT nên cần có một số chi tiết bổ sung để xử lý các địa chỉ cung cấp cho phía LAN.


Về nhân Linux, nó thực sự mặc định bỏ qua RA khi bật định tuyến, nhưng hành vi này có thể bị ghi đè nếu cần.


Bạn không đề cập đến cách ghi đè. Tôi có các phần sau trong tập tin / etc / mạng / giao diện sau của tôi sysctl -w net.ipv6.conf.eth0.accept_ra = 2 mà tôi tin là cài đặt để bật RA.
tgunr

Đúng, 0 bị tắt, 1 là chế độ bình thường (được bật cho máy chủ nhưng không phải bộ định tuyến) và 2 được bật.
Peter Green
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.