ISP saya baru saja memulai layanan dual stack IPv4 / IPv6. Untuk menghubungkan internet IPv4 / IPv6, hampir semua pengguna biasanya menggunakan CPE yang disewa oleh ISP. Tapi saya ingin menggunakan router Linux saya daripada CPE seperti itu, karena router saya memiliki banyak peran (banyak aturan iptables dan 3 antarmuka Ethernet, http reverse proxy, http cache, memcached, smtp / pop server dan proksi DNS). Saya ingin membiarkannya menjadi router dual stack IPv4 / IPv6.
Router saya
- CentOS6.0 i686
- eth0 untuk WAN
- eth1,2 untuk LAN
- ISC dhcp (versi 4.1.1) diinstal oleh "# yum install dhcp" dari repo CentOS-updates
- radvd (versi 1.6) diinstal oleh "# yum install radvd" dari repo CentOS-base
- [EDIT] Alasan mengapa saya menggunakan dhclient ISC adalah bahwa router saya harus mengirim opsi DHCPv6 16 (kelas Vendor) dalam pesan solicit dan request, untuk mendapatkan opsi informasi khusus vendor yang mencakup beberapa informasi khusus ISP ( Nomor telepon SIP, alamat server firmware). Saya tahu cara mengatur opsi 16 di dhclient ISC, tetapi tidak tahu di WIDE-dhcpv6. Dan saya tidak dapat menemukan pengaturan seperti "id-assoc" di dhclient ISC.
Tujuanku
- / 48 awalan didelegasikan ke klien DHCPv6-PD (DHCPv6 Prefix Delegation) (dhclient) pada eth0.
- Rute default IPv6 diatur ke ISP. Saya harus mempertimbangkan alamat tautan-lokal server DHCPv6 ISP sebagai rute default.
- Satu / 64 subnet dan satu alamat global (yang ada dalam awalan yang didelegasikan) ditugaskan untuk setiap LAN I / F (eth1 / eth2).
- Radvd pada eth1 dan eth2 mengumumkan RA berdasarkan subnet / 64 yang ditugaskan.
- dhcpd6 pada eth1 dan eth2 mengumumkan informasi jaringan tambahan (nama-server, domain-searchlist dan sip-server-address) yang diterima dari server DHCPv6 ISP.
Konfigurasi saya saat ini
/ etc / sysconfig / network
NETWORKING=yes
HOSTNAME=xxx.yyy.zzz
# Enable IPv6 routing and stop accept_ra/autoconf.
IPV6FORWARDING=yes
/ etc / sysconfig / network-scripts / 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;
}
Hasil
Setelah "# service network restart", klien DHCPv6-PD tampaknya berhasil diselesaikan.
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;
}
Pertanyaan
Klien DHCPv6-PD berhasil didelegasikan / 48 awalan. Tapi setelah itu,
- Bagaimana cara menetapkan rute default IPv6 di tabel routing router?
- Bagaimana cara menetapkan alamat IPv6 global dan / 64 subnet untuk setiap LAN I / F (eth1 dan eth2) berdasarkan awalan yang didelegasikan?
- Bagaimana cara memicu radvd untuk mengumumkan RA pada setiap LAN I / F (eth1 dan eth2)?
- Bagaimana memicu server DHCPv6 (dhcpd6) pada setiap LAN I / F untuk mengumumkan informasi jaringan tambahan (nama-server, domain-searchlist, dan sip-server-address) yang diterima dari server DHCPv6 ISP?
Tebakanku
Menurut "$ man dhclient" dan "$ man dhclient-script", skrip dhclient tampaknya digunakan untuk mengonfigurasi pengaturan tersebut, dan ia menawarkan beberapa kait. Tapi sekarang, tidak melakukan apa pun untuk klien DHCPv6-PD.
Ya, saya mungkin harus menulis beberapa skrip yang cocok untuk lingkungan DHCPv6-PD saya, meskipun saya tidak terbiasa dengan konfigurasi jaringan IPv6. Adakah yang memberi tahu saya pengaturan di atas dalam skrip dhclient? [EDIT] Saya ingin tahu script dhclient yang praktis.
Dan saya khawatir, beberapa pertimbangan khusus harus diambil. Misalnya, karena setiap alamat IPv6 lebih disukai / berlaku seumur hidup, ketika saya menetapkan alamat IPv6 global ke antarmuka LAN berdasarkan awalan yang didelegasikan, saya harus menetapkan tidak hanya alamat IPv6 tetapi juga masa pakainya yang harus diturunkan dari yang didelegasikan. awalan lebih disukai / masa hidup yang valid?
Juga, server radvd dan DHCPv6 pada antarmuka LAN mungkin harus dikonfigurasi ulang ketika konfigurasi ulang DHCPv6 terjadi? Kait mana yang harus digunakan?
[EDIT] Ketika konfigurasi ulang DHCPv6 terjadi, bagaimana cara mengumumkan informasi baru dan usang? Radvd secara otomatis mengumumkan awalan sebelumnya sudah usang? Server DHCPv6 secara otomatis mengumumkan server nama sebelumnya sudah usang?