Làm cách nào để định cấu hình mạng con radvd, dhcpd6, định tuyến và / 64 dựa trên tiền tố được ủy quyền bởi máy chủ DHCPv6-PD?


10

ISP của tôi vừa bắt đầu dịch vụ ngăn xếp kép IPv4 / IPv6. Để kết nối internet IPv4 / IPv6, hầu hết tất cả người dùng thường sử dụng CPE được thuê bởi ISP. Nhưng tôi muốn sử dụng bộ định tuyến Linux của mình thay vì CPE như vậy, bởi vì bộ định tuyến của tôi có rất nhiều vai trò (rất nhiều quy tắc iptables và 3 giao diện Ethernet, proxy ngược http, http cache, memcached, smtp / pop server và DNS proxy). Tôi muốn để nó trở thành một bộ định tuyến ngăn xếp kép IPv4 / IPv6.

Bộ định tuyến của tôi

  • CentOS6.0 i686
  • eth0 cho mạng LAN
  • eth1,2 cho mạng LAN
  • ISC dhcp (phiên bản 4.1.1) được cài đặt bởi "# yum install dhcp" từ repo của CentOS
  • radvd (phiên bản 1.6) được cài đặt bởi "# yum install radvd" từ repo của cơ sở CentOS
  • [Ed Số điện thoại SIP, địa chỉ máy chủ firmware). Tôi biết cách đặt tùy chọn 16 trong ISC dhclient, nhưng không biết tùy chọn này trong WIDE-dhcpv6. Và tôi không thể tìm thấy các cài đặt như "id-assoc" trong ISC dhclient.

Mục tiêu của tôi

  • / 48 tiền tố được ủy quyền cho máy khách DHCPv6-PD (DHCPv6 Prefix Delegation) (dhclient) trên eth0.
  • Một tuyến mặc định IPv6 được đặt theo hướng ISP. Tôi phải xem địa chỉ liên kết cục bộ của máy chủ DHCPv6 của ISP như một tuyến mặc định.
  • Một / 64 mạng con và một địa chỉ toàn cầu (nằm trong tiền tố được ủy nhiệm) được gán cho mỗi LAN I / F (eth1 / eth2).
  • radvd trên eth1 và eth2 thông báo RA dựa trên mạng con được gán / 64.
  • dhcpd6 trên eth1 và eth2 thông báo thêm thông tin mạng (máy chủ tên, danh sách tìm kiếm tên miền và địa chỉ sip-máy chủ) nhận được từ máy chủ DHCPv6 của ISP.

Cấu hình hiện tại của tôi

/ etc / sysconfig / mạng

NETWORKING=yes
HOSTNAME=xxx.yyy.zzz

# Enable IPv6 routing and stop accept_ra/autoconf.
IPV6FORWARDING=yes

/ etc / sysconfig / tập lệnh mạng / ifcfg-eth0

DEVICE="eth0"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none

# Enable DHCPv6-PD client.
DHCPV6C=yes
DHCPV6C_OPTIONS="-P -cf /etc/dhcp/dhclient6.conf"

# Disable make_resolv_conf function in /sbin/dhclient-script.
PEERDNS=no

/etc/dhcp/dhclient6.conf

script "/sbin/dhclient-script";
interface "eth0" {
        send dhcp6.reconf-accept;
        also request dhcp6.vendor-opts, dhcp6.sip-servers-names, dhcp6.sip-servers-addresses, dhcp6.sntp-servers;
}

Kết quả

Sau khi "# khởi động lại mạng dịch vụ", máy khách DHCPv6-PD dường như kết thúc thành công.

lease6 {
  interface "eth0";
  ia-pd xx:xx:xx:xx {
    starts 1312464004;
    renew 7200;
    rebind 10800;
    iaprefix 24xx:xxxx:xxxx::/48 {
      starts 1312464004;
      preferred-life 12600;
      max-life 14400;
    }
  }
  option dhcp6.client-id xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;
  option dhcp6.server-id xx:xx:xx:xx:xx:xx:xx:xx:xx:xx;
  option dhcp6.reconf-accept ;
  option dhcp6.sip-servers-addresses 24xx:xxxx:xxxx:xxxx::1;
  option dhcp6.name-servers 24xx:xxxx:xxxx:xxxx::3,24xx:xxxx:xxxx:b::3;
  option dhcp6.domain-search "xxx.jp.", "yyy.jp.";
  option dhcp6.sntp-servers 24xx:xxxx:xxxx:xxxx::a,24xx:xxxx:xxxx:b::b;
}

Câu hỏi

