2015年5月15日金曜日

RTX3000に変更

メインのルーターを、NECのIX2025 から、 YAMAHA RTX3000に切り替え。


理由:DS-Liteのトンネル処理を速くしたかった。


RTX3000はオークションで入手。 送料込みで15000程。



IX2025では50M付近で頭打ちだったけど、RTX3000では家の回線上限(80M)まで
速度が出るようになった。


RTXに切り替えた際、以下の設定も追加。

  1. IPv4 / IPv6のデュアルスタック環境にて、IPv4 PPPoE+IPv6 IPoE+DS-Liteの接続をする
  2. L2TP/IPSecを使ったVPN接続を可能にする
  3. IPv4では、特定のPC/特定のプロトコルをPPPoEで通信する

1の接続について、家はフレッツ光ネクスト(ひかり電話なし)契約なので、
IPv6 IPoE接続は、RAプロキシを使うことになる。

※PPPoE接続の設定は、ヤマハのサイトに記載のものを流用


RAプロキシを使った接続

ipv6 lan1 prefix ra-prefix@lan2::/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
lan type lan2 auto
ipv6 lan2 rip send off
ipv6 lan2 rip receive off
ipv6 lan2 dhcp service client ir=on


DS-Liteを使う。

tunnel select 3
 tunnel encapsulation ipip
 tunnel endpoint address (transix.jpのIPv6アドレス)
 ip tunnel mtu 1500
 ip tunnel tcp mss limit auto
 tunnel enable 3

トンネル番号が3番なのは、1-2番がL2TPで使われている為。



2のL2TP/IPSecの設定は、ヤマハのサイトに記載されている設定例を、
ほとんどコピーして作成。


3について。
DS-Liteでは、「利用者都合によるポート解放が出来ない」というデメリットが有るため、
サーバを公開したい場合は、PPPoEで通信を行う必要がある。
「PPPoEとDS-Lite、どちらにパケットを向ける?」という定義が必要なため
ip route default gatewayにマッチングリストを付与して、振り分けを行う


ip route default gateway pp 1 filter 1 2 3 4 5 6 gateway tunnel 3


フィルタ1~6にマッチすればPPPoE、そうでなければDS-Lite。

<フィルタの例>
ip filter 2 pass 192.168.0.251 * * * *

192.168.0.251の端末は、IPv4をPPPoEで通信する。


他には、VPNの接続ポートをPPPoEに振り分けている。

最初は、こんな適当なフィルタで大丈夫?と心配になったが、
tracerouteで、自分の期待通りの結果となった。


dnsサーバは、dns server select 1 dhcp lan2 any . で、IPv6側を指定した。


PPPoEでは速度低下や回線障害で悩まされることが多かったけど、
DS-Liteに変えてからは、本当に快適だ。

2014年10月21日火曜日

DS-Lite接続で初めて知ったこと

IX2025で、DS-Lite接続をした時、


AndroidやiOSデバイスでインターネットに接続できていなかったトラブルが解決。



原因:IPv4のDNSサーバアドレスを明示していなかった。



ということで、IX2025で、proxy dns-server コマンドでIIJmioのDNSサーバを登録。


ようやく、AndroidやiOSデバイスでネットワークが利用できるようになった。






2014年10月8日水曜日

RTX1100でDS-Lite接続してみた

自分の家にはRTX1100があるので、IX2025との違いを見るためにDS-Liteで接続をしてみた。




接続そのものは問題ナシ。




ただ、スマホ等の接続が可能になっている。 ここがIX2025と異なる部分。






スマホではグローバルIPに相当するアドレスが表示されている。


transixから下りてきているのだろう。






RTXとIXのConfigは、ほぼ内容が似通っているけれど、


もしかすると、unnumberedで接続をしているとアドレス不定という事で


スマホに下りてこないのかもしれない。






対向(trnsix)とIP-IPトンネルで接続をしている形にするために


IX2025では4-over-6のモードでトンネルを張っているけれど、


RTX1100では、ipipトンネルになっている。








ダイレクトブロードキャストアドレスの処理もしていないので、


これもマズイかもしれない。

2014年10月4日土曜日

家のDS-Lite接続で発生している障害

WindowsとMacは問題なくインターネットできているのに、

以下のデバイスがインターネットNG。

  • Androidデバイス (スマホ・タブレット)
  • iOSデバイス (iPod Touch)
  • プレステ3 (家族所有)

