【JunosE】PPPoEデュアルスタック設定(完成バージョン)

Juniper(JunosE)においてPPPoEデュアルスタックが成功したので、完成バージョンをメモっておきます。
JunosEはとにかく使いづらかったです。。。

初めは簡単にできると思ったんですが、これがなかなか。。。
いろいろ試行錯誤するうちにやっとこさつながりました!

JunosEでPPPoEを構築する際は参考にしてください!

ERXシリーズでPPPoEデュアルスタック設定できました

前回、JunosEに於いて端末にアドレス割り当てはできたのだが、Radiusからアトリビュートで出したDNSv6の情報を割り当てることができなかった。
でも今回原因が分かったので以下にメモっておく。

DNSv6割り当ては”service dhcpv6-local standalone”必須

#DHCPv6クライアントを受け入れる(DNSv6を端末へ割り当ての際は必須!)

service dhcpv6-local standalone

これって何かというと。
#クライアントから見たパケットの流れてとしては、ipv6cpでアドレスもらった後にRAのOtherFlgを見てDHCPv6(option request)を出して、それにBASが応答する
↑(ervice dhcpv6-local standalone コマンドを設定し、有効にしないとDHCPv6(option request)が無視される)


設定コンフィグ

ドメインマップ作成

aaa domain-map [任意の名前]
 auth-router-name default
 ip-router-name default
 ipv6-router-name default

#IPv4に合わせて作成したが最新リリース版ではdefaultのdomain-mapを設定しなくてもいけるようだ。
#別途virtual-routerを使用の際は必須

プロファイル作成

profile TEST
 ip virtual-router default
 ip unnumbered loopback 1
 ip send-cops-request
 ipv6 virtual-router default
 ipv6 unnumbered loopback 1	#IPv6CP:Negotiation on Interface-IDで使用
 ipv6 mtu 1500
 ipv6 sa-validate
 ipv6 nd other-config-flag    #DHCPからRAでアドレスを取得(今回はDNSv6)
 ppp initiate-ipv6              #BASからIPCPv6 ConfReqを開始(必須ではない)
 ppp authentication chap pap
 ppp log pppPacket
 ppp log pppStateMachine
 ppp ipcp prompt-option dns
 pppoe remote-circuit-id
ipv6 sa-validate

このコマンドはパケットが送信元アドレスから送信されたかを確認する。
該当のインターフェースからパケットを受け取った際、ルーティングテーブルを確認し、ルーティングテーブルにない送信元アドレスのパケットであった場合はそのパケットを破棄する。

バーチャルルータを作成

virtual-router default
aaa authentication atm1483 default radius
aaa accounting atm1483 default radius
aaa authentication ip default radius
aaa accounting ip default radius
aaa authentication ipsec default radius
aaa accounting ipsec default radius

aaa ipv6-nd-ra-prefix framed-ipv6-prefix
#Radiusから割り振られたIPv6プレフィックスを端末への割り当てに使用

aaa dhcpv6-delegated-prefix delegated-ipv6-prefix
#Radius認証時にDHCPv6からIPv6プレフィックスを払い出す際に使用
 #RadiusからIPv6プレフィックスを払い出している場合は不要

aaa duplicate-prefix-check enable
aaa authentication ppp default radius
aaa accounting ppp default radius

DHCPv6クライアント有効化

service dhcpv6-local standalone    #DHCPv6クライアントを受け入れる(DNSv6を端末へ割り当ての際は必須!)
ipv6 dhcpv6-local prefix-lifetime 1 0 0 0
#DHCPv6のローカルサーバが委譲されたプレフィックスが有効なデフォルトの有効期間を設定
 #今回はRadiusからIPv6プレフィックスを払い出すので不要だが、service dhcpv6-local standaloneに
デフォルトでついてくる

インターフェース設定

interface loopback 0
 ip address X.X.X.X 255.255.255.255
 ipv6 address XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX/128    #上位向けにループバック設定
!
interface loopback 1
 ip address X.X.X.X 255.255.255.255
 ipv6 address XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX/128	#IPv6CP:Negotiation on Interface-IDで使用
!
interface gigabitEthernet 3/0
 mtu 1522
 encapsulation vlan
!
interface gigabitEthernet 3/0.1
 vlan id 0 untagged
 no ipv6 enable
 ipv6 nd
 pppoe
 pppoe auto-configure
 pppoe remote-circuit-id
 pppoe profile any TEST
!

IPv6有効化

ipv6    #IPv6有効化(必須)
ipv6 address-pool local
!
ipv6 local pool v6
#この上記2つのコマンド設定がないと通信が不安定。端末からのPingが到達不能になったり。(確認必要)

Radius accouting START/STOPにIPv6情報を付加

radius include delegated-ipv6-prefix acct-start enable
radius include framed-ipv6-pool acct-start enable
radius include framed-ipv6-prefix acct-start enable
radius include framed-ipv6-route acct-start enable
radius include ipv6-local-interface acct-start enable
radius include ipv6-nd-ra-prefix acct-start enable
radius include ipv6-primary-dns acct-start enable
radius include ipv6-secondary-dns acct-start enable
radius include ipv6-virtual-router acct-start enable
radius include delegated-ipv6-prefix acct-stop enable
radius include framed-ipv6-pool acct-stop enable
radius include framed-ipv6-prefix acct-stop enable
radius include framed-ipv6-route acct-stop enable
radius include ipv6-local-interface acct-stop enable
radius include ipv6-nd-ra-prefix acct-stop enable
radius include ipv6-primary-dns acct-stop enable
radius include ipv6-secondary-dns acct-stop enable
radius include ipv6-virtual-router acct-stop enable

BASをDHCPv6としてDNSを払い出す際

Radiusから払い出いださず、BASから直接DNSv6を割り当てる設定は以下のとおり

aaa ipv6-dns primary XXXX::1    #RA及びDHCPv6で使用可能
aaa ipv6-dns secondary XXXX::1     #RA及びDHCPv6で使用可能

or

ipv6 dhcpv6-local dns-server XXXX::1    #DHCPv6で使用可能
ipv6 dhcpv6-local dns-server XXXX::1    #DHCPv6で使用可能

まとめ

とりあえず、上記設定をしておけばIPv6アドレス割り当てとDNSv6割り当てができる。
細かいコマンドの意味は後日、追記していきやす。

それでは!




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!