大雪山 銀線台 


Date/Time: 2015:09:21 07:56:50
Camera: PENTAX
Model: PENTAX K-5 II s
Exporsure Time: 1/160
FNumber: 9.0
Aperture Value: 6.3
Focal Length: 21.0

Close

y2blog » UPnP/OpenHome Music Server の自作(その5)

8

18

2018

UPnP/OpenHome Music Server の自作(その5)

APU2C4をルータとして機能させる(テスト編)


IP routing test
ネットワークオーディオセグメントにPCを繋いで実験してみる


実験君


IPパケット転送処理が有効になったところで、先ずは実際に APU2C4 のネットワークオーディオ側のインタフェース “eth1″ にPCをつないで、家庭内LAN側(”eth0″ )と”eth1” 間で IPルーティングが行えるかどうか試して見ることにしよう.



APU2C4-Audio-Router-Test-Environment
実験環境の概要

MB13 IP Settings
テスト用PCはIPを固定で設定している

今回の実験環境は一般的な家庭環境と類似しているとは言えないが、一般家庭に導入されているブロードバンドルータが行っていることとほぼ同じような環境になっているはずだ.LAN内にDNSサーバやDHCPサーバが単独でたてられているだけなので、LAN側の構成は気にする必要はない.


テスト用のPCには、予め IPアドレス: 192.168.10.101(255.255.255.0)、デフォルトルート: 192.168.10.254、DNSサーバ: 192.168.100.11 を設定してある.デフォルトルートは当然ながら APU2C4の “eth1″ (192.168.10.254) である.LAN側の”eth0” はDHCPサーバにより、今回は192.168.100.161が割り当てられている.APU2C4自体はLAN側のDHCPサーバから、デフォルトルート:192.168.100.254、DNSサーバ: 192.168.100.11, 192.168.100.20 が設定されている.



[root@jukebox2 ~]# nmcli device show eth0
GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         00:0D:B9:42:E9:40
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     eth0
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveCo
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.100.161/24
IP4.GATEWAY:                            192.168.100.254
IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.100.254, m
IP4.ROUTE[2]:                           dst = 192.168.100.0/24, nh = 0.0.0.0, mt
IP4.DNS[1]:                             192.168.100.11
IP4.DNS[2]:                             192.168.100.20
IP4.DOMAIN[1]:                          home.yoko
IP6.GATEWAY:                            --
[root@jukebox2 ~]# 

この状態でテスト用PCから、APU2C4の “eth1″ (192.168.10.254)とLAN側の”eth0” (192.168.100.161)とLAN内のDNSサーバ(192.168.100.11)、Synology NAS(192.168.100.20)、iMac(192.168.100.77)、インターネットルータ IX-2215(192.168.100.254)などにpingを打ってみる.



MB13W:~ yasuaki$ ifconfig
lo0: flags=8049 mtu 16384
	inet 127.0.0.1 netmask 0xff000000 
	inet6 ::1 prefixlen 128 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
gif0: flags=8010 mtu 1280
stf0: flags=0<> mtu 1280
fw0: flags=8863 mtu 2030
	lladdr 00:16:cb:ff:fe:d5:59:be 
	media: autoselect 
	status: inactive
en1: flags=8863 mtu 1500
	ether 00:16:cb:b8:f4:80 
	media: autoselect ()
	status: inactive
en0: flags=8863 mtu 1500
	ether 00:16:cb:8f:24:6c 
	inet6 fe80::216:cbff:fe8f:246c%en0 prefixlen 64 scopeid 0x6 
	inet 192.168.10.101 netmask 0xffffff00 broadcast 192.168.10.255
	media: autoselect (1000baseT )
	status: active
MB13W:~ yasuaki$ netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.10.254     UGSc            2        2     en0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              0        0     lo0
169.254            link#6             UCS             0        0     en0
192.168.10         link#6             UCS             3        0     en0
192.168.10.11      link#6             UHRLWI          6      104     en0
192.168.10.101     127.0.0.1          UHS             0        0     lo0
192.168.10.254     0:d:b9:42:e9:41    UHLWI           3        3     en0   1166


