ホーム » コンピュータ » Network (ページ 33)

Network」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

通信費見直し中:PHS解約

2年間ほど、データ通信用として使っていたWillcomのPHSの解約手続きを行った。 W-ZERO3 Ad[es]を使っていて、半年ほど前には子供の土日のお出かけ用として、 カード差し替えでnicoを中古買いしたりしたけど、やっぱり利用頻度が低いし、 データ通信も長時間使わなければ、au携帯+bluetooth でひとまず足りる。

色々と通信費を見直すとなると、最近 MacBook の利用頻度も高まり、これに合わせて au の携帯を解約して iPhone 3GS(softbank) に乗り換えるのもいいなぁ…と思ったり。 でも、W63CA機種変(2008/12月)からまだ1年だし早計か…

e-mobile の Pocket Wifi

データ通信と割り切るなら、e-mobile の Pocket Wifi(D25HW) にも魅かれる。 e-mobile 通信を利用し、Wi-Fi ルータ機能がついていて、6000円で 通信料金も(スーパーライトデータ)で 1400~5380円/月。 Wi-Fiルータだから、DSやPSPなども普通に繋がるらしい。

問題はサービスエリア。サービス開始当初の都心だけというのも解消され、2009年11月で、 あとほんのちょっとの距離まできている…

FAXとメールの連動

自宅のメイン(通常私の親)の電話に、FAX機能付きに変更した。 以前より、FAXとの連動は実験していたので、携帯からメールした内容を、FAXに転送して、 インターネット音痴の親に、活用してもらうのが目的。

まず、手始めに自室の電話と、親のFAXとの連動ということで、 自室電話に届いたFAXを、携帯電話に画像添付して送るように設定する。 今までは、gif 形式にてパソコンに送るようにしていたけど、 携帯に jpeg 添付にして送るように変更した。gif だと、携帯では添付容量サイズエラーが 発生するし、jpeg でもあまり大きい画像は添付が読めなかった。 そこで、G3形式からjpeg形式に変換するときにも、画像サイズを小さくしたりという手間がかかった。

次に、携帯から送ったメールを、親のFAXに送る機能。 これも、以前に設定してあったので、そのまま使ったけど、mgetty のバージョンアップの中で、 ディレクトリのオーナーが変更になっていたので、ちょいとディレクトリの所有権を変更する。

これで便利!といいたいけど、一番の問題は、 親が着信FAXに気づいて、ちゃんと読んでくれるか…。 最近のFAXは、無駄印刷をしないように、印刷用紙は必要に応じてセットして、印刷を行うのが基本。だから、「印刷」の仕方 or 着信FAXの見かたを、覚えてもらわないといけない。 せめて、うちの子供に覚えてもらわねば….

追記:ママがfaxmail機能を実験するのはいいけど、いきなり画像添付付きを投げてきた。 マルチパート処理をしてないから、mimeエンコードされた大量文字列をFAXに送ってしまう。 画像のG3変換までプログラムを書くのは面倒なので、添付ファイル付き Multipart/mixed は、 受け付けない様に処理を追加した。

SPAMの初見ドメイン88%

相変わらず自宅に届くSPAMが多い。 SPAMの多くは.procmailにて、フィルタリングをしており、spammassassinによる効果が大きい。 フィルタ除去をかいくぐったメールを見ると、 ディプロマミル系が多い。 んで、手作業で追記したルールで消しているメールもあるため、受信メールの全体像を知りたくって、 LOGを残すようにした。

数日間で188件ののうち、mail.go.ne.jp(8),docomo.ne.jp(7),excite.co.jp(6)が、 繰り返し送ってきているもの。その他 129件が初見ドメインからの迷惑メール。 届いたメールの88%が初見では、procmail の手作業で削除するように記述するのが、 アホみたいに思えてくる。

数日間の分析の結果

試しに、ドメインから geoiplookup を使って、所属する国を調べてみた。 ".com"からのSPAMが多いので、アメリカの57は実際の国の判断は、難しい。 しかし、SPAM落ちしているメールでロシア語が多かった思いがあるので、 ".com"に分類されている可能性が高いとしても、意外と少ないとの感想。

     57 GeoIP Country Edition: US, United States
13 GeoIP Country Edition: DE, Germany
12 GeoIP Country Edition: JP, Japan
(まともなメールも含むので、しかたない) 7 GeoIP Country Edition: GB, United Kingdom 4 GeoIP Country Edition: FR, France 4 GeoIP Country Edition: CN, China 4 GeoIP Country Edition: CA, Canada 3 GeoIP Country Edition: IT, Italy 2 GeoIP Country Edition: SG, Singapore 2 GeoIP Country Edition: RU, Russian Federation 2 GeoIP Country Edition: IN, India 2 GeoIP Country Edition: CH, Switzerland