Máy khách DHCPv6-PD được ủy nhiệm / 48 tiền tố thành công. Nhưng sau đó thì,

  • Làm cách nào để đặt tuyến mặc định IPv6 trong bảng định tuyến của bộ định tuyến?
  • Làm cách nào để gán địa chỉ IPv6 toàn cầu và / 64 mạng con cho mỗi LAN I / F (eth1 và eth2) dựa trên tiền tố được ủy quyền?
  • Làm cách nào để kích hoạt radvd để thông báo RA trên mỗi LAN I / F (eth1 và eth2)?
  • Làm cách nào để kích hoạt máy chủ DHCPv6 (dhcpd6) trên mỗi LAN I / F để thông báo thêm thông tin mạng (máy chủ tên, danh sách tìm kiếm tên miền và địa chỉ sip-máy chủ) nhận được từ máy chủ DHCPv6 của ISP?

Tôi đoán

Theo "$ man dhclient" và "$ man dhclient-script", dhclient-script dường như được sử dụng để định cấu hình các cài đặt như vậy và nó cung cấp một số hook. Nhưng bây giờ, nó không làm gì cho máy khách DHCPv6-PD.

Có, tôi có thể phải viết một số tập lệnh phù hợp với môi trường DHCPv6-PD của mình, mặc dù tôi không quen với cấu hình mạng IPv6. Bất cứ ai cho tôi biết các cài đặt ở trên trong dhclient-script? [EDIT] Tôi muốn biết kịch bản dhclient thực tế.

Và tôi lo lắng, một số xem xét đặc biệt nên được thực hiện. Ví dụ: vì mỗi địa chỉ IPv6 có thời gian tồn tại / ưu tiên hợp lệ, khi tôi gán địa chỉ IPv6 toàn cầu cho giao diện LAN dựa trên tiền tố được ủy nhiệm, tôi phải chỉ định không chỉ địa chỉ IPv6 mà còn cả thời gian sống của nó phải được lấy từ ủy quyền tiền tố ưa thích / tuổi thọ hợp lệ?

Ngoài ra, máy chủ radvd và DHCPv6 trên giao diện LAN có thể phải được cấu hình lại khi cấu hình lại DHCPv6 xảy ra? Nên sử dụng móc nào?

[EDIT] Khi cấu hình lại DHCPv6 xảy ra, làm thế nào để thông báo cả thông tin mới và thông tin lỗi thời? radvd tự động thông báo tiền tố trước đã lỗi thời? Máy chủ DHCPv6 tự động thông báo tên máy chủ trước đó đã lỗi thời?

Câu trả lời:


4

Tôi không biết câu trả lời cho câu hỏi của bạn, nhưng tôi chỉ muốn cảnh báo bạn về việc sử dụng địa chỉ máy chủ DHCP làm bộ định tuyến mặc định của bạn. Nếu điều đó hoạt động thì đó là tình cờ ... Trong IPv6, tuyến mặc định được truyền thông bởi RA chứ không phải bởi DHCP.

Bạn sẽ cần kích hoạt chuyển tiếp, chấp nhận RA và gửi RS. Một vấn đề ở đây là kernel có trong Centos6 không cho phép bạn làm điều đó. Khi chuyển tiếp được bật thì chấp nhận RA và gửi RS bị vô hiệu hóa. Nên có một nhân CentosPlus với các bản vá liên quan. Xem chủ đề / tin nhắn danh sách gửi thư tại http://lists.centos.org/pipermail/centos/2011-April/thread.html#109756

Các cài đặt sysctl.conf có liên quan là:

net.ipv6.conf.all.forwarding=1
net.ipv6.conf.eth0.accept_ra=2
net.ipv6.conf.eth0.accept_ra_defrtr=1
net.ipv6.conf.eth0.router_solicitations=1

2
Trên thực tế, bạn muốn accept_ra là 2 (chấp nhận ngay cả khi định tuyến được bật). Nếu không thì kernel bỏ qua nó trên một bộ định tuyến.
Kyle Mông

2
  • Một tuyến mặc định IPv6 phải được thiết lập bằng bất cứ thứ gì có kết nối Internet mặc định (ngược dòng) của bạn, trước khi bạn sử dụng DHCPv6 PD để có được các mạng con bổ sung. Bạn đã không đề cập đến cách bạn thực sự kết nối ngược dòng, vì vậy tôi không thể giúp bạn ở đó.
  • Tôi sử dụng ứng dụng khách WIDE DHCPv6, thay vì ISC, vì vậy tôi không biết cách thực hiện cụ thể, nhưng tôi hy vọng rằng ISC có một cái gì đó tương đương với tùy chọn cấu hình WIDE này:

    id-assoc pd {
        prefix-interface eth0 {
            sla-id 1;
            sla-len 4;
        };
    };
    

    Về cơ bản, bạn nói với máy khách DHCP cách gán mạng con cho các giao diện bên trong; cấu hình trên cho biết "Tôi nhận được 4 bit tiền tố được ủy quyền cho tôi ( sla-len 4), lấy mạng con có sẵn đầu tiên ( sla-id 1) và gán nó cho eth0( prefix-interface eth0).

  • Thiết lập radvd với các interfacekhổ thơ phù hợp (có các ví dụ hay trong radvd.conftrang hướng dẫn để làm việc) và nó sẽ hoạt động.
  • Tôi không thể giúp bạn ở đó; ngoài việc thử nghiệm, tôi không sử dụng dịch vụ DHCPv6 (tôi nhận được tất cả thông tin DHCP từ máy chủ DHCP của mình).

