通信系が好きな大学生

とある大学院生の作業日記

Cisco Start 841MJでDS-Lite環境を作る(RA編)

f:id:uchy_13a:20170507190941j:plain 

 

 

Cisco 841MJでDS-Liteを構築しました。

既存の記事に載っているCisco製品を使ったDS-Lite環境の場合、

DHCP-PDを使用した例が多くRA(router advertisement)環境を用いたものが少ない

・クライアント側にIPv6アドレスが設定できているものが見られなかった

という2つの理由があり、今回の構築を試みた。

 

 コンフィグ例は以下です。

 B4#show run
!
hostname B4
!
ip dhcp excluded-address 192.168.1.0 192.168.1.100
!
ip dhcp pool DHCP
network 192.168.1.0 255.255.255.0
default-router 192.168.1.254
dns-server 8.8.8.8
!
no ip domain lookup
ip cef
ipv6 unicast-routing
ipv6 cef
!
!
bridge irb
!
interface Tunnel10
description To:MF
ip address 192.0.0.2 255.255.255.248
tunnel source GigabitEthernet0/5
tunnel mode ipv6
tunnel destination 2404:8E00::FEED:101
bridge-group 1
!
interface GigabitEthernet0/4
description To:CLIENT
ip address 192.168.1.254 255.255.255.0
ipv6 nd other-config-flag
bridge-group 1
bridge-group 1 input-type-list 200
!
interface GigabitEthernet0/5
description To:MF_AFTR
no ip address
ipv6 address autoconfig default
ipv6 enable
ipv6 nd other-config-flag
bridge-group 1
!
ip route 0.0.0.0 0.0.0.0 Tunnel10
!
access-list 200 permit 0x86DD 0x0000
access-list 200 permit 0x0800 0x0000
bridge 1 protocol ieee
bridge 1 route ip
!
end

 

詰まりそうな部分の解説

①トンネルインターフェースのアドレスについて 

トンネルのアドレスには、

interface Tunnel10
ip address 192.0.0.2 255.255.255.248

RFC6333で決まったものを使用していますが、

このIPアドレスは仮に1.1.1.1/32でも動作します。

トンネルのIPアドレスを設定しない場合は、デフォルトルートがルーティングテーブルに載らないため、通信ができなくなります。

 

IPv6パススルーの設定をするとトンネルインターフェースがUpしない問題

interface GigabitEthernet0/5

bridge-group 1

上記のIPv6パススルーの設定を入れているとトンネルインターフェースが

Upしてくれない時があったので、一時的に設定を外してトンネルインターフェースをUpさせた方がいいかもしれません。

具体的に以下の方法を行えば、トンネルインターフェースはUpします。

 

interface GigabitEthernet0/5
no bridge-group 1
interface Tunnel 10
shut 
no shut
interface GigabitEthernet0/5
bridge-group 1 

クライアント側のPCにIPv6のグローバルアドレスが反映されるまで1分程度かかったのでそれも注意した方が良さそう。

 

トンネルインターフェースがUpすると自動で以下のコンフィグが追加されていた。

ip domain list flets-east.jp
ip domain list iptvf.jp

 

通信フロー

IPv6の通信は、RAを直接クライアントPCへ送るためIPv6パススルー

IPv4の通信は、C841までは、DHCPで取得したアドレスでIPv4、その先はIPv4 over IPv6通信を行います。

 

確認方法について

B4ルータ(C841M)
#show ip int brief
トンネルインターフェースのDown/Up確認
#show ipv6 int brief
IPv6のグローバルアドレスを取得できているか
#show int tunnel 10
トンネルインターフェースのDown/Up & トンネルインターフェースの状態確認

 

  
クライアントPC(Windows10)
> ipcconfig
> ipconfig /release
> ipconfig /renew

 

以下の記事を参考にさせていただきました。

 

www.ipnet-lab.jp

 

DS-Lite 接続確認機種情報  (Cisco 1812J)

http://www.mfeed.ad.jp/transix/ds-lite/contents/cisco_1812j.html

 

