2016年10月18日火曜日

MSI B150M で Wake-on-LAN

MSI 製マザーボード B150M 使用のマシンで Wake-on-LAN するときに意外とハマったので、いつか誰かの役に立つかもしれないと思い記録しておく。

  • 電プチすると Wake-on-LAN できない。正常終了すること。以前のマザーボードではたぶんこんなことはなかった。
  • BIOS の更新が必要。出荷時のバージョンではマジックパケットを送ってないのに、それどころか LAN ケーブルを抜いていても、勝手に起動する。
  • 以上に注意すれば、 BIOS の設定は、 Resume by PCI-E device を Enabled にするだけで OK
  • ethtool の設定は不要。デフォルトで on

Proxy ARP で2つのサブネットをつなぐ

前回、 ICMP redirect を使って ローカル用サブネットから VPN 用サブネットに経路制御しているという話を書いた。 これはやや不安定ながらも動いていたのだが、最近の Windows や Mac では ICMP redirect の受け取りが無効になっているため、この方法は使えなくなって困っていた。

昨日、何か手はないかと Linux のマニュアルを眺めていたら Proxy ARP という方法を発見。 ローカル用のサブネットにあるマシンに対して、 VPN 用のサブネットにあるマシンが同一サブネットにあると誤解させた上で、ルータ B に代理 ARP 応答をさせることで、 VPN 宛のパケットを ルータ B に吸収させるという仕組みである。


これで最近のクライアントでも VPN 内のマシンにアクセスできるようになった。

2016年10月16日日曜日

Linux: IP forwarding を有効にすると ICMP redirect が無効になる

タイトルに書いたとおりなんですが、Linux のデフォルトでは、 IP forwarding を有効にすると ICMP redirect の受け取りが無効になるようです。

Linux の sysctl のマニュアルをよく読めば書いてあるのですが、ぐぐってもあまりこの症例が出てこず、久しぶりに tcpdump とにらめっこしました。

自宅にはローカル用と VPN 用の2つのサブネットが存在していて、 ローカル用のサブネットに属するマシンは、インターネットにつなぐにはルータ A 、 VPN 用のサブネットにつなぐにはルータ B と話さなければならない構成になっており、そのために ICMP redirect を使っています。ルータ A をデフォルトゲートウェイとしておいて、 VPN サブネットにつなぎたいという要求がきたときにルータ B が経路だと応答するわけです。


Windows / Mac ではすでに ICMP redirect の受け取りはデフォルトで無効になっているようで、現代ではそれに頼らずルータ A がパケットをまるっとルータ B に転送したほうが良いようですが、行きと帰りの経路が違うせいかルータ A は最初の SYN パケット以外を転送してくれず、 TCP ではこの手は使えません。良い解決法はないものか…。(似たようなことを言っているブログを見つけました。)

2016/10/18 追記: Proxy ARP による解決策を見つけました。

重症プラティその後

1月25日の投稿で重症だと思っていたプラティは、なんとその後、妊娠中であったことが判明。




しっかり目を凝らさないと見えないですが、可愛いです!!!

以上、2月14日の写真でした。随分と投稿をサボってしまいました。いまではすっかり大人になっています(汗)