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

投稿

4月, 2020の投稿を表示しています

プレフィックス長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

IPv4/IPv6 WAN load balancing with Weighted ECMP

前回、前々回はパケットにマーキングすることで振り分けして、ロードバランスを設定してみましたが、比較的新しいLinux KernelにはWeighted ECMP(Equal cost multi path)の機能が入っており、今回はこれだけを利用してIPv4とIPv6のロードバランスをDebian/10 busterにて設定してみました。構成は以下の通りで前回、前々回と変わっていません。 なお、クライアントとenp3s0はIPv6/IPv4のいずれも疎通していること、IPv4/IPv6ともにforwardが有効になっていることが前提ですが、本稿では触れません。 こちらも前回、前々回と同じですが、ネットワークインターフェースの設定は以下のようになります。 #/etc/network/interfaces.d/enp3s0 auto enp3s0 iface enp3s0 inet static address 192.168.255.23 netmask 255.255.255.0 iface enp3s0 inet6 static address fd5b:1234:5678:1350::23/60 #/etc/network/interfaces.d/enp1s0f0 auto enp1s0f0 iface enp1s0f0 inet static address 192.168.1.201 netmask 255.255.255.0 iface enp1s0f0 inet6 static address 240d:8765:4321:1351::23/64 #/etc/network/interfaces.d/enp1s0f1 auto enp1s0f1 iface enp1s0f1 inet static address 192.168.1.202 netmask 255.255.255.0 iface enp1s0f1 inet6 static address 240d:8765:4321:1352::23/64 ゲートウェイの設定は、こちらでは行いません。また、/etc/netowrk/if-up.dでは設定がうまく反映されませんでしたので、rc.localなどを使って最後に実行します。 #!/bin

IPv6 WAN load balancing

IPv4のWANロードバランス設定については、ネット上でいくつかみうけられたのですが、IPv6のWANロードバランシングはほとんど見当たりません。理由はいろいろとあると思うのですが、IPv6の場合、ISPごとにプレフィックスが異なるのは当然ですが、いざロードバランスにて接続となると、ローカルサイトでのIPv4でのプライベートアドレスに該当するULA(ユニーク ローカル ユニキャスト アドレス)を使うのかどうか、プレフィックス変換(NPTv6)でいくのか、それともIPv4と同じようにMasqueradeで行くのか、冗長構成をとるかどうか、といった選択肢がそもそもあり、どれを選択するか煩雑だからだと思います。そこで、本稿では前提として、一般にIPv4でみられるのと同じ様に 1. ULAを採用(=プライベートアドレス) 2.IPv6 Masqueradeを採用 3.冗長構成なし で設定しています。1についても2についてもいろいろと議論の分かれるところですが、とりあえず小規模の接続を前提にロードバランスのみかつ冗長構成なしで今回は投稿していますので予めご了承ください。 さて早速設定です。構成は前回と同じです。 インターフェースの設定は前回と共通 です #/etc/network/interfaces.d/enp3s0 auto enp3s0 iface enp3s0 inet static address 192.168.255.23 netmask 255.255.255.0 iface enp3s0 inet6 static address fd5b:1234:5678:1350::23/60 #/etc/network/interfaces.d/enp1s0f0 auto enp1s0f0 iface enp1s0f0 inet static address 192.168.1.201 netmask 255.255.255.0 iface enp1s0f0 inet6 static address 240d:8765:4321:1351::23/64 #/etc/network/interfaces.d/enp1s0f1 auto enp1s0f1 iface enp1s0f1 inet static address

IPv4 WAN load balancing

IPv4でWANロードバランシングルータをマーキングをつかいDebian10/Busterにて設定してみました。構成は以下の通りです。なお、冗長構成は今回含んでいませんのであらかじめご了承ください。 早速、構成ですが、クライアントマシンがenp3s0に対してipv6とipv4で接続できていること、フォワードができていることが前提ですが、ここでは割愛します。 まずはネットワークインターフェースの設定をしておきます。 #/etc/network/interfaces.d/enp3s0 auto enp3s0 iface enp3s0 inet static address 192.168.255.23 netmask 255.255.255.0 iface enp3s0 inet6 static address fd5b:1234:5678:1350::23/60 #/etc/network/interfaces.d/enp1s0f0 auto enp1s0f0 iface enp1s0f0 inet static address 192.168.1.201 netmask 255.255.255.0 iface enp1s0f0 inet6 static address 240d:8765:4321:1351::23/64 #/etc/network/interfaces.d/enp1s0f1 auto enp1s0f1 iface enp1s0f1 inet static address 192.168.1.202 netmask 255.255.255.0 iface enp1s0f1 inet6 static address 240d:8765:4321:1352::23/64 見てわかるように、どのインターフェースでもgatewayの設定はここでは行いません。gatewayの設定+αはこちらで行います。自動実行されるようにchmod +xしておいてください。 #/etc/network/if-up.d/0000-v4-lb #!/bin/sh ip route add default proto static metric 20 \ nexthop via 192.168.1.2 dev enp