MB13W:~ yasuaki$ ping 192.168.10.254     <== APU2C4の"eth1" 
PING 192.168.10.254 (192.168.10.254): 56 data bytes
64 bytes from 192.168.10.254: icmp_seq=0 ttl=64 time=0.299 ms
64 bytes from 192.168.10.254: icmp_seq=1 ttl=64 time=0.231 ms
64 bytes from 192.168.10.254: icmp_seq=2 ttl=64 time=0.249 ms
^C
--- 192.168.10.254 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.231/0.260/0.299/0.029 ms
MB13W:~ yasuaki$ ping 192.168.100.161       <== APU2C4の"eth0" 
PING 192.168.100.161 (192.168.100.161): 56 data bytes
64 bytes from 192.168.100.161: icmp_seq=0 ttl=64 time=0.294 ms
64 bytes from 192.168.100.161: icmp_seq=1 ttl=64 time=0.243 ms
^C
--- 192.168.100.161 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.243/0.268/0.294/0.026 ms
^C
MB13W:~ yasuaki$ ping 192.168.20.254  <== APU2C4の"eth2" 
PING 192.168.20.254 (192.168.20.254): 56 data bytes
64 bytes from 192.168.20.254: icmp_seq=0 ttl=64 time=0.369 ms
64 bytes from 192.168.20.254: icmp_seq=1 ttl=64 time=0.251 ms
^C
--- 192.168.20.254 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.251/0.310/0.369/0.059 ms
MB13W:~ yasuaki$ ping 192.168.100.11
PING 192.168.100.11 (192.168.100.11): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
^C
--- 192.168.100.11 ping statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss
MB13W:~ yasuaki$ ping 192.168.100.20 
PING 192.168.100.20 (192.168.100.20): 56 data bytes
Request timeout for icmp_seq 0
^C
--- 192.168.100.20 ping statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss
MB13W:~ yasuaki$ ping 192.168.100.254
PING 192.168.100.254 (192.168.100.254): 56 data bytes
Request timeout for icmp_seq 0
^C
--- 192.168.100.254 ping statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss
MB13W:~ yasuaki$ ping 192.168.100.77
PING 192.168.100.77 (192.168.100.77): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
^C
--- 192.168.100.77 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
MB13W:~ yasuaki$ 

テストPCから送ったpingの応答が帰ってきたのは、何れもAPU2C4の3つのインターフェースに割り当てられたIPアドレスのみである.他のIPアドレスは全く反応がない.とりあえず、APU2C4の他のインタフェースにはpingが通っているので、Linuxカーネルのパケット転送はきちんと行われていることは確認できたことになる.


この結果をどう見れば良いだろうか?ネットワークの知識を持っている人であれば、このような現象が起きた原因は考えるまでも無くわかることなのだが、一般のPCオタク程度のスキルではこの問題を解決することは難しいだろう.


結論から言えば、APU2C4以外の機器はテストPCのIPアドレスに対して返答しようとしても、テストPCが存在するネットワークに関する情報を何も持ち合わせていないので返答できないのである.正確に言えば、一応応答パケットは送り返してはいるのだが、テストPCのIPアドレスに対する送り先(Next Hop)情報がないので、とりあえずデフォルトルート側のルータIX-2215(この場合は 192.168.100.254)に送り返しているのである.


勿論、ルータIX-2215にもテストPCのネットワークルート情報が存在しないので、ここでパケットのは立ち往生してしまう.プライベートIPアドレスなのでインターネット側にも出て行けないので、ここで一定時間後に消滅してしまうことになる.


この問題を解決するには大きく分けて2つの方法があり、一つは各PCやネットワーク機器がテストPCのネットワークに関するルーティング情報を持つことで、もう一つはデフォルトルータ先のルータにテストPCのネットワークに関するルーティング情報を登録する方法だ.


先ずは、iMac(192.168.100.77)にテストPCのネットワーク(192.168.10.0/24)のルーティング情報を登録してみることにしよう.勿論、ルーティング情報を登録していない状態では、iMac側からもテストPCへはpingが通らない.



iMac27:~ yasuaki$ ping 192.168.10.101
PING 192.168.10.101 (192.168.10.101): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
^C
--- 192.168.10.101 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
iMac27:~ yasuaki$ 

iMac27:~ yasuaki$ sudo route add 192.168.10.0/24 192.168.100.161
add net 192.168.10.0: gateway 192.168.100.161