猫に学位

ついでにディプローマミルを調べたら、「猫に学位」という記事を発見。 猫好きの歪んだ先入観で見ると、コルビー君は頭がよさそうに見える…

gw6cを試す

自宅に、IPv6接続のためのトンネルサービスを提供してくれているFreenet6より、 gogoNETに移管したといったようなメールが届く。ということで、gogoNETに改めて登録し、 IPv6接続を久々に試してみる。

以前は、tspc なるIPv6トンネル用のパッケージをインストールしていたけど、 gogoNETでは、gw6c なるソフトを提供している。ダウンロードして試そうとしたが、 Debian/sid であれば、gw6c なるパッケージがすでに提供されていた。ということで、 "aptitude install gw6c"を実行する。

ただ、sid ベースなのか、設定ファイルがうまく自動でつくられないのか、ボチボチと設定が必要な様子。

(( install ))
# aptitude install gw6c
# zcat /usr/share/doc/gw6c/examples/gw6c.conf.sample.gz
> /etc/gw6c/gw6c.conf
# cd /etc/gw6c/
# vi gw6c.conf
(( /etc/gw6c/gw6c.conf ))
# デフォルトより変更したもののみ抜粋
userid=XXXXXXXX
passwd=YYYYYYYY
# freenet6.netの利用登録が必要
server=authenticated.freenet6.net
auth_method=any
host_type=router
prefixlen=64
if_prefix=eth0
# AAAAアドレスを参照するために必要?
dns_server=ns1.freenet6.net
# template/linux.sh のあるPATH
gw6_dir=/usr/share/gw6c
if_tunnel_v6v4=sit0
if_tunnel_v6udpv4=tun
if_tunnel_v4v6=
template=linux
log_stderr=1  # 動作確認用
(( 実際に接続させる ))
# /etc/init.d/gw6c start
Starting Gateway6 Client : gw6cGateway6 Client v6.0-RELEASE ...
Built on ///Linux gonzo 2.6.30-1-686 #1 SMP ...
The Gateway6 redirection list is [ amsterdam.freenet6.net, montreal.freenet6.net ].
The optimized Gateway6 redirection list is [ montreal.freenet6.net, amsterdam.freenet6.net ].
# 初めて接続する時は、下記のような確認画面が現れた...(yを入力した)
montreal.freenet6.net is an unknown host, do you want to add its key?? (Y/N) y
(( 繋がったかどうかを確認 ))
# ping6 ipv6.google.com
PING ipv6.google.com(tx-in-x68.google.com) 56 data bytes
64 bytes from tx-in-x68.google.com: icmp_seq=1 ttl=50 time=419 ms

ということで、設定を色々と触る必要があったけど、ひとまず動き出す。
ルータモードで動かしているので、次はradvdの設定。やり方は同じなのかな….

追記:radvdの起動は、template/linux.sh に記載されており、radvd.conf を自動的に生成し、 勝手に起動してくれるみたい。 このため、/etc/radvd.conf は削除しておく。 ひとまず、これで周辺のPCに、アドレスが配給されていることは確認できた。

一般的に、radvd の動作の際、自分の吐きだすルーティング情報を読み込まないように、 "echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra"を設定するといった記載があるが、 確認をすると、accept_ra は1のままであった。そこで、template/linux.sh に以下の処理を追記する。
# (不要なのかなぁ…)

(( /usr/share/gw6c/template/linux.sh ))
interface $TSP_HOME_INTERFACE
{
:
};
EOF
# 以下の2行を追加
Exec $sysctl -w net.ipv6.conf.all.accept_ra=0
Exec $sysctl -w net.ipv6.conf.all.accept_redirects=0
# Start the radvd daemon.
:

現状では、radvdでIPv6アドレスを受け取ったWindows機が、外部にはつながっていない。
# どうも、ip6tables の FORWARD の設定で radvd で配給した
# アドレスを許可していないのが原因。
# さて、freenet6からもらえるアドレスは動的だし、どう設定しようか…

さらに追記:Windows機が繋がらないのは、やはりFORWARD設定のせい。 freenet6からのアドレスは、/40であれば、固定なので、 "saddr( 2001:05c0:1100::0/40 ) ACCEPT"の設定を追加したら、うまく動き出す。

WZR-HP-G300NHのDMZとPPTPのトラブル

