自宅内のIPv6ちょっと対応
iOS 10 の導入で、自宅サーバで IPSec の VPN サーバを動かしたいけど、 なぜかうまく動かない。光ファイバ通信の融通の利かないルータの中に、 融通の利く既存のルータの2段ルータ構造で、IPSec 関連のパケットが 落とされている可能性があったので、VPNパススルーやらIPv6パススルーを 試してみた。
ただ、IPv6パススルーを有効にすると、パソコンなどが IPv6 RA 情報を 拾って IPv6アドレスを取得する。これはいいんだけど、DNS として、 ルータを使うようになってしまう。我が家では自宅サーバ用に自宅内 DNS を動かしているので、グローバルなDNSに直接つながると、自宅内 で自宅 Web ページが見えなくなってしまう。
自宅内 IPv6 用 DHCP サーバ
そこで、IPv6用 DHCP サーバを以下のようにして動かした。
ただし、IPアドレスまで割り振りたかったが、RA 情報を使って V6アドレスをつかんでしまうので、自宅内 DNS サーバを使うように DNS サーバ情報を配るだけ。
(( /etc/default/isc-dhcp-server )) INTERFACESv4="eth0" + INTERFACESv6="eth0"
(( /etc/dhcp/dhcpd6.conf )) + option dhcp6.name-servers fe80::xxxx:xxxx:xxxx:xxxx; + option dhcp6.domain-search "自宅のドメイン名";
SPF(メール送信者認証)
職場で立てたサーバで、gmail などに送ったメールが spam 扱い などをされたので、DKIM の設定を試しているけど、 なかなか設定が面倒。
ふと、自宅サーバでも、メールの送信者認証を試そうとした。 そこで、mydns.jp によるドメイン名の DNS レコードを確認していたら、 特に DNS の設定をしていないけど、mydns.jp 側で SPF の情報を 出してくれているみたい。
$ dig @8.8.8.8 txt tsaitoh.net tsaitoh.net. 299 IN TXT
“v=spf1 +ip4:xxx.xxx.xxx.xxx a:auth.gate-on.net a mx -all”
であれば、gmail 宛てのメールで spf が pass しているかと調べたら、
Authentication-Results: mx.google.com;
spf=fail (google.com: domain of xxxxxxxx@tsaitoh.net
does not designate zzz.zzz.zzz.zzz as permitted sender)
smtp.mailfrom=xxxxxxxx@tsaitoh.net
Received: from
scan03-mds.s.noc.itscom.net
(scan03-md.ns.itscom.net [175.177.155.124]) :
メールヘッダには、上記のように記録されていて、 spf 認証に失敗している。 メールの経路に itscom.net というのが入っているので何かと思ったが、 プロバイダにしている丹南CATV関係。
よくよく考えたら、自宅サーバからメールを出すときには、 OP25B(公式メールサーバ以外は、25番ポートをブロック)されている(いた) ので、postfix の transport を設定し、smtp.ttn.ne.jp 経由でメールを 出していた。 このため、tsaitoh.net のメールが、itscom.net から 出ているので怪しいので 「spf=fail」となっている。
ただ、先日学生相手の情報セキュリティの説明を自宅を例に説明していたら、 OP25B でブロックされていないのを 見つけていた。 (たぶん、光ファイバ接続の nextr 導入で制限が外れているのだろう)
ただし、丹南CATVが OP25B を復活させる可能性もあるので、 icinga にて、丹南CATV以外のメールサーバと SMTP で繋がるかチェックを加えておいた。
ということで、postfix の transport の設定を、直接メールを出すように 直したら、無事に spf=pass となった。(^_^;
Received-SPF: pass (google.com: domain of xxxxxxxx@tsaitoh.net
designates xxx.xxxx.xxx.xxx as permitted sender)
client-ip=xxx.xxx.xxx.xxx;
メール受信時のチェック
せっかく、送信時のSPF認証が通ったし、受信時にSPF確認しようと思ったけど、 postgray を導入していて、特に spam の負荷も問題にならない状態なので、 (設定面倒だし)、そのままにしておこう。
メールアプリの使い分け
仕事やプライベートでメールアカウントを色々と使っていて、 デスクトップでは、Thunderbird で統一している。
同じように、iPhoneでのメールの読み書きは、Gmailのメール アプリとかもあるけど、操作感を同じにしたかったので、 標準のメールアプリを使っていた。 このためメールのプロトコルは IMAP4 を使っている。
それなりに満足してずっと使っていたけど、 最近は職場でWiFi環境も整備され、 どこでもネットの接続ができる。 ただ、プロトコルが HTTP,HTTPS に制限されているため、 自分の部屋のWiFiにつながっているときは問題ないけど、 職場WiFiにつながっているとメールが届いても気づくのが 遅れてしまう。
しかし、iPhoneのGmailアプリやOutlookでは、プロトコルに HTTPSを使ってくれるので、職場WiFiでもメールが読み書きできる。 そこで、起動しないでいた Gmail,Outlook,Yahooメール を 改めて使うようにしてみた。
利点としては、HTTPSに制限されててもメールが読めるのに加え、 アイコンバッジで、どのメールアドレスに どれだけメールが届いているのか分かる所。 (標準メールに統一していると、全メールアカウントの総数しか分からない)
でも、操作感がゴチャゴチャでイラっ。 慣れるのに時間がかかるかな。
自宅ルータ、管理画面HTTPとVPNだけ不調
今日は、職場の宿直。 でも自宅サーバで、ルータが変。
ルータの死活検出で、ping と管理画面のHTTP通信を使っているけど、 ping では生きているけど、HTTPが通らない。 そのくせ、ルータ機能は動いている。んで、VPN接続は動かない。
こういう時は、どんどん悪化する可能性もあるし、 LINE で奥さんに、電源リセットを頼んで無事復帰。
ルータの故障の前兆かもしれないし、ひとまずblogにメモ。
ネットワークトラブル
自警消防隊のネタで早起きしているけど、 自宅がインターネットに接続されていない。
[2016/07/08]追記
先日のネットワーク接続トラブルは、光のルータ電源リセットで復帰したけど、 我が家だけの問題かな…と思っていた。 だけど、ルータのネットワークトラヒック観察の出力を見ていると、 特に使っていない状態でもトラヒックがあったりで何か変….と思っていたけど、 ルータリセット後は、そのトラヒックが激減。 この雰囲気からすると、症状の発症した時間が00:00だったのもあるし、 ケーブルテレビ側で、ファームウェアリセットを遠隔実行したんだろうな。
Windows10のVPN接続
Surface 端末で、自宅の Buffalo WZR-1166DHP2 にVPN接続 をしようと設定したけど、 どうも繋がらない。
調べてみると、VPNのセキュリティの設定で、 「データーの暗号化(D)」を「暗号化が必要(サーバーが拒否する場合は切断します)」 に変更する必要があるみたい。
G-240W-B の Munin プラグイン
自宅の光通信化により、新しいルータが入ったが、パケット流量測定の ための Munin プラグインを作成してみた。
ルータのデータ取得のため、ルータの「LAN状態」のページのHTMLを観察しながら、 Cookieによるセッションを扱いながらパケット流量のデータを取るPerlスクリプトを記述。 Perl でのセッションをまたがったデータ取得プログラムのいい練習になったかな。

ルータからは、Packets* と Bytes* が取得できるけど、 Bytes だと、Muninの測定周期5分で、簡単に 2^32 を超えちゃうようで、 使い物にならないみたい。BPS が直感的だから、Bytes…に変更したけど、 すぐに元に戻す。
#!/usr/bin/perl #%# family=auto #%# capabilities=autoconf use LWP::UserAgent ; use HTTP::Cookies ; # ルータ情報 my $router = "http://192.168.1.254" ; my $auth = [ 'name' => "userAdmin" , 'pswd' => "xxxxxxxxxxxx" ] ; # Munin のグラフ情報の設定用処理 if ( defined($ARGV[0]) and $ARGV[0] eq "config" ) { # グラフの基本情報 print "graph_title FTTH GPON network statics\n" ; print "graph_category network\n" ; print "graph_vlabel packet/sec (-)send / (+)recv\n" ; print "graph_args --base 1024\n" ; print "graph_printf %4.1lf\n" ; # LAN1..LAN4 for( my $i = 1 ; $i <= 4 ; $i++ ) { foreach my $sr ( "Sent" , "Received" ) { print "LAN$i$sr.label LAN$i pkt\n" ; print "LAN$i$sr.type COUNTER\n" ; if ( $sr eq "Sent" ) { print "LAN$i$sr.graph no\n" ; } else { print "LAN$i$sr.draw LINE2\n" ; print "LAN$i$sr.negative LAN${i}Sent\n" ; } print "LAN$i$sr.max 1000000\n" ; } } exit 0 ; } # ルータに login my $ua = LWP::UserAgent->new ; my $cookie = new HTTP::Cookies() ; $ua->cookie_jar( $cookie ) ; my $res = $ua->post( "$router/login.cgi" , $auth ) ; if ( $res->is_redirect ) { # LAN情報を取得 $res = $ua->get( "$router/lan_status.cgi?lan" ) ; my $flag = 0 ; my $lan_id = 0 ; foreach my $line( split( /\n/ , $res->content ) ) { if ( $line =~ /^\s+var\s+lan_ether=/ ) { # "var lan_ether="を探す $flag = 1 ; } elsif ( $flag && $line =~ /^(|,)(\d+):\{/ ) { # LAN番号を取得 $lan_id = $2 ; } elsif ( $flag && $line =~ /^Packets(Sent|Received):(\d+),$/ ) { # PacketsSent / PacketsReceived print "LAN$lan_id$1.value $2\n" ; } elsif ( $flag && $line =~ /^;$/ ) { last ; } } }
丹南ケーブル・ライフラインメールサービス
以前より、丹南ケーブルのライフラインメールサービスのページの 情報から、RSS フィードを生成して、丹南地域の防災情報を 確認していたけど、最近見れてなかった。
参考にしていたURLの情報が更新されなくなったみたいなので、 プログラムを更新。
