月別アーカイブ: 2014年12月

CentOS 6 での LDAP 設定

CentOS 6 での LDAP の設定方法についてまとめるつもりだったがまとめない。

目標

  • LDAPサーバを立ててクライアントから認証できるようにする
  • CentOS 6系から必須になったTLSでの認証を(簡単に)可能にする
    • 正式な証明書ではなく、ダミーの証明書を使う
  • sudo が使えるようにする

まじめにまとめようと思ったけど面倒になったのでポイントだけ

  • authconfigしたときに、sssdがインストールされていると、/etc/nsswitch.confにsssが指定される
  • sssはsssdによって認証されるが、TLSを要求するため、TLS接続できないとLDAPが引けなくなる。自己署名だとここで引っかかる。
  • sssdの設定を変更してTLS_REQCERTをallowとかにすると自己署名の証明書でもOKになる。実は自分で証明書を作る必要すらなく、openldapに同梱されているスクリプトで生成可能。
  • ldapsとstart_tlsは全くの別物。使うポートも違うということを理解する。
    • ちなみにldapsよりもstart_tlsのほうが推奨だそうな。
  • 他にも幾つかldap関連の設定ファイルがあるのでそれらを根こそぎ証明書のチェック結果を無視する設定に変更する

SoftEtherを使ってVPS上にVPNサーバを構築する

安価にもてるのであればVPN環境がほしかった。VPNにはいろいろあれど、SoftEtherというのがいろんなプロトコルに対応していてかつ簡単に構築できそうだったので、さくらVPS上にVPNサーバを構築してみた、という話。

個人用途におけるVPNを持つ目的

  • 公衆無線LAN等のネットワークを使いつつセキュアに通信したい
  • 外出時に自宅のネットワークにセキュアにアクセスしたい(リモートデスクトップ、ファイルサーバ等)
  • 拠点間をVPNでつなぎたい(自宅と実家等)
    • 実家環境のメンテナンスの容易化
    • (自宅よりも広い)実家にPCをおいてリモートデスクトップ

VPNを実現するために欲しいもの

  • 24時間365日安定稼動できて外からアクセス可能なVPNサーバ
    • 電気代、騒音、停電(ブレーカー断)、ポートフォワードとかめんどい・・・そこでVPS(月1000円以下)ですよ
    • Raspberry pi (3Wくらい?)でVPNサーバとかはちょっと興味あるけど。。
  • VPNサーバに参加可能なルータ
    • PC等をひとつずつ設定するのは面倒、NWプリンタ等VPNクライアント機能がない機器もつなぎたい
    • VPNクライアントの機能を持つルータは家庭用ではほとんどない、つまり高い
    • dd-wrt 使って家庭用ルータをVPNクライアントにしよう(一番安い)

SoftEtherを使ってみる

  • VPSにSoftEtherをインストール
    • OpenVPN互換機能を有効にしてクライアントからはOpenVPNのクライアントとしてつなぐ
    • このときdd-wrtでは圧縮がデフォルトでadaptiveに設定されているので注意
  • クライアントのつなぎ方
    • dd-wrt化したルータを用意
    • とりあえず同じ仮想Hubに全部つなげる(同じセグメントに見せたい)
    • ルータ以外の端末はtapでもtunでもあんまり関係ない模様
      • Android, iPhoneからはtunでしかつながらないらしい
      • Androidからつなぐ場合はOS標準のVPNよりも、OpenVPN Connectのほうが使い勝手が良い
    • ルータはtapでつなぐ
      • サンプルの設定とおなじになるようにdd-wrtに設定すればつながる。
      • tapをvlanにつなぐ
      • dd-wrtのdhcpサーバはオフにするのを忘れずに
  • GUIの設定ツールはWindows専用
    • Windows環境を持っていない場合はCUIのvpncmdだけでも十分設定可能
  • 性能をちゃんと出そうとするとSecureNATはなんだかんだ使えなかったのでDHCPサーバ、DNSサーバをVPSにインストール、iptablesでNATを設定。
    • 仮想HUBからtapデバイスを作成(これはVPS上で見える)、br0を手動で作成してvpnserverが起動した時に br0 と tap が接続されるように設定。ipアドレスは br0 に振る
    • 仮想DHCPサーバはMACアドレスによる固定割り当てができない
    • 仮想NATは性能が出ない
  • iptablesの設定
    • SNATとMASQUERADEが設定されてればOKっぽい。
    • lineのビデオ通話もできたしハッピー
  • dhcpdの設定
    • OpenVPNクライアントになってるルータに接続した機器のMACアドレスはそのままDHCPサーバに見えるので、IP固定等は機器自体のMACアドレスで設定できる
  • bindの設定
    • VPSが参照しているDNSにforwardするよう設定

参考

更新履歴

  • 2015年1月14日 – 表記を一部修正