出先での自宅サーバ内のデータ確認などの目的で、 ルータWZR-HP-G300NHのVPN(PPTP)の設定を行った。

しかしながら、職場より実験すると、VPNの接続にタイムアウトする。 よくよく調べてみると、ルータでVPNを走らせているから、 PPTPのパケット(port=1723)は、ルータが横取りしなくては いけないはずなのに、DMZの設定が優先され、DMZ内部のサーバに 届いている。ファームウェアのバグと思われ、質問などを行ったが、 検索したら、2chの書き込みにそれっぽい記述をみつける。

この結果、ちょっと不安ながらも、αバージョンのファームウェア 公開にて、対応が可能みたい。
http://code.zqwoo.jp/

ということで、ファームを更新して実験するが、 相変わらず、port=1723 がDMZ内部に届いている…. 意味ないじゃん…

ひとまず、バッファロー提供の質問サイトにて、上記ネタを掲載しておいた。 DMZを使わずにポート変換を使えば…との話もあるが、様々なサーバ系を試しているから、 ポート変換だとサービスの数だけ登録の必要があるので、非現実的なんだが…

WiFiルータをWZR-HP-G300NHに更新

802.11nの距離性能の良さと、802.11g/a の分離/混在の製品が出ていることから、 Buffalo WZR-HP-G300NHに更新する。 お古になったルータは、以前からお古のゲームをくれる 親戚のお兄ちゃんにお返しの予定。

iフィルタのトラブル

設定の間にネットが切れると、いざトラブルに絡んだ検索ができなくなるので、 WANを繋がない状態でMACアドレスフィルタの情報や、基本設定を行う。 その後、ルータを切り替えるが、繋がらない。 WAN側のページを見ると、ルータ内臓のコンテンツフィルタの「iフィルタ」の設定画面 に強制的に飛ばされ、「iフィルタを使わない」を選ぶんだけど、設定が保存されない。

調べてみると、G300NHのDHCPから取得したアドレスで設定を行わないと、 正しくページ遷移ができないのが原因。 自宅LANは、自宅サーバのDHCPを使ったMACアドレス割り付けの固定アドレスを使っている。 さらに自宅内DNSサーバでホスト名を割り振っていて、G300NHのDHCPが吐くBuffalo.setupという ホスト名が分らなくなるのが原因。
ということで、

(/etc/bind/named.conf.options)
options {
:
forwarders {
// 202.127.80.1;  プロバイダのDNSサーバ
// 202.127.80.1;    の設定を消す。
192.168.2.1;      DNS問い合わせをルータに
};
:
};

MRTGでパケット流量を観測

自宅のネットワークは、SPAMやらネットワーク攻撃やらの動向の予知のために、 MRTGにてパケット流量を測定していた。 しかし、G300NHに更新し予想通り、パケット流量データがとれなくなった。 パケット流量を表示するページのURLを見ると、

http://192.168.11.1/cgi-bin/cgi
  ?req=frm&frm=packet.html&rand=xxxxxxxx

にて、URL末尾にセッションIDが付いており、簡単なスクリプトでは観測が困難と思われた。 しかし、パケット流量程度にセッションIDは要らないだろうと、試しにrand以下を抜いてみた。 すると予想どおりパケットデータが取り出せた。吐きだすHTMLを読むと、流量の行は、 『<div class="DIGIT">xxxxxx</div>』であった。 そこで、snmpから呼び出されるスクリプトを以下のように書き換えた。

(( /etc/snmp/airstation.sh ))
#!/bin/bash
/usr/bin/w3m -dump_source -no-proxy \
'http://root:@192.168.11.1/cgi-bin/cgi
?req=frm&frm=packet.html' 2>&1 \
| /bin/sed -n '/class="DIGIT"/ s/^.*>\([0-9]*\)<\/div>.*$/\1/ p'
/usr/bin/w3m -dump_source -no-proxy \
'http://root:@192.168.11.1/cgi-bin/cgi
?req=twz&frm=logout.html' >/dev/null 2>&1
(( /etc/snmp/snmpd.conf ))
extend .1.3.6.1.4.1.2021.50 airstation /etc/snmp/airstation.sh

これにより、airstation.sh にて、以下のような12行の数値が得られるようになる。

LAN有線送信正常
LAN有線送信エラー
LAN有線受信正常
LAN有線受信エラー
WAN有線送信正常
WAN有線送信エラー
WAN有線受信正常
WAN有線受信エラー
LAN無線(802.11g)送信正常
LAN無線(802.11g)送信エラー
LAN無線(802.11g)受信正常
LAN無線(802.11g)受信エラー