iMac27:~ yasuaki$ netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.100.254    UGSc           44        0     en0
default            192.168.101.254    UGScI           0        0   vlan0
default            192.168.200.1      UGScI           0        0   vlan2
default            192.168.102.254    UGScI           0        0   vlan1
default            192.168.201.254    UGScI           0        0   vlan3
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              2   832612     lo0
169.254            link#7             UCS             0        0     en0
169.254            link#14            UCSI            0        0   vlan0
169.254            link#15            UCSI            0        0   vlan2
169.254            link#16            UCSI            0        0   vlan1
169.254            link#17            UCSI            0        0   vlan3
192.168.10         192.168.100.161    UGSc            0        0     en0 <==追加されたルーティング情報
192.168.100        link#7             UCS             6        0     en0
192.168.100.11     98:5a:eb:df:be:26  UHLWIi         21    19256     en0    803
192.168.100.77/32  link#7             UCS             0        0     en0
192.168.100.153    88:1f:a1:2a:ca:bf  UHLWI           0        0     en0   1158
192.168.100.159    0:16:cb:b8:f4:80   UHLWIi          1    14288     en0      3
192.168.100.161    link#7             UHLWIi          1        0     en0
192.168.100.199    link#7             UHLWI           0        2     en0
192.168.100.254/32 link#7             UCS             1        0     en0
192.168.100.254    0:60:b9:e3:db:81   UHLWIir         2        0     en0   1133
192.168.101        link#14            UCS             1        0   vlan0
192.168.101.1      44.3.a7.1.7d.24    UHLWIi          1        1   vlan0    102
192.168.101.151/32 link#14            UCS             0        0   vlan0
192.168.101.254/32 link#14            UCS             1        0   vlan0
192.168.101.254    link#14            UHLWIir         1        0   vlan0
192.168.102        link#16            UCS             1        0   vlan1
192.168.102.1      44.3.a7.1.7d.25    UHLWIi          1        1   vlan1    102

...

iMac27:~ yasuaki$ ping 192.168.10.101    <== iMac側からテストPCへping
PING 192.168.10.101 (192.168.10.101): 56 data bytes
64 bytes from 192.168.10.101: icmp_seq=0 ttl=63 time=1.123 ms
64 bytes from 192.168.10.101: icmp_seq=1 ttl=63 time=0.693 ms
64 bytes from 192.168.10.101: icmp_seq=2 ttl=63 time=0.679 ms
^C
--- 192.168.10.101 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.679/0.832/1.123/0.206 ms

今度は、テストPC側からiMacへpingを送ってみる.



MB13W:~ yasuaki$ ping 192.168.100.77
PING 192.168.100.77 (192.168.100.77): 56 data bytes
64 bytes from 192.168.100.77: icmp_seq=0 ttl=64 time=2.393 ms
64 bytes from 192.168.100.77: icmp_seq=1 ttl=64 time=8.279 ms
64 bytes from 192.168.100.77: icmp_seq=2 ttl=64 time=24.579 ms
^C
--- 192.168.100.77 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 2.393/11.750/24.579/9.384 ms
MB13W:~ yasuaki$ 
^C
--- 192.168.100.77 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.659/0.735/0.770/0.039 ms
MB13W:~ yasuaki$ ping 192.168.100.11
PING 192.168.100.11 (192.168.100.11): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
^C
--- 192.168.100.11 ping statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss
MB13W:~ yasuaki$ 

iMacからはpingの応答が帰ってくるようにはなったが、他は相変わらず応答がない.


この結果からわかるように、通信相手毎に自分宛のルーティング情報を設定して貰わなければならないのでとても面倒だ.通信相手が複数有る場合は非現実的な方法で有ることが理解できるだろう.


もう一つのデフォルトルータ側でテストPCのネットワークへのルーティング情報を登録してみるとどうなるのか見て見よう.



iMac27:~ yasuaki$ ssh -l xxxxx 192.168.201.254  <== IX-2215の管理コンソールへsshでログイン
xxxxxx@192.168.201.254's password: 