www.cisco.com

 

www.cisco.com

 

 

 

 

 

15分で出来るRaspberryPi(Linux)でDS-Lite(IPv6/IPv4)

Raspberry Piで安定してDS-Lite(IPv6/IPv4)が使えるかを試してみました。

 

DS-Liteについては以前ブログで紹介しました。

http://uchy-13.hatenablog.com/entries/2015/10/02

 

DS-Liteを一言でいうと既存技術を組み合わせて、IPv6IPv4通信の共存を実現する技術です。

前提としてプロバイダがDS-Liteの接続が出来る契約をする必要があります。 

 

IPアドレスの打ち間違えに気づかず、無駄に3時間消費してしまったが(慣れたら)簡単にDS-Liteを設定できます。

今回はファイアウォールなどの設定していないため注意が必要です。

※DS-Liteで使用するIPv6はグローバルアドレスです。

 

今回構築した全体図を以下に示します。

f:id:uchy_13a:20160227063434p:plain

 

詳細:

Raspberry Pi:Raspberry Pi2

OS:Raspbian

eth0:オンボードNIC

eth1:USB NIC (Logitec LAN-GT JU3)

 

設定は以下のページを参考にした。

参考ページ

http://www.iij.ad.jp/company/development/tech/techweek/pdf/141128_0.pdf

Linux Hacks: HOWTO: ipv6-ipv6 tunnel and ip4-ipv6 tunnel in linux

Vyatta改めVyOSでDS-Liteを使う(IIJmio+フレッツIPoE) — どこか遠くでのんびり怠惰に暮らしたい

 

基本的には上の参考ページ1を見れば簡単に構築できます。

Raspberry Piの設定

①eth1の設定(/etc/network/interfacesに以下を追加)

iface eth1 inet static

address 192.168.200.1

netmask 255.255.255.0

設定が終わったら、

$ sudo /etc/init.d/networking restart

$ sudo ifdown eth1

sudo ifup eth1

 

②eth0側の設定(IPv4 over IPv6トンネリング)

ローカル(eth0)のGlobal IPアドレスを確認

 $ ifconfig -a または $ip addr show

 

IPv6トンネルの設定

  • カーネルモジュールのロード
  • トンネリングの接続設定
  • トンネルインターフェースの有効化

sudo modprobe ip6_tunnel

sudo ip -6 tunnel add ip6tnl1 mode ipip6 remote 2404:8e00::feed:100 local 2409:xxx::xxxx dev eth0

$ sudo ip link set dev ip6tnl1 up

 

この時点でデバッグなどで

$ ping6 xxxx::xxxx

を使った。(外部ホストにping6が届くはず)

 

③ルーティングの設定

デフォルトルートの設定

sudo route add default dev ip6tnl1

IPv4アドレスのフォワーディングの許可

sudo sysctl -w net.ipv4.ip_forward=1

 

 

MacBookの設定  

アドレス:192.168.200.1

ネットマスク:255.255.255.0

デフォルトゲートウェイ:192.168.200.1

DNS:8.8.8.8

 

以上で設定は終わり。

DS-Liteの接続が出来ました。

 

MacBookで実際に色々なサイトを問題なく見れました。

$ifconfig -a を使うとトンネルインターフェースで通信していることを確認できます。

 

$topコマンドで調べた結果、Raspberry PiのCPU使用率は3〜8%で、メモリも1GB中200MBくらいであった。

また、MacBookProで4k動画も見たが問題なく視聴できることを確認できました。

 

 以下サイトでRTX1200をつかう時と回線速度が変わるかを計測をした。

Speedtest.net by Ookla - The Global Broadband Speed Test

①Raspberry Pi2

UL:14Mbps、DL:58Mbps

 ②RTX1200

UL:21MbpsDL:65Mbps

速度に大きな違いはなかった。

 

思った以上に安定して接続できています。

Raspberry Pi2の威力素晴らしい。

ネットワークカメラについて調査した

 

