私のISPはIPv4/IPv6デュアルスタックサービスを開始しました。 IPv4/IPv6インターネットに接続するために、ほとんどすべてのユーザーは通常、ISPからリースされたCPEを使用します。しかし、私のルーターは非常に多くの役割を持っているので、このようなCPEの代わりにLinuxルーターを使用したいと思います(多くのiptablesルールと3つのイーサネットインターフェイス、httpリバースプロキシ、httpキャッシュ、memcached、smtp/popサーバー、DNSプロキシ)。 IPv4/IPv6デュアルスタックルーターにしたい。
マイルーター
私の目標
現在の構成
/ 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;
}
結果
「#service network restart」の後、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プレフィックスが正常に委任されました。しかしその後、
私の推測
「$ man dhclient」と「$ man dhclient-script」によると、このような設定にはdhclient-scriptが使用されているようで、フックがいくつかあります。しかし、今はDHCPv6-PDクライアントに対しては何もしません。
はい、IPv6ネットワーク構成に精通していませんが、DHCPv6-PD環境に適したスクリプトをいくつか作成する必要がある場合があります。どなたか、dhclient-scriptの上記の設定を教えてください。 [編集]実用的なdhclient-scriptを知りたい。
そして私は心配します、いくつかの特別な考慮が払われるべきです。たとえば、各IPv6アドレスには優先/有効な有効期間があるため、委任されたプレフィックスに基づいてグローバルIPv6アドレスをLANインターフェイスに割り当てる場合、IPv6アドレスだけでなく、委任から派生する必要があるその有効期間も割り当てる必要があります接頭辞の推奨/有効期間?
また、DHCPv6の再構成が発生したときに、LANインターフェイス上のradvdおよびDHCPv6サーバーを再構成する必要がある場合があります。どのフックを使用する必要がありますか?
[編集] DHCPv6の再構成が発生した場合、新しい情報と古い情報の両方をどのように発表するのですか? radvdは、前のプレフィックスが廃止されたことを自動的に通知しますか? DHCPv6サーバーは、以前のネームサーバーが廃止されたことを自動的に通知しますか?
あなたの質問への答えはわかりませんが、デフォルトのルーターとしてDHCPサーバーアドレスを使用することについて警告します。それが機能する場合、それは偶然です... IPv6では、デフォルトルートはDHCPではなくRAによって通信されます。
転送を有効にし、RAを受け入れ、RSを送信する必要があります。ここでの問題は、Centos6に含まれているカーネルではそれができないことです。転送を有効にすると、RAの受け入れとRSの送信が無効になります。ただし、関連するパッチが適用されたCentosPlusカーネルがあるはずです。 http://lists.centos.org/pipermail/centos/2011-April/thread.html#109756 のメーリングリストのスレッド/メッセージを参照してください
関連するsysctl.conf設定は次のとおりです。
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
ISCではなくWIDE DHCPv6クライアントを使用しているため、具体的な方法がわかりませんが、ISCにはこのWIDE構成オプションと同等のものがあると思います。
id-assoc pd {
prefix-interface eth0 {
sla-id 1;
sla-len 4;
};
};
基本的に、内部インターフェイスにサブネットを割り当てる方法をDHCPクライアントに指示します。上記の設定は、「私に委任された4ビットのプレフィックス(sla-len 4
)を取得し、最初に利用可能なサブネット(sla-id 1
)を取得し、それをeth0
(prefix-interface eth0
)に割り当てます。
interface
スタンザを使用してradvdをセットアップし(radvd.conf
のマニュアルページに適切な例があります)、それで問題なく動作します。Wombieは、radvとルーティングのセットアップに使用するのと同じ答えを出しました。 Inet6は、DHCPサーバーを必要とせずに自己構成を行うように設計されています。
DHCPv6はradvdおよびzeroconfで処理できるため、私はDHCPv6を使用しません。 radvdは、ネームサーバーを提供するように構成でき、/ etc/resolv.confからサーバーをアドバタイズできます。 radvdの新しいバージョンでは、検索リストの配布も実装されています。
ネームサービスとサーバーをクライアントに配布するようにavahi-daemonを構成しました。クライアントがサービスディスカバリを実行できる必要があります。全面的にデュアルスタックネットワークを実行しているため、サービスディスカバリのテストはあまり行っていません。