これらは、WR8700N(APモード)経由でIX2025に接続されている。
IX2025とは通信できていても、その先に行けていないようだ。


Wi-Fi環境のインターネットが利用できないと不便なので、
WR8700Nに、PPPoE接続設定を登録した。


家では、L2スイッチを中心に、VDSL装置、IX2025、WR8700Nを
VLAN設定で配線しているので、設定変更で即利用可能になった。
現在、PPPoE接続とDS-Lite接続は分離されている。


PPPoEとDS-Liteの同時接続は、IX2025で全部できると思うけど、
DS-Liteが期待通りの状態になるまでは、このままだろう・・・。

2014年10月2日木曜日

NEC IX2025でIIJmio DS-Lite接続をする

IIJmioのDS-Lite接続でIPv4を利用する設定(の抜粋)


DS-Liteの説明は省略。IX2025のConfigで、ポイントになる部分を掲載。


※設定事例集・コマンドリファレンスを読むと、それなりにConfigが記述できる。


<IIJmioのDS-Lite接続>

  • IPv4 PPPoE接続設定が不要
  • IPv6 IPoE接続が必要
  • IPv4 over IPv6のトンネルが必要
  • ローカル側のNAPTはOFFにする
  • サーバの公開不能 (IPv4)




IX2025でDS-Lite接続を利用する場合


<WAN側>

interface FastEthernet0/0.0
  filter mflt-list 1 in
  no ip address
  ipv6 address autoconfig receive-default
  bridge-group 1
  no shutdown


自分の家はひかり電話の契約が無いので、IPv6はブリッジ接続。




<LAN側>

interface FastEthernet1/0.0
  filter mflt-list 1 in
  ip address 192.168.0.1/24
  ip proxy-arp
  bridge-group 1
  no shutdown


こちらは、ほとんど弄ってない。



<IPv4 over IPv6の設定>

interface Tunnel0.0
  tunnel mode 4-over-6
  tunnel destination (指定された宛先アドレス)
  ip unnumbered FastEthernet1/0.0
  ip tcp adjust-mss auto
  no shutdown


DS-Lite接続のメインとなるトンネルを構築する。

tunnel modeはIPv4 over IPv6。

トンネルの宛先は、IIJmioから指定されているアドレス。

設定事例集に掲載されているように、IPv4はunnumbered。

mssのサイズは自動設定。


IPv4のパケットフィルタは、トンネル内に組み込んでみた。



IX2025の場合、PPP接続が完了するとPPPランプが点灯するけど、

この接続だとパワーランプしか点灯しない。


IPアドレスの確認サイトをみると、ホスト名が逆引きできなくなっていた。

2010年4月4日日曜日

TextViewのテクニック(?)

AndroidのコンポーネントにTextViewという、名前の通りテキスト(文字列)を
画面に表示するのがあるんですが。
これ、色を設定すると一回分の文字列全部が同一の色に成ってしまうんですな。

 それで、そういうのがイヤな人はどうしているかというと、文字列を途中で区切って
「ここからここまではこういう色」とか「この部分はイタリック」とかやっている模様。
サンプルのコードを見たけど、かなり苦労している気がした。

 ・・・そう思っていたら、TextViewで出力する時にHTMLのタグを埋め込んでしまえ!
というコードを発見。
文字列をHTMLで記述しておいて、出力する直前に変換しているっぽいね。

コーディング方法
import android.text.Html;

まず、android.text.Html クラスを import。
そして、TextViewで文字列を表示する時に

TextView.setText(Html.fromHtml(HTMLタグ付き文字列));

とか、

TextView.append(Html.fromHtml(HTMLタグ付き文字列));

を記述。

こうすると、HTMLタグが解析されて希望する装飾が付いた文字列が表示されるっぽい。
弄っているIRCクライアントで、Nickが色違いで表示できたのでとても助かった。
確認したのは、ボールドイタリックカラー の3つ。
imgタグも使えるみたいだけど、コーディングが違ってた気がする。

AndroidでIRCクライアントを弄ってみた (3)

とりあえず、出来たところまで


接続前は設定画面を表示

レイアウトのXMLを書き換えた程度














通信中の画面。
タイトルの部分に接続中のチャンネルを表示

JOINしたユーザーのホスト名も取得してみた。

文字の色を付けるところで苦労した。
TextViewに、ちょっとしたテクニックが有った。