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

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

システム

最近の投稿

アーカイブ

カテゴリー

mineo パケット繰り越し

危ない、mineo のパケット繰り越し作業忘れる所だった。日付変更1時間前に気づいてよかった。
mineo は、パケット繰り越しは1ヶ月までなので、家族間でパケットギフトをしておけば、2カ月前のパケットも繰り越しできる。

ということで、月末の恒例行事として、家族シェアになっているパケット残量(今月は21GB)を、7GB×3人でパケットギフトのローテーション。

EdgeRouter-X v2.0.9 をインストール

Edgerouter-X の新しいファームウェア ver 2.0.9 が 11/19 に公開されていた。

v.2.0.9 インストール

EdgeRouter-ERX は、HDD? 領域が不足しているので、インストール前に古いバージョンのイメージファイルを消す必要がある。

$ slogin ubnt@edgerouterx
ubnt:~# delete system image

EdgeRouter の管理画面を開き、v2.0.9 をインストール

v2.0.9の新機能

リリースノートを見ると、

CLI - Add new CLI command "add system image" to automatically
      download and install latest stable firmware.

と書いてあるので、今後は firmware 更新作業は、以下の様にするだけ…ということかな。便利。、

$ slogin ubnt@edgerouterx

ubnt:~$ sudo add system image
ubnt:~$ sudo bash
ubnt:~# add system image

再起動 自作の l2tpd 接続通知の設定ファイルのインストール

$ scp /...../edgeos_ubnt_20180914-notify-l2tpd.tar.gz ubnt@edgerouterx
$ slogin ubnt@edgerouterx
ubnt:~$ sudo bash
ubnt:~# cd /
ubnt:~# tar zxvf ~ubnt/edgeos_ubnt_20180914-notify-l2tpd.tar.gz

bind9でfilter-aaaaがpluginになる

自宅サーバを使っていて、raspberry-pi の更新をかけていたら、IPv6アドレスにつながらないトラブル発生。

我が家では、上流が IPv4-only だけど、自宅内の機器間のに IPv6 も使えるようにしている。このため、DNS の設定では、bind9 に、filter-aaaa-on-v4 の設定を加え、IPv4 の機器からの問い合わせには、IPv4 のみを返答することで、対応していた。

しかし、改めて “nslookup www.google.com 192.168.xx.xx” を実行したら、IPv4からの問い合わせの癖に、しっかり IPv6 が返ってきている。

調べてみると、bind9 (9.14)から filter-aaaa 機能は plugin になるみたい。んで、自宅サーバは 9.11→9.16 により filter-aaaa がoffになったのが原因…と思ったけど、syslog をみると “–enable-filter-aaaa”付きでcompileされてるし、”option ‘filter-aaaa-on-v4’ is obsolete and should be removed” と表示されてるから、現状では、まだ使えているはず。

ひとまず IPv6 オフ

ラズバイは、ひとまず下記の設定で、IPv6 をオフにしておく。

$ sudo /etc/sysctl.conf

((下記を追加))
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

$ sudo sysctl -p

これは、IPv6 が戻ったら、元に戻そう。

bind9 に plugin の filter-aaaa 設定

plugin になったら、下記のような設定をするようだけど、うまくいかないので近日中に要対応。

$ sudo vi /etc/bind/named.conf.options

plugin query "/usr/lib/x86_64-linux-gnu/named/filter-aaaa.so" {
    filter-aaaa-on-v4 yes ;
    filter-aaaa-on-v6 yes ;
    filter-aaaa { any ; }
} ;

mineo繰越し

mineo接続、子供用3GB/月×2回線+自分のデータ通信用0.5GB/月×1回線。
遠隔授業で、自宅にいる機会が増え、WiFiが使えたもんだから、 月末にパケットを相互に移動しながら繰越しさせていたら、 3人のトータルが29GB。本来は6.5GBなんだけどね。

arpに169.254.x.xが出てくる

自宅サーバの状況を見ていたら、169.254.185.142 という IP アドレスが ARP の一覧に出てくる。

MACアドレスを見ると、設置している Raspberry-Pi と同じ。

リンクローカルアドレス

以前にも同様のエントリーが出てきたことがあったので、改めて原因をしらべると、こちらに該当すると思われる解説記事。

DHCPの異常で、アドレスが得られない時に、暫定で割り振るIPアドレスみたい。その他の原因も考えられると説明があるが、実際数日間に DHCP の設定を触っていたから、出てきてもしかたがないかな。

間違ったARPエントリを消す

“arp -d 169.254.x.x”で、エントリーを消そうと思うがうまく消えてくれない。深く考えてもキリがないので、夜中にサーバの再起動させよう。

うまく消えないので、色々調べながら、以下のコマンドで消せた。

“ip -4 neigh del 169.254.x.x lladdr yy:yy:yy:yy:yy:yy dev eth0″

Apple WatchのProxyダメだな

最近、少しでもキャッシュの効果が出ることもあるかと、squid のキャッシュproxyを動かしていた。

また、自宅内アクセス時に、proxyがかかると、不都合もあったので proxy.pac の自動設定を設定したけど、その頃からApple Watchの天気のコンプリケーションが表示されなくなった。

どうもproxy.pacをうまく処理できないのか現在地情報がとれないようで、天気情報が出てこない。

ということで、iPhoneでApple Watch使うなら、proxyは使っちゃダメだな。

WiFi中継機WEM-1266の増設

気まぐれの1Fのネットワーク環境の改善ということで、WiFi中継器 WEM-1266 を増設してみた。