NEC Portable Internetwork Core Operating System Software
Copyright Notices:
Copyright (c) NEC Corporation 2001-2017. All rights reserved.
Copyright (c) 1985-1998 OpenROUTE Networks, Inc.
Copyright (c) 1984-1987, 1989 J. Noel Chiappa.
IP Routing Table - 7 entries, 1 hidden, 2040 frees
Entries: 5 Connected, 2 Static, 0 RIP, 0 OSPF, 0 BGP
Codes: C - Connected, S - Static, R - RIP, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, B - BGP
       * - Candidate default, s - Summary
Timers: Age
S*   0.0.0.0/0 [1/1] is directly connected, Tunnel0.0, 6d5h31m50s
     10.0.0.0/8 is subnetted, 1 subnets
S      10.11.12.0/24 [1/1] via 192.168.100.1, GigaEthernet2:1.1, 6d5h31m50s
C    192.168.100.0/24 [0/1] is directly connected, GigaEthernet2:1.1, 6d6h36m2s
C    192.168.101.0/24 [0/1] is directly connected, GigaEthernet2:1.2, 6d6h36m2s
C    192.168.102.0/24 [0/1] is directly connected, GigaEthernet2:1.3, 6d6h36m2s
C    192.168.200.0/24 [0/1] is directly connected, GigaEthernet2:1.4, 6d6h36m2s
C    192.168.201.0/24 [0/1] is directly connected, GigaEthernet2:1.5, 6d6h36m2s

ix2215# ping 192.168.10.101                       <== テストPCへping
PING 192.168.100.254 > 192.168.10.101 56 data bytes

--- 192.168.10.101 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss
ix2215# 
ix2215# config t      <== 設定モードへ
Enter configuration commands, one per line. End with CNTL/Z.
ix2215(config)# ip route 192.168.10.0/24 192.168.100.161   <== ルーティング情報登録
ix2215(config)# exit                                    
ix2215# show ip route                           
IP Routing Table - 8 entries, 1 hidden, 2039 frees
Entries: 5 Connected, 3 Static, 0 RIP, 0 OSPF, 0 BGP
Codes: C - Connected, S - Static, R - RIP, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, B - BGP
       * - Candidate default, s - Summary
Timers: Age
S*   0.0.0.0/0 [1/1] is directly connected, Tunnel0.0, 6d5h36m14s
     10.0.0.0/8 is subnetted, 1 subnets
S      10.11.12.0/24 [1/1] via 192.168.100.1, GigaEthernet2:1.1, 6d5h36m14s
S    192.168.10.0/24 [1/1] via 192.168.100.161, GigaEthernet2:1.1, 0:00:12
C    192.168.100.0/24 [0/1] is directly connected, GigaEthernet2:1.1, 6d6h40m26s
C    192.168.101.0/24 [0/1] is directly connected, GigaEthernet2:1.2, 6d6h40m26s
C    192.168.102.0/24 [0/1] is directly connected, GigaEthernet2:1.3, 6d6h40m26s
C    192.168.200.0/24 [0/1] is directly connected, GigaEthernet2:1.4, 6d6h40m26s
C    192.168.201.0/24 [0/1] is directly connected, GigaEthernet2:1.5, 6d6h40m26s
ix2215# 
ix2215# ping 192.168.10.101                           <== テストPCへping
PING 192.168.100.254 > 192.168.10.101 56 data bytes
64 bytes from 192.168.10.101: icmp_seq=0 ttl=63 time=0.719 ms
64 bytes from 192.168.10.101: icmp_seq=1 ttl=63 time=0.472 ms
64 bytes from 192.168.10.101: icmp_seq=2 ttl=63 time=0.536 ms
64 bytes from 192.168.10.101: icmp_seq=3 ttl=63 time=0.477 ms
64 bytes from 192.168.10.101: icmp_seq=4 ttl=63 time=0.483 ms

--- 192.168.10.101 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 0.472/0.537/0.719
ix2215# 

試しに、テストPC側から個別にルーティング情報を登録していない DNS(192.168.100.11), Synology NAS(192.168.100.20)へpingしてみよう.



