スキップしてメイン コンテンツに移動

投稿

ラベル(DHCPv6-PD)が付いた投稿を表示しています

MAP-E: DHCPv6-PDにて取得したPREFIXからbashスクリプトにて各種パラメータを自動計算

前回 、 前々回 は、すでに計算済みのmap-eルールをDebian ルータの起動時に読み込ませていましたが、 javascriptで書かれた計算ページ のjavascriptソースをbashスクリプトに書き換え、各種パラメータを自動計算できるようにしてみました。環境は通信が、OCNバーチャルコネクトで、OSはDebianです。(v6Plusでも自動計算できる範囲であれば対応できると思います。) 追記2:ルータ自体からさらにサブネットルータにPDできるようにしました。 なお、今回の設定は、GUA(IPv4でいうグローバルアドレス)をLAN側に割り当てる設定であり、firewallの設定も入れていませんので、注意してください。 今回の設定は、以下のgw1の部分です。 以下、今回のスクリプトおよびインターフェースの設定等です。 ## 0-1a. WAN側インターフェス auto enp1s0f1 iface enp1s0f1 inet6 auto dhcp 1 request_prefix 1 ## 0-1b. LAN側インターフェス auto enp1s0f0 iface enp1s0f0 inet6 manual iface enp1s0f0 inet static address 192.168.1.1 netmask 255.255.255.0 追記3:forward設定をしている場合、外側インターフェースがaccept_ra=2でないとraにてgatewayが設定されない点を修正しました。 ## 0-2. forward設定(/etc/sysctl.conf) net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1 net.ipv6.conf.enp1s0f1.accept_ra=2 追記1:wan interfaceが自動でupされず、dhclientとdhcpdが正常に呼び出されない場合があります。おそらくタイミングの問題だと思いますが、その場合、/etc/rc.localに以下を追記してください。 ## 0-3. /etc/rc.local (chmod +x) ifup enp1s0f1 sleep 10 /etc/init.d/...

プレフィックス長64以外をDHCPv6で割り当てる

RAを使った自動割り当ては、プレフィクス長64bitだけであり、当然ながら、64bit以外には自動割り当てはできません。 RFC7421で推奨される/64のサブネットですが、実際のネットワークを組む時、一サブネットに64ビット分の端末がつながるとして、そんな巨大なサブネットワークはまともに動かないことは、言わなくてもわかると思います。 ところが、DHCPv6を使うと64bitだけでなく、ほかのプレフィックス長でも割り当てができますし、フレッツ光で光電話なしの場合、(ndppdは必要になりますが)64bit以上、たとえば80bitのプレフィックス長のサブネットをさらに8bit(256-1=255台)分のサブルータに振り分けるといった場合、つまり、80+8=88ビットマスクのprefix-delegationで40bit(32+8bit)台数分接続できるサブネットを255つくる場合)、isc-dhcp-serverでは次のように設定することができます。(実際にはこれでも大きすぎると思いますが...) subnet6 fd00:1234:5678:abcd:cafe::/80 { option dhcp6.name-servers 2606:4700:4700::1111, 2606:4700:4700::1001; option dhcp6.domain-search "your-net"; range6 fd00:1234:5678:abcd:cafe::1 fd00:1234:5678:abcd:cafe::ff; prefix6 fd00:1234:5678:abcd:cafe:100:: fd00:1234:5678:abcd:cafe:ff00:: /88; } 96bitのプレフィックス長のサブネットをさらに8bit分のサブルータに振り分ける場合(96+8=104ビットのprefix-delegationで24bit台数分(16,777,216台)接続できるサブネットを255作る場合)は以下のようになります。(これでも大きすぎますね。) subnet6 fd00:1234:5678:abcd:cafe:feed::/96 { option d...