今までは、WiFi中継器 WEX733D を使っていたが、動作が不安定だし、WEX733Dの先のHUB配下の機器の MAC アドレスが正しく取得できないので、DHCPでMACアドレスにあわせたIPアドレス配布に失敗していた(このため固定IP設定していた)が、WEM1266であれば問題ナシ。

{CAPTION}

Google Home セットアップ中はiPhoneのProxyはオフ

Google Home アプリの設定を確認していたら、ファームウェアの更新みたいな表示が出たので Google Home mini の初期化(本体裏のスイッチ長押し)を行う。
# たぶん、これもproxy経由が原因だったんだろうな。

Google Home 初期化に失敗

普通に初期化を行うが、最終段階でエラーの表示で「…セットアップされているようですが、iPhoneからの通信に応答しませんでした。Google Home mini と iPhone が相互に通信出来ないネットワークに接続されている可能性があります…」といったエラーが表示され、初期化に失敗する。いろいろと試したが、失敗するが、ふと自宅内で Squid の キャッシュProxyサーバを運用しているのを思い出した…。

Proxyをオフにしたら、無事接続成功となった。

Proxy 自動設定Scriptの適用

他にも色々と試すと、Proxy設定がONだと、iPhone から Google Home mini へのストリーミングもできなくなっている。

最終的には、iPhone の WiFi 設定で、Proxy 設定の自動化で、Proxy設定のJavaScript(proxy.pac: 同じサブネット内は Proxy を使わない)を設定となった。

IFTTTのwebhooksトリガーでLINEメッセージ送信

家に帰る時に、家族のLINEに「今から帰る」とメッセージを送りたいんだけど、iOSのショートカットだと、メッセージ文面をいちいち入力する必要がある。そこで、LINEのメッセージ送信は、IFTTT に任せることにして、スマホでショートカットなり、ショートカットのオートメーションから、LINEメッセージ送信を起動したい。

また、IFTTTの JSON形式を返すWebhook trigger だと、safari が開いたままになるので、webhook trigger を起動し、x-callback-url を返す trigger ページを作ってみた。

<?php
// IFTTTのwebhookトリガを呼出す
//  x-callback-url の機能で呼び出し側(shortcut)に戻る

// ifttt webhook url
$ifttt_webhook = "https://maker.ifttt.com/trigger/%s/with/key/xxxxxxxxxxxxxxxxx_xxxxxx" ;
$mykey = "yyyyyyyyyyyyyyyyyyyyyy" ;

// パラメータを読み込む
$key = isset( $_GET[ "K" ] ) ? $_GET[ "K" ] : "" ;
$command = isset( $_GET[ "C" ] ) ? $_GET[ "C" ] : "" ;
$json = file_get_contents( "php:input" ) ;

// 想定外の接続は無視
if ( $_SERVER['HTTPS'] != 'on' || $key != $mykey )
    exit( 1 ) ;

// 時間によるwebhook呼出し制限の前処理
$localtime = localtime( time() , true ) ;
$l_hour = $localtime[ "tm_hour" ] ;
$l_week = $localtime[ "tm_wday" ] ;

// webhookの呼出し
function post_webhook( $trigger , $json ) {
    global $ifttt_webhook ;
    $url = sprintf( $ifttt_webhook , $trigger ) ;
    $opts = array(
        'http' => array(
            'method' => 'POST' ,
            'header' => 'Content-type: application/json; charset=UTF-8' ,
            'content' => $json ) ) ;
    $context = stream_context_create( $opts ) ;
    header( "Content-Type: application/json; charset=utf-8" ) ;
    // x-callback-urlで処理後はショートカットに戻す
    header( "Location: shortcuts://" ) ;
    // IFTTTのtriggerを呼出す
    print file_get_contents( $url , false , $context ) ;
}

// GETパラメータで呼び出しするwebhookを切り替え
if ( $command == "go_home" ) {
    // ショートカットからの呼出し用
    // go_homeリクエストを中継
    post_webhook( "go_home" , $json ) ;
} else if ( $command == "go_home_time" ) {
    // オートメーションからの呼出し用
    // 平日の帰宅時間のみ中継
    if ( 17 <= $l_hour && $l_hour < 21
         && 1 <= $l_week && $l_week <= 5 )
        post_webhook( "go_home" , $json ) ;
    else
        exit( 0 ) ;
} else {
    exit( 1 ) ;
}
header( "Content-Type: application/json; charset=utf-8" ) ;
?>

amavisd-newでDKIMのエラー

数日前から、以下のようなエラーメールが届くようになった。

Argument "1.20200513.1" isn't numeric in numeric ge (>=) at /usr/share/perl5/Mail/SpamAssassin/Plugin/DKIM.pm line 686.
Argument "1.20200513.1" isn't numeric in numeric ge (>=) at /usr/share/perl5/Mail/SpamAssassin/Plugin/DKIM.pm line 809.

どうも、DKIM の Perl スクリプトが amavisd-new のバージョン確認で、実数形式のバージョン番号の比較でエラーになっている様子。ge 使えって書いてあるし、そうしてみた。でも、versionが9.9超えたら、また変になるよな。まあ、両方とも 1.2とか2.1とかだし 9.9 超える頃には、更新かかるだろ。

686: -if ($version >= 0.31) {
     +if ($version ge "0.31") {
809: -if (Mail::DKIM::Verifier->VERSION >= 0.40) {
     +if (Mail::DKIM::Verifier->VERSION ge "0.40") {  

Google 検索

My Google   Yahoo

Microsoft

ファンサイト