MB13W:~ yasuaki$ ping 192.168.100.11
PING 192.168.100.11 (192.168.100.11): 56 data bytes
64 bytes from 192.168.100.11: icmp_seq=0 ttl=62 time=0.960 ms
64 bytes from 192.168.100.11: icmp_seq=1 ttl=62 time=0.816 ms
64 bytes from 192.168.100.11: icmp_seq=2 ttl=62 time=0.836 ms
^C
--- 192.168.100.11 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.816/0.871/0.960/0.064 ms
MB13W:~ yasuaki$ ping 192.168.100.20
PING 192.168.100.20 (192.168.100.20): 56 data bytes
64 bytes from 192.168.100.20: icmp_seq=0 ttl=62 time=0.547 ms
64 bytes from 192.168.100.20: icmp_seq=1 ttl=62 time=0.535 ms
^C
--- 192.168.100.20 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.535/0.541/0.547/0.006 ms
MB13W:~ yasuaki$ ping 192.168.100.254
PING 192.168.100.254 (192.168.100.254): 56 data bytes
64 bytes from 192.168.100.254: icmp_seq=0 ttl=63 time=0.417 ms
64 bytes from 192.168.100.254: icmp_seq=1 ttl=63 time=0.442 ms
^C
--- 192.168.100.254 ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.417/0.429/0.442/0.012 ms
MB13W:~ yasuaki$ 

今度は、DNSやSynology NASからもpingの応答があることが確認できる.この場合、DNSやSynology NASはこれまでと同じようにテストPCへの応答パケットをデフォルトルート側へ投げているだけなのだが、デフォルトルータ側で宛先をテストPC側のネットワークへのNext Hopである、APU2C4のLAN側("eth0": 192.168.100.161)へリダイレクトしているので、きちんとテストPCへ応答パケットが届くのだ.


IX-2215では 192.168.10.0/24 宛のICMPメッセージが届くと、ICMPメッセージを送ってきた送信元に対して、ICMPリダイレクトメッセージを返す.ICMPメッセージを送った送信元は、このメッセージを受けて再度ICMPメッセージを送指定されたリダイレクト先に送り直すという操作が行われる.試しに192.168.10.0/24 の静的経路情報を削除した後、192.168.10.101にpingを打ってみると、下記の様にICMPリダイレクトメッセージがルータ(IX-2215)から送り返されている様子が確認できるだろう.(この例では APU2C4のLAN側のIPアドレスは192.168.100.13 に変えてある)



iMac27:~ yasuaki$ sudo route delete 192.168.10.0/24
Password:
delete net 192.168.10.0
iMac27:~ yasuaki$ ping 192.168.10.101
PING 192.168.10.101 (192.168.10.101): 56 data bytes
92 bytes from gw.home.yoko (192.168.100.254): Redirect Host(New addr: 192.168.100.13)
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 0054 bf0e   0 0000  3f  01 cc97 192.168.100.77  192.168.10.101 

64 bytes from 192.168.10.101: icmp_seq=0 ttl=63 time=0.707 ms
92 bytes from gw.home.yoko (192.168.100.254): Redirect Host(New addr: 192.168.100.13)
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 0054 0a76   0 0000  40  01 8030 192.168.100.77  192.168.10.101 

64 bytes from 192.168.10.101: icmp_seq=1 ttl=63 time=0.704 ms
92 bytes from gw.home.yoko (192.168.100.254): Redirect Host(New addr: 192.168.100.13)
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 0054 4679   0 0000  40  01 442d 192.168.100.77  192.168.10.101 

64 bytes from 192.168.10.101: icmp_seq=2 ttl=63 time=0.656 ms
92 bytes from gw.home.yoko (192.168.100.254): Redirect Host(New addr: 192.168.100.13)
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 0054 28bd   0 0000  40  01 61e9 192.168.100.77  192.168.10.101 

64 bytes from 192.168.10.101: icmp_seq=3 ttl=63 time=0.701 ms
92 bytes from gw.home.yoko (192.168.100.254): Redirect Host(New addr: 192.168.100.13)
Vr HL TOS  Len   ID Flg  off TTL Pro  cks      Src      Dst
 4  5  00 0054 46df   0 0000  40  01 43c7 192.168.100.77  192.168.10.101 

