タグ: 設定

  • 接続元 IP が変更された際の iptables の SSH 設定変更

    当方は、一般的なプロバイダーから接続している。
    そのためルータを再起動するなどによって PPPoE を再確立した時点で、接続元の IP が変わってしまう。
    この影響により、SSH 接続を制限しているサーバに対し、以下の作業を都度行う必要がある。

    手順

    自分が接続しているマシンのネットワーク  IP(グローバル IP、ゲートウェイ IP)を探す。

    AAA.BBB.CCC.DDD

    そのIPアドレスの WHOIS 情報を探す

    次項は、再接続時の際に「偶然、以前に設定したセグメント内に入る」という可能性を考え、このような作業を追加としている。
    個人的な「こだわり」の部分。

    これは、全開放に比べたら極めて小さい穴だし、SSH 接続は鍵認証しかできないなど、他の部分でセキュリティレベルは上げるなどの処置を施している。
    その点からして、リスクはカバーしてると思う。

    あくまで参考程度とすること。十分考慮のうえ注意すること。
    熟考せず無為に参考のまま設定すると、セキュリティ的にガバガバになるリスクがある。
    参考にしての設定は、あくまで自己責任で。

    登録情報からネットワーク IP アドレス(付与されている IP アドレス範囲)を探す。

    なるべく広めの IP で SSH ポートを開くため。上位があるなら、なるべく広めに開ける。

    AAA.BBB.CCC.EEE/FF

    「さくらの VPS」コントロールパネルからコンソールに root ログイン

    TeraTerm などで接続できない以上、仮想コンソールを使うしかない。

    何番目に SSH 開放 IP アドレス(範囲)を突っ込むか探す。

    この辺りは、手探りで探すしかない。
    主に利用するコマンドは以下。

    • ルールの確認(設定コマンド原文)
    # iptables -S
    • ルールの確認(設定順番号、表示整形)
    # iptables -L --line-numbers

    iptables の構成次第によって、追加(挿入)する場所が厳密な場合があったり、何も考えず、最後に追加すればよい場合など、そこは個々の構成に併せて考える。

    iptables に追加(挿入)コマンド投入

    • 【例1】IP アドレスを範囲(サブネット単位)で SSH 開放する場合
    # iptables -I INPUT 5 -s AAA.BBB.CCC.EEE/FF -p tcp
     -m state --state NEW -m tcp --dport 22 -j ACCEPT
    • 【例2】1つの接続元 IP アドレスだけ SSH 開放する場合
    # iptables -I INPUT 5 -s AAA.BBB.CCC.DDD -p tcp
     -m state --state NEW -m tcp --dport 22 -j ACCEPT

    この状態で Teraterm, WinSCP などから接続確認

    TeraTerm などで、以前の通り接続できるか確認。
    問題なければ、次項。

    sysconfigに設定情報を保存

    # service iptables save

    念のため、ちゃんと保存されたかの確認もする。

    # cat /etc/sysconfig/iptables

    参考

    【余談】将来こうしたい

    ルーターの切断や再起動した時にしか必要のない作業とはいえ、毎回この設定をするのは、いちいち面倒。
    なので、何かしらの自動化を考えている。

  • Drobo FS の SSH 上から MAC アドレスを調べる方法

    ルータを新調したので、DHCP の IP 静的割当を設定したのだが、Drobo FS の MAC アドレス探しがちょっと面倒だったので、備忘録。

    まぁ Drobo FS 本体に貼られているラベルを見れば、MAC アドレスは判るんだけども、肝心のラベルが本体底面に貼られているので、引っ繰り返さないと確認できないのが難点。

    我が家の場合、ラベルを確認するためには、Drobo FS の電源を切って、Drobo FS 本体が格納されているラックから引き剥がす必要があって、これがラックの場所とかの関係で、ちょっと大変。

    ちなみに、IP アドレスとかサブネットとかは Drobo Dashboard から設定するものなので、そこから確認できるものの、MACアドレスは確認できない。(まぁ所詮米国製なので、こういうツールの「痒いところに手が届かない」のは、 米国の仕様(=御国柄と同意)。)

    ということで、パソコンからは少し面倒ではあるが、Drobo FS の組み込み Linux にアクセスして調べることに。
    という訳で以下手順。

    1. DroboAppsから「dropbear」(SSHサーバ)をインストール

    2. SSHクライアント(TeraTermProとかPoderosaとか)でDroboFSにSSHログイン。

    ここでSSHの接続が確立できない場合は、DroboApps の挙動がおかしい可能性がある。
    その場合は、Drobo Dashboard の管理者設定の「DroboApps を有効化」を一度切ってから、再度入れ直す。
    ちなみに Drobo FS 再起動しても、接続は改善できない。必ず上記操作が必要。

    3. ログインできたら、以下のコマンド実行

    # /sbin/ifconfig
    (ここにMACアドレスなどのネットワーク情報が表示される。)
    #

    (パスが通ってないので、最初に/sbin付けて、絶対パスでコマンド実行。)

    これで本体をひっくり返さずに、MACアドレスの確認ができる。

    とはいえ、とても面倒。