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

サーバ⚙

アーカイブ

カテゴリー

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 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") {  

サーバ原因不明のフリーズ

休みののんびりする中、自宅サーバがフリーズ。出先だったのでママが恐る恐るリセット。

普通に起動したけど、icinga, munin を見ても予兆の変な雰囲気は無かった。

自宅に帰って改めてフリーズ時間の履歴を見ると、以下のようなところで syslog が途切れていた。

Apr 29 09:49:53 perrine postfix/smtpd[1325089]: connect from unknown[185.143.xx.xx]
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

この後、このIPアドレスから以下のような接続が続いている。postfix の脆弱性でもあるのかな。侵入には失敗しているようだが、なんか不気味。あまりにも不気味だし、繰り返し login を試しているし、iptables で接続をブロックする。

Apr 29 10:27:08 perrine postfix/smtpd[1943]: connect from unknown[185.143.xx.xx]
Apr 29 10:27:10 perrine postfix/smtpd[1937]: warning: unknown[185.143.xx.xx]: SASL LOGIN authentication failed: authentication failure

WRM-D2133HPのファームウェアアップデート2.85

自宅ルータ WRM-D2133HP , WEM-1266 のファームウェアアップデート(Ver 2.85)が出たみたい。

これにより、ローミングアシスト機能により、端末との電波状況が悪くなった時に、より良い電波状況の接続先に切り替えを促すことができるらしい。端末も自宅のスマホなら対応しているようだ。

また、電波強度を測定した結果を表示してくれる機能もあり、間取り情報があれば電波強度のヒートマップを作れるみたい。ただ、1Fには機器が中継器だけなので、あんまりあてになる地図ではないな。

bc.googleusercontent.com からの大量アクセス

サーバの負荷が急に上がってきた。

アクセス元を確かめると、35.210.166.102 。調べると 102.166.210.35.bc.googleusercontent.com. からのアクセスで、関連記事を調べるとこういった記事が上がってくる。Google 提供のクラウドみたいで個人からのアクセスらしい。どちらにしろ、10秒程度で次々とページを漁ってる、とてもマナーが悪いクローラー。User-Agent は、以下のようになっている。 https://velen.io をアクセスするけど、つながらない。

"Mozilla/5.0 (compatible; VelenPublicWebCrawler/1.0; +https://velen.io)"

ひとまず、FireWall の IPアドレス指定で接続拒否を行う。

((( /var/www/html/robots.txt )))
User-agent: VelenPublicWebCrawler
Disallow:   /

WordPress 5.4 きたな。

数日前から、くるような気配があったけど、きました5.4といっても、無事何もなく更新終了。

検索 🔎

  My Google     Yahoo

便利サイト