今、ニュースでは全世界にあるネットワークカメラ(IP camara)の一部が閲覧可能になり話題となっている。

 

netatopi.jp

 

なぜ、全世界のカメラは閲覧可能な状態になっているのか?

どのようにネットワークカメラを探索しているのか自分なりに調査してみた。

 

●前提として、ネットワークカメラはインターネットに繋ぎ、遠隔から閲覧・監視するという用途で使う人がほとんどである。

同時にインターネットに繋ぐということは、他のインターネットに繋いだ誰でもデバイスから閲覧可能の状態になることを表している。(※全部にあてはまらない)

外部に公開する必要がない場合は、クローズドなネットワークにカメラを収容し、外部からのアクセスをさせないことが大切である。

 

現在流出(?)しているネットワークカメラのほとんどがパスワードなしに閲覧できる状態になっている。

 

-このような状態を回避する一番簡単な対策はパスワードを付けることである。これを怠ると誰でもカメラを閲覧できる状態になってしまうので注意が必要である。その他、アクセス制御や認証機能を追加する方法もある。

 

●ネットワークカメラを閲覧・探索できる理由

 

カメラが特定される理由は主に2つあると考えた。

内容は極めて単純なものである。

 

①グローバルアドレスで80番ポートとしてカメラを公開している

これはIPアドレスを総当り攻撃することで特定が可能になる 

 

②メーカ毎にカメラにアクセスできるURL(パス)とポート番号がだいたい決まっている

 

メーカのホームページではネットワークカメラで開放するポート番号を掲載しているケースが多数見受けられた。

また、製品ごとにアクセスできるURLがまとまったサイトも発見できた(以下のページ)。

Connecting iSpy to IP Cameras

これらより、以下のことが推測できる。

 

P社の場合

・URL1:「http ://<IPアドレス>:ポート番号/cgi-bin/camera」

・URL2:「http ://<IPアドレス>:ポート番号/SnapshotJPEG?Resolution=640x480&Quality=Clarity」

 

よく使用されるポート:80,81,82,6001,6002,6003,8001,8080,50000,50001,60001

 

S社の場合

・URL:「http ://<IPアドレス>:ポート番号/oneshotimage」

 

A社の場合

・URL:「http ://<IPアドレス>:ポート番号/mjpg/video.mjpg」

 

IPアドレス、②ポート番号、③パスがマッチングすればカメラの探索が可能になる。

 

例えば存在するIPアドレスを探索した後、そのIPアドレスとURLのパスを固定にし、ポート番号だけを変化させていく。その際、URLの存在チェックを行いマッチングしたものがネットワークカメラへのアクセスURLであると分かる。

 

これはPHPを使っても実装が出来る。

【php】 URLが存在するかどうか確認する at softelメモ

(※悪用厳禁)

 

LAN上にカメラがあってもグローバルにカメラが見えているのは、UPnP(NATトラバーサル)が動作しているとからだと考えられる。

ITレポート(動向/解説) - NATトラバーサル---端末を識別可能にする「NAT越え」、実現手法は用途によりまちまち(上):ITpro 

その他分かったこと

NASでも似たような現象が起こっている

ネットワークカメラの探索モジュールは結構出回っているらしい。

そもそも何年も前からこのような問題が起きている。 

おわりに 

 ネットワークカメラがどのように探索されているかについて調査をし報告した。カメラが誰にでも見えるようになっているのはパスワードやセキュリティ対策をせず、初期設定のまま運用しているからだと考えられる。

これらはカメラを設置する本人の知識不足に起因する問題である。

Insecamを見ると、日本で閲覧可能なカメラ台数が多いことから、セキュリティ意識が低いのか、単にカメラ台数が多いのかが不思議な感覚になった。

YAMAHA RTX1200を買って自宅でDS-Lite(IPv6/IPv4環境)の設定をした話

f:id:uchy_13a:20151002233636j:plain

 学会やワークショップでの小〜中規模の会場ネットワーク構築・運用で困っていることの一つとしてNATセッション数が肥大化することによるルータのCPU・メモリ負荷が大きくなり接続が不安定になることがある。
 