Lightningのネットワーク上のカレンダ

スケジュールの管理は、最近は携帯やGoogle Calendarと同期できるようにしてあるので、便利なんだけど、チラホラと書き込んだはずのイベントが消えている。 よくよく考えていると、デスクトップとノートで同時にLightningを開いていて、 それぞれでスケジュールを追加する時に、書き込まれるタイミングによって 1つの.icsに別のタイミングで書き込まれることで、消えてしまうみたい。

時々、ファイルがロックされるのか、iCalがReadonly になるのも不便だけど、 無秩序に別々にLightningを起動するとこうなってしまうのね。 書き込み時にマージしてくれるといいんだろうけど…

ということで、自分なりのルールで、スケジュール追加の前後にマメに「更新」、 をするしかないな…

inetd経由の特別ポート番号でsshバックドア

出先から自宅サーバにアクセスするためのsshのバックドアを、 携帯からアクセス許可をしない限り拒絶するように設置する。 特設ポート番号でinetd経由で"sshd -i" を起動する様に設置したんだけど、 どうも接続が拒絶される。

/etc/hosts.allow にて、本来の22番ポートは、職場からの接続以外を拒絶するように してあるが、特設ポート用のallowが書いてあるんだけど、"sshd -i"にて起動する時にも 22番ポート用のallowを読んでいるみたい。 しかたがないので、iptables にてフィルタをかけるように設定し、 hosts.allow は"ssh: ALL: allow"にて設定する。

その前に、自宅ルータで特設ポートを以前に別サーバ宛のsshに使っていたので、 つながらないというオチもあったんだけど…

ECOポイント7000点

子供部屋のエアコンを購入して、今日は工事日だった。 保証書も揃ったことで、エコポイントの必要書類が揃った。

http://eco-points.jp/にて、 住所氏名購入店舗、製品番号、製造番号を入力し、申請書類を作成する。 これに、購入時のレシート(原本)と、製品保証書(コピー)を糊づけして、 郵送する。ただ、書類にはレシートと保証書コピーを、 重ならないように糊づけと書いてあるけど、 A4用紙になぜかB5サイズ印刷されて、 どこをどうやったら重ならない様に糊付けしろってんだよぉ~♪

ポイントの利用

ポイントは、カタログギフトや地域産品などにできるんだけど、 ひとまずJCB商品券に交換。 Edyなどの電子マネーにもできるみたいだけど、肝心の店で使えないと困るので、 商品券が無難だろう。

iCalendarをGoogle Calendarに転送

Net::Google::Calendarモジュールが便利そうだったので、 iCalendar(.ics)のファイルを Google Calendar にアップロードするプログラムを、 Perl で書いてみた。 今までは、Java で書かれたGCalDaemonを使っていたけど、カスタマイズもしづらかった。

繰り返しイベントについては、未対応のまま。 本当は同期させたいけど、Google側のEventのIDはURL形式で、iCal と互換性がない。 だから、アップロードの度に、一旦全イベントをチマチマ消しているのが、美しくない。 かといって、iCal と Google Calendar の ID の対応表をいちいち更新するのも面倒だし。

get_eventsとdelete_entryの使い方

# Google Calendar の登録情報
$url = 'http://www.google.com/'
.'calendar/feeds/XXXX%40gmail.com/'
.'private-XXXXXXXXXXX/basic' ;
$user = 'XXXX@gmail.com';
$pass = 'PPPPPPPP';
$calname = Jcode->new( 'NNNN' )->utf8 ;
my $cal = Net::Google::Calendar->new( url => $url );
# $cal->{_ua}->env_proxy;               # (2)
$cal->login($user, $pass) or die $@;    # (3)
# 指定されたカレンダーを選ぶ
my $dest_cal ;
foreach my $c ( $cal->get_calendars ) {
$dest_cal = $c if ( $c->title eq '<カレンダーの名前>' ) ;
}
if ( $dest_cal ) {
# 登録されていたイベントを全部消す
$cal->set_calendar( $dest_cal ) ;
my $start_index = 1 ;
my $max_results = 20 ;
my @ev ;
while( 1 ) {
# 指定件数しかイベントを返さないので少しづつ消す
@ev = $cal->get_events(
start-index => $start_index ,
max-results => $max_results ) ;
last if ( @ev == 0 ) ;
foreach my $e ( @ev ) {
$cal->delete_entry( $e ) ;
}
$start_index += @ev ;
}
}

Google 検索

My Google   Yahoo

Microsoft

ファンサイト