rabbit51

it's since Nov.30 2005
May.29 2014, transferred from broach

NVR500でフレッツ・エリア内速度計測が出来ない

2011-10-30 16:02:23 | NVR500
NVR500でフレッツ(NTT東日本)網に接続し「サービス情報サイト」にうまく接続できる。
「速度の確認」メニューをクリックすると「エリア内速度測定サイト」画面から「東京・神奈川・千葉・埼玉エリアのお客様」で「GO」ボタンをクリックするとエラー表示となり計測できない。
WZR-HP-G300NHのルータ機能ではうまく計測が出来ていたので、NVR500の設定問題と思える。
「GO」ボタンをポイントしたときのURLは、「speed.flets」へアクセスしている。nslookupで調べてみると「123.107.190.162」が返される。

フレッツスクエアで記載されているルート情報に無いアドレスになっている。静的ルート情報に加えてみたが接続エラーが解消されない。再びnslookupを行ってみると「.169」「.161」「.170」などたまに変化する。使用しているIPレンジが判らないので「123.107.190.0/24」をフレッツ網側に送出するように「ip route 123.107.190.0/24 gateway pp 2」でルートを設定した。
うまく計測できるようになった。

若干気になったのでブリッジモードにしてwireless lanアクセスポイントとしていたWZR-HP-G300NHをルータモードに再設定して手作業でPPPoE設定をしてみたがNVR500と同様に速度計測ができない。
フレッツ網に向けたルート情報も設定されていない。以前に設定したときは、簡単設定モードを動作させたのを思い出し設定してみるとフレッツ網へのルート情報は、NVR500に設定したルート情報と同じだ。
*.flets
220.210.194.0/25
220.210.198.0/26
220.210.199.144/28
この状態で、速度計測をしてみるとうまく計測ができる。
不思議だ。
NVR500のルート設定はとりあえず下記とした。

#
# IP configuration
#
ip routing process normal
ip route default gateway pp 1 filter 500000 gateway pp 1
ip route 123.107.190.0/24 gateway pp 2
ip route 220.210.194.0/25 gateway pp 2
ip route 220.210.198.0/26 gateway pp 2
ip route 220.210.199.144/28 gateway pp 2


コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

宅内のギガビットLANトラブルはコネクタ部だった

2011-10-23 12:35:38 | ネットワーク
自宅内のネットワークをギガビット(1000Base-T)で統一した。
2階の一室から2階2室、1階リビング東西2箇所の計4箇所に通信興業の4対CAT5ケーブル(TSUNET-100E CAT-5)で配線してある。一番長い配線は約20m+フルフラットケーブル5mで一番短い配線は約4m。
1箇所どうしても1000BASE-Tでリンクせず100BASE-Tとなってしまう。HUBを交換してみたり壁内から壁外へ接続するケーブルを交換してみたりしたが解決しない。
何気なく1000BASE-Tの仕様を確認していたら4対全てのケーブルを使い100BASE-Tが2対しか使用しないのと異なる。
一番長い配線でもギガビットでリンクしているので線材や線材長の問題では無いと考え、コネクタ部の配線間違いか圧着不良を疑いコネクタの付け替えを行った。
結果、無事1000BASE-Tでリンクすることが出来た。取り去ったコネクタ部の結線状態を調べると4番ピンケーブル青に導通が無かった。100BASE-Tでは問題無いが1000BASE-Tでは4対全て使うためリンクできなかった。

ランプは、コネクト上部に二つあり、両方点灯で1Gbps、左側点灯で100Mbps、右点灯で10Mbps接続を示す。左から1階2本、二階2本が接続されている。二階の1本は、機器接続が無いためリンクなし。残り3本共に1Gbpsでリンクされるようになった。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

DynDNS更新処理結果

2011-10-18 23:16:44 | NVR500
DynDNS更新LUAスクリプトの処理結果を確認してみた。
Global IPが変化しないときは、DYnDNSの更新を10日間行わない。
とりあえずスクリプトのチェックで毎日1回更新するよう設定変更した。、

変更後スクリプトを起動し、切断->接続を行ってみた。
運良く、Global IPが変化したため、DynDNSへの登録処理が行われた。
同時に、ネットボランチDNSの更新も行われたのがログで確認できた。
各、DNSへの登録結果は、次の通りとなった

DynDNSもネットボランチDNSも新しいGlobal IPが登録された。


DynDNSへGlobal IPを登録するときヤマハのrt.httprequestコマンドを使用している。
このコマンドでは、ヘッダーにuseragentを設定できない。DynDNSでは、useragentの設定が必須で求められている。幸いな事に、rt.httprequestコマンドは、useragentをヘッダに自動で設定しているようで、DynDNSにうまく登録が出来ている。
どのようなuseragentを付けるのか調査しておこう。。。。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

NVR-500でDynDNSの登録更新をしてみた

2011-10-16 21:38:16 | NVR500
WZR-HP-G300NHを使用していた時は、DynDNSを使用してDDNSに登録していた。
NVR-500に変更してからは、Netvolante DNSを使用してDDNS利用ができるようサポートされていたため利用を始めた。
DynDNSで使用していたFQDNの方が覚えやすい。
NVR-500でDynDNSに自動登録するためLUAスクリプトを作成してみた。

概ねうまく動いているようだ。
しばらく動作させ様子を見ることにする。

スクリプトは、次の通り

file名=dyndns-update.lua
--[[
Oct.10 '2011 Rabbit51

DynDNSへのIPアップデート
PPPoEで設定されたlocal側のIPアドレスを取得し、登録中のIPアドレスと異なれば
取得したIPアドレスで更新する
登録しようとするIPアドレスが同じであれば更新しない
WatchInterval*UpdateInterval(秒)で設定された期間登録が更新されない場合
強制的にIPアドレスを更新する

]]