これらの問題を解決する一つとしてDS-Liteという技術があることを知り(※1)(※2)、中古のYAMAHA RTX1200(2万円弱:1万8000円前後)を衝動買いして自宅での運用・構築の挑戦をしてみた。
DS-Liteを構築してみると意外と簡単ではあったがRTX1200を使ったDS-Liteの設定の情報量が少なくところどころでつまづくことがあった。
この記事では契約の仕方〜DS-Liteの設定方法(IPv4/IPv6導入・構築)をしたことについて記述し、DS-Liteの詳しい技術については割愛する。
  
DS-LiteとはIPv6網(アクセス網/NGN)を使ってLANでIPv6/IPv4環境を実現するトンネリング技術である。従来のインターネット接続環境では、NATの処理は主にローカルエリア(LAN)とISPの2ヶ所で行っているが、DS-LiteではISP側の1ヶ所でNATを行うのでLAN内でのNATをなくすることができる。
 
もっと詳しくDS-Liteを知りたい方は以下のページを参照すると良い。

http://www.janog.gr.jp/meeting/janog26/doc/post-dslite-kashimura.pdf

結論として現状から何が変わったか
  • 回線速度が上がった(環境による)
  • NATをLAN内で行わなくなった
  • PPPoEをやめてIPoEになった
  • IPv6が利用可能になった(プロバイダのオプションの変更でも実現できるらしい)
  • (予定)200Mbpsの契約だけど1Gbpsで接続する(※3)(※4)
DS-Liteを構築するのに必要なこと
  • プロバイダの契約 IIJ Fiberaccess/NF (2000円/月)
  • フレッツ・IPv6オプション (無料)
  • RTX1200 (DS-Lite対応のルータ)
  • 「場合によって設定用ケーブル(USBtoシリアルケーブル、シリアルtoシリアルケーブル)」※無くてもよい
  • 自宅の回線がフレッツ光ネクストであること 
 
ISPの契約は2つ以上契約することが可能なので、前に使っていたプロバイダは後日解約することになった。
 
インターネット接続環境(フレッツ光使用者)はおおまかに
自宅PC➝ONU/モデム➝アクセス回線(NGN:NTT東西:フレッツ網)➝ISP➝インターネット
という構成になっている 

フレッツv6オプションの契約(所要時間3分:使えるまで1時間)

NTT東日本を利用の方は、以下のページからNTT東西から届く「開通のお知らせ」という封筒に入ってある「COPまたはCAFから始まる番号」「アクセスキー」を入力してログインしフレッツ・v6オプションの契約をする
その後、約1時間後にNTT東西から工事完了のお知らせが来る

プロバイダの契約(所要時間10分:使えるまで1時間以内)

以下のサイトからmioIDを発行してIIJ Fiberaccess/NFを契約する。
契約時にはフレッツv6オプションと同様に「COPまたはCAFから始まる番号」が必要である。
その後、1時間以内に「ready to start」という件名のメールが来て使用可能になり料金が発生する

RTX1200の設定を行う

インターネット接続の物理構成は
WAN➝ONU/xDSLモデム➝RTX1200(LAN2のポート)➝LAN1のポートからPCを接続
 
ルータ購入後、必要な人はファームウェアのアップデートをすすめる。
 
RTX1200はGUIでの設定が可能であるが、とある設定(IP-IPトンネル)でIPv4アドレスしか入力できずIPv6の入力が出来なかったため、全てCUIで設定を行うことにした。
 
中古で購入したため設定の初期化を行う。
#cold start
 
YAMAHAルータへのコンソール画面接続は主に2パターンある
  1. Telnet接続(シリアルケーブルなし)
  2. シリアルケーブルで接続
 
以下のサイトがコンソール画面への接続方法である。
接続方法は好みの方法を選択する。
 