Cảm ơn câu trả lời của bạn. 1. Cách kết nối ngược dòng là chỉ kết nối cáp Ethernet với FTTH GE-PON. Hiện tại, không có cách nào để chỉ định tuyến IPv6 mặc định thông qua DHCPv6, tôi phải xem địa chỉ liên kết cục bộ của máy chủ DHCPv6 là tuyến mặc định.
takaomag

2. Mặc dù tôi không đề cập, lý do tại sao tôi sử dụng ISC dhclient là bộ định tuyến của tôi phải gửi tùy chọn DHCPv6 16 (lớp nhà cung cấp) trong các thông báo yêu cầu và yêu cầu của nhà cung cấp, để có được tùy chọn thông tin cụ thể của nhà cung cấp bao gồm một số Thông tin dành riêng cho ISP (số điện thoại SIP, địa chỉ máy chủ phần sụn). Tôi biết cách đặt tùy chọn 16 trong ISC dhclient, nhưng không biết tùy chọn này trong WIDE-dhcpv6. Và tôi không thể tìm thấy các cài đặt như "id-assoc" trong ISC dhclient.
takaomag

2
3,4. Tôi có thể viết một số tập lệnh kém để xây dựng radvd.conf và dhcpd6.conf dựa trên thông tin (Tiền tố, v.v.) từ máy chủ DHCPv6. Nhưng khi cấu hình lại DHCPv6 xảy ra, làm thế nào để thông báo cả thông tin mới và thông tin lỗi thời? radvd tự động thông báo tiền tố trước đã lỗi thời? Máy chủ DHCPv6 tự động thông báo tên máy chủ trước đó đã lỗi thời?
takaomag

Dù sao, tôi muốn biết kịch bản thực tế.
takaomag

Đừng thêm tất cả thông tin này trong các bình luận về một câu trả lời; thêm nó vào câu hỏi của bạn .
womble

-1

Wombie đã đưa ra câu trả lời tương tự mà tôi sẽ sử dụng để thiết lập radv và định tuyến. Inet6 được thiết kế để tự cấu hình mà không cần máy chủ DHCP.

Tôi không sử dụng DHCPv6 vì nó có thể được xử lý bởi radvd và zeroconf. radvd có thể được cấu hình để cung cấp máy chủ tên và có thể quảng cáo máy chủ từ /etc/resolv.conf. Các phiên bản mới của radvd cũng đã triển khai danh sách tìm kiếm phân phối.

Tôi đã cấu hình avahi-daemon để phân phối dịch vụ tên và máy chủ cho khách hàng. Bạn sẽ cần khách hàng có thể làm khám phá dịch vụ. Tôi chưa thực hiện nhiều thử nghiệm khám phá dịch vụ khi tôi chạy một mạng ngăn xếp kép trên bảng.


Ngay cả khi tôi sử dụng máy chủ DHCPv6 hoặc radvd, tôi phải viết một số tập lệnh để xây dựng dhcpd6.conf hoặc radvd.conf dựa trên thông tin (Tiền tố, v.v.) từ máy chủ DHCPv6. Nhưng khi cấu hình lại DHCPv6 xảy ra, làm thế nào để thông báo cả thông tin mới và thông tin lỗi thời cho máy chủ bên LAN? Nếu tôi xây dựng dhcpd6.conf hoặc radvd.conf mới chỉ dựa trên thông tin mới từ máy chủ DHCPv6, radvd sẽ tự động thông báo tiền tố trước đó đã lỗi thời? Máy chủ DHCPv6 tự động thông báo tên máy chủ trước đó đã lỗi thời?
takaomag

radvd có thể sử dụng tiền tố :: / 64 để tự động lấy địa chỉ từ giao diện. Bạn không cần phải viết lại cấu hình. Máy chủ DNS và danh sách tìm kiếm phải là dữ liệu tĩnh. Cấu hình tự động IPv6 được thiết kế để xử lý các địa chỉ di chuyển. Tôi không biết ISP của bạn hỗ trợ quá trình chuyển đổi tốt như thế nào. Tôi đã không nhìn vào DHCPv6.
BillThor
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.