ISP ของฉันเพิ่งเริ่มต้นบริการซ้อนคู่ IPv4 / IPv6 เพื่อเชื่อมต่ออินเทอร์เน็ต IPv4 / IPv6 ผู้ใช้เกือบทั้งหมดมักจะใช้ CPE ที่ ISP ให้เช่า แต่ฉันต้องการใช้เราเตอร์ Linux แทน CPE เช่นนี้เพราะเราเตอร์ของฉันมีบทบาทมากมาย (กฎ iptables จำนวนมากและอินเตอร์เฟสอีเทอร์เน็ต 3 ตัวพร็อกซีย้อนกลับ http, แคช http, memcached, เซิร์ฟเวอร์ smtp / pop และพร็อกซี DNS) ฉันต้องการให้มันเป็นเราเตอร์สแต็คคู่ IPv4 / IPv6
เราเตอร์ของฉัน
- CentOS6.0 i686
- eth0 สำหรับ WAN
- eth1,2 สำหรับ LAN
- ISC dhcp (รุ่น 4.1.1) ติดตั้งโดย "# yum install dhcp" จาก CentOS อัปเดต repo
- ติดตั้ง radvd (รุ่น 1.6) โดย "# yum install radvd" จาก CentOS พื้นฐาน repo
- [แก้ไข] เหตุผลที่ฉันใช้ ISC dhclient คือเราเตอร์ของฉันต้องส่งตัวเลือก DHCPv6 16 (คลาสผู้จำหน่าย) ในการร้องขอและข้อความร้องขอเพื่อรับตัวเลือกข้อมูลเฉพาะของผู้ขายซึ่งรวมถึงข้อมูลเฉพาะของ ISP ( หมายเลขโทรศัพท์ SIP, ที่อยู่เซิร์ฟเวอร์เฟิร์มแวร์) ฉันรู้วิธีการตั้งค่าตัวเลือก 16 ใน ISC dhclient แต่ไม่ทราบใน WIDE-dhcpv6 และฉันไม่พบการตั้งค่าเช่น "id-assoc" ใน ISC dhclient
เป้าหมายของฉัน
- / 48 คำนำหน้ามอบหมายให้ไคลเอ็นต์ DHCPv6-PD (DHCPv6 Prefix Delegation) (dhclient) บน eth0
- เส้นทางเริ่มต้นของ IPv6 ถูกตั้งค่าเป็น ISP ฉันต้องพิจารณาที่อยู่ link-local ของเซิร์ฟเวอร์ DHCPv6 ของ ISP เป็นเส้นทางเริ่มต้น
- ซับเน็ตหนึ่ง / 64 และหนึ่งที่อยู่ร่วมของโลก (ซึ่งอยู่ในคำนำหน้าที่มอบหมาย) ถูกกำหนดให้กับ LAN I / F แต่ละตัว (eth1 / eth2)
- radvd บน eth1 และ eth2 ประกาศ RA ตามซับเน็ตที่ได้รับมอบหมาย / 64
- dhcpd6 บน eth1 และ eth2 ประกาศข้อมูลเครือข่ายเพิ่มเติม (ชื่อเซิร์ฟเวอร์รายการค้นหาโดเมนและที่อยู่เซิร์ฟเวอร์ sip) ที่ได้รับจากเซิร์ฟเวอร์ DHCPv6 ของ ISP
การกำหนดค่าปัจจุบันของฉัน
/ etc / sysconfig / เครือข่าย
NETWORKING=yes
HOSTNAME=xxx.yyy.zzz
# Enable IPv6 routing and stop accept_ra/autoconf.
IPV6FORWARDING=yes
/ etc / sysconfig / เครือข่ายสคริปต์ / 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;
}
ผลลัพธ์
หลังจาก "# เครือข่ายบริการเริ่มต้นใหม่" ไคลเอ็นต์ DHCPv6-PD ดูเหมือนว่าจะเสร็จสิ้นเรียบร้อยแล้ว
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;
}
คำถาม
ไคลเอ็นต์ DHCPv6-PD ได้รับการมอบหมาย / คำนำหน้า 48 ให้สำเร็จ แต่หลังจากนั้น
- วิธีตั้งค่าเส้นทางเริ่มต้นของ IPv6 ในตารางเส้นทางของเราเตอร์
- วิธีกำหนดที่อยู่ IPv6 ส่วนกลางและ / 64 เครือข่ายย่อยให้กับแต่ละ LAN I / F (eth1 และ eth2) ตามคำนำหน้าที่มอบหมาย?
- วิธีทริกเกอร์ radvd เพื่อประกาศ RA ในแต่ละ LAN I / F (eth1 และ eth2)?
- วิธีการทริกเกอร์เซิร์ฟเวอร์ DHCPv6 (dhcpd6) ในแต่ละ LAN I / F เพื่อประกาศข้อมูลเครือข่ายเพิ่มเติม (ชื่อเซิร์ฟเวอร์รายการค้นหาโดเมนและที่อยู่เซิร์ฟเวอร์ sip) ที่ได้รับจากเซิร์ฟเวอร์ DHCPv6 ของ ISP
ฉันเดา
ตามที่ "$ man dhclient" และ "$ man dhclient-script", dhclient-scriptดูเหมือนว่าจะใช้ในการกำหนดค่าการตั้งค่าดังกล่าวและมีตะขอบางอย่าง แต่ตอนนี้ไม่ทำอะไรเลยสำหรับไคลเอ็นต์ DHCPv6-PD
ใช่ฉันอาจต้องเขียนสคริปต์บางอย่างที่เหมาะสมกับสภาพแวดล้อม DHCPv6-PD ของฉันแม้ว่าฉันจะไม่คุ้นเคยกับการกำหนดค่าเครือข่าย IPv6 ใครแจ้งให้ฉันทราบการตั้งค่าข้างต้นใน dhclient-script [แก้ไข] ฉันอยากรู้ dhclient-script ที่ใช้งานได้จริง
และฉันกังวลว่าควรพิจารณาเป็นพิเศษ ตัวอย่างเช่นเนื่องจากที่อยู่ IPv6 แต่ละรายการมีอายุการใช้งานที่ถูกต้อง / เหมาะสมเมื่อฉันกำหนดที่อยู่ IPv6 ทั่วโลกให้กับส่วนต่อประสาน LAN ตามคำนำหน้าที่มอบหมายฉันจึงต้องกำหนดที่อยู่ IPv6 ไม่เพียง แต่ยังอายุการใช้งานที่ต้องได้รับมอบหมาย คำนำหน้าของอายุ / ชีวิตที่ต้องการหรือถูกต้อง?
นอกจากนี้เซิร์ฟเวอร์ radvd และ DHCPv6 บนอินเตอร์เฟส LAN อาจต้องกำหนดค่าใหม่เมื่อการกำหนดค่าใหม่ DHCPv6 เกิดขึ้นหรือไม่ ควรใช้เบ็ดชนิดใด
[แก้ไข] เมื่อการกำหนดค่าใหม่ DHCPv6 เกิดขึ้นจะประกาศข้อมูลใหม่และล้าสมัยอย่างไร Radvd ประกาศคำนำหน้าก่อนหน้าโดยอัตโนมัติล้าสมัยหรือไม่ เซิร์ฟเวอร์ DHCPv6 ประกาศชื่อเซิร์ฟเวอร์ก่อนหน้านี้ล้าสมัยโดยอัตโนมัติหรือไม่