Mac Bookを使用かつシリアルケーブルを使用する方はターミナルで以下のコマンドを使用することでコンソール画面に接続できる
ls -l /dev/tty.*
cu -l /dev/tty.usbserial-〇〇
screen /dev/tty.usbserial-〇〇
 
RTX1200のデフォルトのIPアドレス192.168.100.1/24です。
 
初期化後はパスワードは設定されていないのでログイン画面ではEnterキーを入力する。
 
RTX1200は前面パネルLAN1、LAN2、LAN3となっており、それぞれを独立したLANとして使用することが出来るらしい。
 
今回はLAN2がWAN側、LAN1をローカルのネットワーク用のセグメントとして運用することにした。
 
YAMAHAルータでは管理者モード・一般モードがあり、設定は管理者モードにして行う。
管理者モードへの変更は以下である。
$administrator
 
以下のページを参考にルータの設定を行った。
 
最終的なRTX1200の設定は以下である。
ip route default gateway tunnel 1
ip filter source-route on
ip filter directed-broadcast on
ipv6 prefix 1 ra-prefix@lan2::/64
ip lan1 address 192.168.100.1/24
ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 lan2 dhcp service client ir=on
tunnel select 1
 tunnel encapsulation ipip
 tunnel endpoint address 2404:8e00::feed:100
 ip tunnel mtu 1500
 ip tunnel secure filter in 55 1
 ip tunnel secure filter out 2 dynamic 1 2 3 4
 ip tunnel tcp mss limit auto
 ipv6 tunnel secure filter in 3 1
 ipv6 tunnel secure filter out 2
 tunnel enable 1
ip filter 1 reject * * * * *
ip filter 2 pass * * * * *
ip filter 55 pass * * icmp * *
ip filter dynamic 1 * * ftp
ip filter dynamic 2 * * domain
ip filter dynamic 3 * * tcp
ip filter dynamic 4 * * udp
ipv6 filter 1 reject * * * * *
ipv6 filter 2 reject * * * * *
 
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24
dns server dhcp lan2
 
役にたった、コマンド
show config 
show status tunnel 1  ←IP-IPトンネルではIPv4通信のみを行う(?)
show ipv6 address
ping6 x.x.x.x 
他、役に立つコマンドは以下。
コマンドを削除したい場合は設定行に
#no (コマンド)
で可能である。
 
※MTUサイズが1448でなく、1500でも通信できたのがなぜなのかはまだ分かっていません。
 
[1]設定の手順はIPv6 IPoE
※この時点ではIPv6に対応したwebサイトしか接続できない
Facebookなどのページは見れるがTwitterが見れないなど..

[http://[2a03:2880:2040:7f01:face:b00c::1]]

 
 
[2]IP-IPトンネルの設定
これでIPv4のアドレスにも対応したネットワーク接続ができる

 

[3]その他、フィルタリング
セキュリティを強化します
これはYAMAHAの公式サイトなどを参照して適宜行う。
 
 tunnel endpoint address 2404:8e00::feed:100のアドレスの設定は、自分がNTTの東西どちらを使っているかでIPv6アドレスが変える必要がある。以下のサイトを参考にIPv6アドレス(gw.transix.jp)を設定すると良い。
 
これで自宅にてDS-LiteでIPv6/IPv4のネットワーク環境の構築が完了した。
PPPoEもやめて、NATもISPに任せることが出来ました(CGN)。
RTX1200に家庭用ルータ(Aterm)を接続して、スマホタブレットでも問題なく動作し快適です。
 
のサイトで夜間に検証したところ、
 
DL:40Mbps➝80Mbps 
UL:10Mbps➝20Mbps
になりました。
 
当たり前のことですが、自宅がVDSLのため大幅な速度の向上が見られなかったです。しかしIPv6のパケットを見ることが出来たこと、YAMAHAルータの設定が出来たのでとても勉強になりました。
 
フレッツ光のハイスピードタイプなら回線速度が200Mbps➝1Gbpsになったんだけどな。
 
まだYAMAHAのルータの設定になれていないので、これから設定の勉強していこう。
詳しい人に教えて欲しい。。。