64 bytes from 192.168.10.101: icmp_seq=4 ttl=63 time=0.667 ms
^C
--- 192.168.10.101 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.656/0.687/0.707/0.021 ms
iMac27:~ yasuaki$ netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.100.254    UGSc           58        8     en0
default            192.168.101.254    UGScI           0        0   vlan0
default            192.168.200.1      UGScI           0        0   vlan2
default            192.168.102.254    UGScI           0        0   vlan1
default            192.168.201.254    UGScI           0        0   vlan3
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              2  1092156     lo0
169.254            link#7             UCS             0        0     en0
169.254            link#14            UCSI            0        0   vlan0
169.254            link#15            UCSI            0        0   vlan2
169.254            link#16            UCSI            0        0   vlan1
169.254            link#17            UCSI            0        0   vlan3
192.168.100        link#7             UCS             9        0     en0
192.168.100.11     98:5a:eb:df:be:26  UHLWIi         22     3642     en0   1000
192.168.100.13     0:d:b9:47:1c:18    UHLWI           0        0     en0   1152
192.168.100.77/32  link#7             UCS             1        0     en0
 ...

この実験では IX-2215 という業務用のルータに対しての静的な経路情報設定なので、コマンドで簡単に設定できたが、家庭用のブロードバンドルータでこの静的経路設定(static route)を行える機種は限られているかもしれない.参考までに、手元にあった "NEC Aterm WR9500N" の管理画面での静的ルート設定場所を示す.


Static Routing Settings Dialog
NEC Aterm WR9500Nでの静的経路情報登録画面

DHCP Fixed IP Leasing

NEC Aterm WR9500NでのDHCP固定IP設定画面


今回は、APU2C4のLAN側("eth0")をDHCPでIPアドレスを取得する設定としたが、この方法ではAPU2C4のLAN側のIPアドレスが変わる度に、デフォルトルータのルーティング情報を手動で毎回書き換えなければならないのでとても不便だ.DHCPのリース情報に従って、IPアドレスに変更があった場合に、デフォルトルータ側のルーティング情報を自動的に書き換える仕組みを導入することも可能だが、かなりのスキルが必要なので、一般のユーザでは実装不可能だろう.


自分家のLAN側のIPアドレスを一部固定で運用できるのであれば、APU2C4のLAN側("eth0")は固定IPで運用することを薦める.DHCPのアドレス割り当て範囲を192.168.1.101-192.168.1.200 などのように絞ることができる場合が多いので、割り当て外のアドレスを固定IPとして割り振れば良い.ブロードバンドルータのDHCPサーバ機能には、クライアントのMACアドレスに紐付けて常に固定IPでアドレスを払い出す仕組みが備わっている物もあるので、その機能を利用するのも一つの手だろう.


最後に、テストPCから家庭内LAN側にある Synology NAS とAPU2C4のNAS上のボリュームが NFSマウントできることを確認してみることにする.今回はコマンドラインで NFSマウントすることにする.



MB13W:~ yasuaki$ sudo mkdir /tmp/mnt
MB13W:~ yasuaki$ sudo mkdir /tmp/mnt/nas
MB13W:~ yasuaki$ sudo mkdir /tmp/mnt/synology
MB13W:~ yasuaki$ sudo mount -t nfs 192.168.100.20:/volume2/NASData2T  /tmp/mnt/synology
MB13W:~ yasuaki$ sudo mount -t nfs 192.168.10.254:/home/music/Music  /tmp/mnt/nas
MB13W:~ yasuaki$ sudo mount -t nfs 192.168.10.254:/home/music /tmp/mnt/nas
MB13W:~ yasuaki$ df -m
Filesystem                        1M-blocks   Used Available Capacity  Mounted on
/dev/disk0s2                          38103   9460     28393    25%    /
devfs                                     0      0         0   100%    /dev
/dev/disk0s3                          83544   3391     80153     5%    /Volumes/Home
map -hosts                                0      0         0   100%    /net
map auto_home                             0      0         0   100%    /home
192.168.100.20:/volume2/NASData2T   2013265 429309   1583956    22%    /private/tmp/mnt/synology
192.168.10.254:/home/music           483392 224444    258433    47%    /private/tmp/mnt/nas
MB13W:~ yasuaki$ 

NAS Mount Test
テストPC上で Synology NASとAPU2C4上の音楽用NASの両方がマウントできることを確認


今回は家庭内LANとオーディオ用ネットワークとをIPルーティングによって双方向通信を行ってみたが、次回はNAT/NAPTを上手く利用して、もう少しスマートにオーディオ用ネットワークを運用する方法について検討しようと思う.