--------------------------## 設定値 ##--------------------
-- debug
dbg = false

-- DynDNS user account
username="your dyndns account id"
password="your dyndns account password"
UpFQDN="registerd fqdn"

-- IP取得するPP番号
PPnum=1

-- syslogwatch time 86400/day, max 864000(10days)
-- WatchInterval * UpdateInterval
WatchInterval=86400
UpdateInterval=10

-- DynDNS server address
UpHost="members.dyndns.org"
UpPort="80"
UpIP=""
UpUrl="http://" .. UpHost .. "/nic/update?hostname=" .. UpFQDN .. "&myip=" .. UpIP .. "&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG"

----------------------## 設定値ここまで ##----------------

------------------------------------------------------------
-- 指定されたPPのPPPで取得したlocal IPを返す関数 --
------------------------------------------------------------
function get_local_ip(id)
local rtn, str, ipadr
local cmd = "show status pp " .. tostring(id)
local ptn = "PP IP Address Local:%s+(%d+%.%d+%.%d+%.%d+)"

rtn, str = rt.command(cmd)
if (rtn) and (str) then
ipadr = str:match(ptn)
if (ipadr == nil) then
rtn =false
ipadr = "接続されていません"
end
else
rtn = false
ipadr = cmd .. "コマンド実行失敗\r\n"
end

return rtn, ipadr
end


------------------------------------------------------------
-- IPアドレスが変化したか確認する関数 --
------------------------------------------------------------
function is_new(ip)
local blip
blip=os.getenv("GLOBALIP")
if (blip) then
if ( blip == ip ) then
return false
else
rt.command("set GLOBALIP=" .. ip)
return true
end
else
rt.command("set GLOBALIP=" .. ip)
return true
end
end


------------------------------------------------------------
-- HttpでDynDNSにUpdateする関数 --
------------------------------------------------------------
function Update_DynDNS(ip)
local rtn, resp
UpIP = ip
req_table = {
url = UpUrl,
server_port = UpPort,
method = "GET",
auth_type = "basic",
auth_name = username,
auth_pass = password
}
resp_table = rt.httprequest(req_table)
if ( resp_table.rtn1) then
rt.syslog("info","[LUA] dyndns-update.lua DynDNS Updated IP= " .. ip )
else
rt.syslog("info","[LUA] dyndns-update.lua DynDNS Failed - " .. "\nrtn1-> " .. tostring(resp_table.rtn1) .. "\nrtn2-> " .. tostring(resp_table.rtn2) .. "\nerr-> " .. tostring(resp_table.err) .. "\ncode-> " .. tostring(resp_table.code) .. "\nheader-> " .. tostring(resp_table.header) .. "\nbody-> " .. tostring(resp_table.body) )
end

end


------------------------------------------------------------
-- main --
------------------------------------------------------------
local rtn,str,lip,cnt

cnt=0
rtn,str=get_local_ip(PPnum)
rt.syslog("info","[LUA] dyndns-update.lua Starting up(if=" .. string.format("PP[%02d]:",PPnum) .. str .. ")" )
if (rtn) then
lip=str
if (is_new(lip)) then
if (dbg) then print("-- Update_DynDNS(lip)") else Update_DynDNS(lip) end
end
end

while (true) do
local rtn,str,lip
rtn,str = rt.syslogwatch(string.format("PP%%[%02d%%]",PPnum) .. " PPP/IPCP up%s+%(Local:%s+(%d+%.%d+%.%d+%.%d+)",1,WatchInterval)

if (rtn == 0) then
cnt = cnt + 1
if (dbg) then print("Count= " .. tostring(cnt)) end
if ( cnt == UpdateInterval ) then
cnt = 0
rt.syslog("info","[LUA] dyndns-update.lua DynDNS force update IP=" .. os.getenv("GLOBALIP") )
if (dbg) then
print("Count reach to " .. tostring(UpdateInterval) .. " DynUpdate IP=" .. os.getenv("GLOBALIP"))
else
Update_DynDNS(os.getenv("GLOBALIP"))
end
end
else
lip=string.match(str[rtn],"Local:%s+(%d+%.%d+%.%d+%.%d+)")
rt.syslog("info","[LUA] dyndns-update.lua New Connection(old IP/new IP):(" .. os.getenv("GLOBALIP") .. "/" .. lip .. ")" )
if (is_new(lip)) then
if (dbg) then print("DynDNS Update call in while loop\n") else Update_DynDNS(lip) end
cnt = 0
end
end
end

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

WZR-HP-G300NH無線LAN接続PCにARPが到達しない障害

2011-10-09 00:25:16 | ネットワーク
ルータモードのWZR-HP-G300NH(バッファロ)に無線LAN接続したPCとSilexのデバイスマネージャSX-2000U2に接続されたプリンタを使用していると接続が出来たり出来なかったりする不具合が発生する。

WER-AG54(バッファロ)でも同様の障害が出ていたがセキュリティフィルタを全てオフすることで回避できていた。WZR-HP-G300NHでも発生するということは、バッファロのルータ機能付き無線LAN製品全てに該当するのかもしれない。
SilexのSX-2000U2は、PCで動作している「SX Virtual Link」と定期的にARPで通信を行っている。
wiresharkでパケットをモニタすると

約40秒間隔でARPを送信している。NVR-500導入に伴い、WZR-HP-G300NHをブリッジモードに変更している。ブリッジモードだとセキュリティ関連フィルタが無いのでARP障害が無くなる可能性がある。
3時間ほどブリッジモードのWZR-HP-G300NHに接続して確認した範囲では、ARP障害の発生は無かった。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする