Juniper SRX でフレッツに接続する
前提条件
- フレッツ光ネクストに契約している
- ひかり電話を契約している(+¥500/月)
- ひかり電話を収容する(電話として利用する)
- IPv6 は IPoE (AsahiNet IPv6接続機能 (IPoE接続))を利用する
- IPv4 は IPv4 over IPv6 (AsahiNet v6コネクト 固定IP(IPIP))を利用する
検証機種
r00t@SRX340> show version
Hostname: SRX340
Model: srx340
Junos: 23.2R2.21
JUNOS Software Release [23.2R2.21]
r00t@SRX340>
構成
- 物理I/F構成
- ge-0/0/0 LAN側
- ge-0/0/7 WAN側 (HGWのWANポート)
- ge-0/0/8 WAN側 (小型ONU)
- 論理I/F構成
- VLAN-3967=irb.3967 (WAN側VLAN)
- VLAN-0001=irb.0 (LAN側VLAN)
★ひかり電話の設定
- ひかり電話はWAN側からIPv4のDHCPで/30のアドレスを取得する必要がある
- Flet's回線ではInterfaceをブリッジさせるとIPv4 アドレスをDHCPで取得できる
WAN側Interfaceの設定
- 今回は小型ONUで終端しかつ、ひかり電話用にWANポートを用意する必要があるため専用のVLANを用意して対応する(HUBを挟まない構成)
VLANの設定
set vlans VLAN-3967 vlan-id 3967
set vlans VLAN-3967 l3-interface irb.3967
set interfaces irb unit 3967 description "Flet's_East"
Interfaceの紐づけ
set interfaces ge-0/0/7 unit 0 family ethernet-switching vlan members VLAN-3967
set interfaces ge-0/0/8 unit 0 family ethernet-switching vlan members VLAN-3967
セキュリティゾーンの設定
-
Untrust
ゾーンにirb.3967
を紐づける - SRX自身でONU(
irb.3967
)からDHCPを取得できるようにする
set security zones security-zone Untrust interfaces irb.3967 host-inbound-traffic system-services dhcp
DHCPの確認
-
irb.3967
に対して StateがBOUND
になっていること -
irb.3967
に対して DHCP options でNTT[EAST|WEST]-NGNのアドレスが/30
で降ってきていればOK
r00t@SRX340> show dhcp client binding detail
Client Interface/Id: irb.3967
Hardware Address: XX:XX:XX:XX:XX:XX
State: BOUND(LOCAL_CLIENT_STATE_BOUND)
Lease Expires: 2024-04-04 22:41:56 JST
Lease Expires in: 11536 seconds
Lease Start: 2024-04-04 18:41:56 JST
Server Identifier: XXX.XXX.XXX.XXX
Client IP Address: XXX.XXX.XXX.XXX
Update Server No
DHCP options:
Name: dhcp-lease-time, Value: 4 hours
Name: server-identifier, Value: XXX.XXX.XXX.XXX
Name: router, Value: [ XXX.XXX.XXX.XXX ]
Name: subnet-mask, Value: 255.255.255.252
r00t@SRX340>
ここまでの作業で電話は使えるはず
117
で時報が聞ければOK
177
で天気予報も聞けるよ
★IPoEの設定
- DHCPv6-PDでprefixを受け取る
- ひかり電話を契約していると
/56
でIPv6アドレスが割り振られるのでDHCPv6-PDでprefixを受け取る
- ひかり電話を契約していると
IPv6機能の有効化
- デフォルトではIPv6の機能が無効化されているため有効化させる(要再起動)
set security forwarding-options family inet6 mode flow-based
Interfaceの設定
set interfaces irb unit 3967 family inet6 dhcpv6-client client-type stateful
set interfaces irb unit 3967 family inet6 dhcpv6-client client-ia-type ia-pd
set interfaces irb unit 3967 family inet6 dhcpv6-client client-identifier duid-type duid-ll
set interfaces irb unit 3967 family inet6 dhcpv6-client req-option dns-server
set interfaces irb unit 3967 family inet6 dhcpv6-client req-option domain
set interfaces irb unit 3967 family inet6 dhcpv6-client req-option ntp-server
set interfaces irb unit 3967 family inet6 dhcpv6-client req-option sip-server
firewall filterの設定
- HGW用に設定した
irb.3967 (ge-0/0/7)
にDHCPv6-PDでIPv6アドレスの経路情報を奪い取ってこないようfirewall filterでIPv6パケットを落とす必要がある
set firewall family ethernet-switching filter discard-ipv6 term ipv6 from ether-type ipv6
set firewall family ethernet-switching filter discard-ipv6 term ipv6 then discard
set firewall family ethernet-switching filter discard-ipv6 term others then accept
set interfaces ge-0/0/7 unit 0 family ethernet-switching filter input discard-ipv6
セキュリティゾーンの設定
-
Untrust
ゾーンにirb.3967
を紐づける - SRX自身でONU(
irb.3967
)からDHCPv6を取得できるようにする
set security zones security-zone Untrust interfaces irb.3967 host-inbound-traffic system-services dhcpv6
DHCPv6の確認
-
irb.3967
に対して StateがBOUND
になっていること -
irb.3967
に対して Client IP Prefixが/56
でもらっていればOK
r00t@SRX340> show dhcpv6 client binding detail
Client Interface/Id: irb.3967
Hardware Address: XX:XX:XX:XX:XX:XX
State: BOUND(DHCPV6_CLIENT_STATE_BOUND)
ClientType: STATEFUL
Lease Expires: 2024-04-04 22:39:30 JST
Lease Expires in: 11737 seconds
Lease Start: 2024-04-04 18:39:30 JST
Bind Type: IA_PD
Preferred prefix length 0
Sub prefix length 0
Client DUID: LL0x3-10:39:XX:XX:XX:XX
Rapid Commit: Off
Server Identifier: fe80::221:d8ff:XXXX:XXXX
Client IP Prefix: XXXX:XXXX:XXXX:XXXX::/56
DHCP options:
Name: server-identifier, Value: LL0x1-00:0d:5e:xx:xx:xx
Name: sip-server-list, Value: XXXX:XXX:XXXX:XXXX::X
Name: dns-recursive-server, Value: XXXX:XXX:XXXX:X::X,XXXX:XXX:XXXX:X::X
Name: domain-serch-list, Value: flets-eastjpiptvfjp
Name: sntp, Value: XXXX:XXX:XXX::X,XXXX:XXX:XXX::X
r00t@SRX340>
default gateway用のアドレスをRAで取得する
- ONU(
irb.3967
)からRAを受け取りdefault gatewayを設定
set protocols router-advertisement interface irb.3967 passive-mode
RAの確認
-
irb.3967
に対してfe80::
から始まるリンクローカルアドレスがAdvertisement されていればOK - Advertisement された
fe80::
から始まるリンクローカルアドレスをメモしておく
r00t@SRX340> show ipv6 router-advertisement interface irb.3967
Interface: irb.3967
Advertisements sent: 12, last sent 00:05:30 ago
Solicits sent: 1, last sent 01:02:40 ago
Solicits received: 0
Advertisements received: 44
Solicited router advertisement unicast: Disable
IPv6 RA Preference: DEFAULT/MEDIUM
Passive mode: Disable
Upstream mode: Disable
Downstream mode: Disable
Proxy blackout timer: Not Running
Advertisement from fe80::221:d8ff:XXXX:XXXX, heard 00:02:21 ago
Managed: 1 [0]
Other configuration: 1 [0]
Link MTU: 1500 bytes
Reachable time: 300000 ms
Default lifetime: 1800 sec
Retransmit timer: 10000 ms
Current hop limit: 64
r00t@SRX340>
default gatewayの設定
- Advertisement された
fe80::
から始まるリンクローカルアドレスをdefault gatewayとして
qualified-next-hop
で指定しInterfaceはirb.3967
を指定する
set routing-options rib inet6.0 static route ::/0 qualified-next-hop fe80::221:d8ff:XXXX:XXXX interface irb.3967
default route の確認
-
::/0(default route)
の [Static/5] に設定したfe80::
から始まるリンクローカルアドレスが via がirb.3967
をならOK
r00t@SRX340> show route table inet6.0
inet6.0: 7 destinations, 8 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
::/0 *[Static/5] 01:10:08
> to fe80::221:d8ff:XXXX:XXXX via irb.3967
[Access-internal/12] 01:07:09
> to fe80::221:d8ff:XXXX:XXXX via irb.3967
XXXX:XXXX:XXXX:XXXX::/56
*[Access-internal/12] 01:10:07
Reject
<省略>
r00t@SRX340>
LANに対してprefixを広告する
- DHCPv6-PDで受け取ったprefixを- LAN側(
irb.0
)ンターフェースに広告する
set interfaces irb unit 3967 family inet6 dhcpv6-client update-router-advertisement interface irb.0
set interfaces irb unit 3967 family inet6 dhcpv6-client update-router-advertisement interface irb.0 managed-configuration
set interfaces irb unit 3967 family inet6 dhcpv6-client update-router-advertisement interface irb.0 other-stateful-configuration
# RAを使ったDNSサーバの配布の設定
set interfaces irb unit 3967 family inet6 dhcpv6-client update-router-advertisement interface irb.0 enable-recursive-dns-server-option
確認
- LAN側(
irb.0
)に対してfe80::
から始まるリンクローカルアドレスがAdvertisement されていればOK
r00t@SRX340> show ipv6 router-advertisement interface irb.0
Interface: irb.0
Advertisements sent: 10, last sent 00:07:00 ago
Solicits sent: 1, last sent 00:54:22 ago
Solicits received: 0
Advertisements received: 76
Solicited router advertisement unicast: Disable
IPv6 RA Preference: DEFAULT/MEDIUM
Passive mode: Disable
Upstream mode: Disable
Downstream mode: Disable
Proxy blackout timer: Not Running
Advertisement from fe80::d6d7:48ff:fe67:66c0, heard 00:02:14 ago
Managed: 0 [1]
Other configuration: 0 [1]
Link MTU: 1500 bytes
Reachable time: 0 ms
Default lifetime: 1800 sec
Retransmit timer: 0 ms
Current hop limit: 64
r00t@SRX340>
DHCPv6の確認
-
irb.0
に対して グローバルなRA Prefix が払い出されていればOK
r00t@SRX340> show dhcpv6 client binding detail
Client Interface/Id: irb.3967
Hardware Address: XX:XX:XX:XX:XX:XX
State: BOUND(DHCPV6_CLIENT_STATE_BOUND)
ClientType: STATEFUL
Lease Expires: 2024-04-04 22:39:30 JST
Lease Expires in: 11737 seconds
Lease Start: 2024-04-04 18:39:30 JST
Bind Type: IA_PD
Preferred prefix length 0
Sub prefix length 0
Client DUID: LL0x3-10:39:XX:XX:XX:XX
Rapid Commit: Off
Server Identifier: fe80::221:d8ff:XXXX:XXXX
Client IP Prefix: XXXX:XXXX:XXXX:XXXX::/56
DHCP options:
Name: server-identifier, Value: LL0x1-00:0d:5e:xx:xx:xx
Name: sip-server-list, Value: XXXX:XXX:XXXX:XXXX::X
Name: dns-recursive-server, Value: XXXX:XXX:XXXX:X::X,XXXX:XXX:XXXX:X::X
Name: domain-serch-list, Value: flets-eastjpiptvfjp
Name: sntp, Value: XXXX:XXX:XXX::X,XXXX:XXX:XXX::X
Update RA interfaces:
Interface: irb.0
RA Prefix: XXXX:XXXX:XXXX:XXXX::/64
r00t@SRX340>
ここまでの作業でIPv6でのインターネットは使えるようになるはず
★IPv4 over IPv6 (AsahiNet v6connect IPIP)の設定
-
AsahiNetのマイページ で
AFTRエンドポイントIPv6アドレス
/インターフェースID
/固定IPv4アドレス
を確認しておく - DHCPv6 でもらっているアドレス空間を控えておく
- source address は DHCPv6 でもらっているアドレスの
::
より前のアドレスにインターフェースID
を足したアドレスになる
- source address は DHCPv6 でもらっているアドレスの
tunnel Interfaceの設定
set interfaces ip-0/0/0 unit 0 description AsahiNet_v6connect_IP-IP
set interfaces ip-0/0/0 unit 0 tunnel source <上記で確認したアドレス>
set interfaces ip-0/0/0 unit 0 tunnel destination <AFTRエンドポイントIPv6アドレス>
set interfaces ip-0/0/0 unit 0 family inet address <固定IPv4アドレス>/32
RAでLAN側 Interfaceへ配布するアドレスの設定
set interfaces irb unit 3967 family inet6 dhcpv6-client update-router-advertisement interface irb.0 interface-identifier <AFTRエンドポイントIPv6アドレス>
set interfaces irb unit 3967 family inet6 dhcpv6-client update-router-advertisement interface irb.0 prefix-identifier <インターフェースID>
set interfaces irb unit 3967 family inet6 dhcpv6-client update-router-advertisement interface irb.0 managed-configuration
set interfaces irb unit 3967 family inet6 dhcpv6-client update-router-advertisement interface irb.0 other-stateful-configuration
set interfaces irb unit 3967 family inet6 dhcpv6-client update-router-advertisement interface irb.0 enable-recursive-dns-server-option
IPアドレスがInterfaceに割り当てられているかを確認
r00t@SRX340> show interfaces terse
Interface Admin Link Proto Local Remote
<省略>
ip-0/0/0 up up
ip-0/0/0.0 up up inet <固定IPアドレス>/32 --> 0/0
ipip up up
irb up up
irb.0 up up inet <LAN側アドレス>/24
inet6 <tunnel source アドレス/64
fe80::1239:xxxx:xxxx:xxxx/64
irb.3967 up up inet6 fe80::1239:xxxx:xxxx:xxxx/64
<省略>
r00t@SRX340>
セキュリティゾーンの設定
-
Untrust
ゾーンにip-0/0/0.0
を紐づける - SRX自身でInternet(
ip-0/0/0.0
)から必要な通信ができるようにする
set security zones security-zone Untrust interfaces ip-0/0/0.0 host-inbound-traffic system-services dns
set security zones security-zone Untrust interfaces ip-0/0/0.0 host-inbound-traffic system-services ping
set security zones security-zone Untrust interfaces ip-0/0/0.0 host-inbound-traffic system-services ike
default route の設定
set routing-options static route 0.0.0.0/0 next-hop ip-0/0/0.0
default route の確認
-
0.0.0.0/0(default route)
の [Static/5] に via がip-0/0/0.0
とあればOK
r00t@SRX340> show route
inet.0: 9 destinations, 10 routes (9 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
0.0.0.0/0 *[Static/5] 01:46:23
> via ip-0/0/0.0
[Access-internal/12] 01:43:49, metric 0
<省略>
r00t@SRX340>
NATの設定
- Trust → Untrust な通信はNATするようにする NAT先は
0.0.0.0/0
なのでip-0/0/0.0
に設定しているIPv4アドレス
set security nat source rule-set Trust-to-Untrust from zone Trust
set security nat source rule-set Trust-to-Untrust to zone Untrust
set security nat source rule-set Trust-to-Untrust rule source-nat-rule match source-address 0.0.0.0/0
set security nat source rule-set Trust-to-Untrust rule source-nat-rule then source-nat interface
ここまでの作業でIPv4でのインターネットは使えるようになるはず