2015年10月28日水曜日

Routerboard Traffic GeneratorとQoSclassify

RouterBoardの魅力としてルータだけではなく負荷ツールとしてもかなり有効と考えています。
もちろんIxiaとまではいかないですが、QoSの検証などで必要なトラフィックを印可するレベルでは十分と考えています。

Traffic Genertorを実施するには主に2つの設定をします。
1.packet template
送出するパケットの雛形を作ります。
TCPはできないです。L4レイヤではUDPまでを作成可能です。
DSCP値も設定可能ですが、DSCPと書いていますがTOS値です。
IP Precedenceとの対応表は下記参照。

http://www.tucny.com/Home/dscp-tos


2.stream
1.で作成したパケットをもとにどのように送るかを指定します。
パケットサイズとあるけどテンプレートでMACも含めている場合はL2フレーム含めた長さになっているので注意です。
送出する流量をMBPSもしくはPPSで指定します。
でトラフィックを流し始めると下記のように送出結果が表示される。

DSCP値を設定できるので受け側でQoSクラシファイを確認しようとした。Mangleでやるのはなんとなく知っていたのだけど、全然ひっかからない!!これはChainが間違っていて、preroutingで設定しないといけなかった。やっぱルータとかはパケットフローを知っとかないといけないなぁ。
ということでRouterboardでのパケットフロー。は下記参照。





2015年9月28日月曜日

MUMに行ってきた。

9/27Mikrotikのユーザー会に参加してきた。
以下感想。。

  • 非常に楽しい会でした。
  • 無線のメッシュはかなり便利そうなんだけど、Ciscoオンリーな今いる会社では採用は難しいだろうなぁ。
  • CCR1009ほしくなった。
  • L2TP環境紹介してもよかったなぁ。
  • 人見知りな自分を呪う。。。

2015年8月16日日曜日

MUMにいくことにする。

MikroTik User Meetingが日本で初めて行われることをしったので、早速申し込む。
昼はいらないんだけど、L4ライセンスもらえるので30USDをはらう。

過去開催の資料みてても面白い。非常に参考になる。

http://mum.mikrotik.com/2015/JP/info

2015年8月2日日曜日

RouterBoardでL2TPoverIPsec

いろいろあって、RB2011Ui/ASを買った。
自宅へのリモートアクセスができるように頑張ったログ。

クライアントはMacOSX(Yosemite)。
Routerboardは親切で手軽にL2TPoverIPsecが可能になっているが、できる設定上かなりゆるいアルゴリズムも可能になっているのと、鍵長の考えから事前鍵ではなく証明書による機械認証を使えるようにした。

  • やったこと
    • プライベートCAの構築
    • RouterBoardでの設定
    • Macでの設定
  • 仔細
    1. プライベートCAの構築
      →Ubuntuを使って実施。
      • 参考にしたリンク
        http://qiita.com/makoto1899/items/ef15372d4cf4621a674e
        http://qiita.com/mitzi2funk/items/602d9c5377f52cb60e54
      • 注意点
        どうもMacが証明書の確認時、コモンネームではなくSubjectAlt.Nameを見ているようなので、RouterBoardで作成するCSRでつけたものをきちんとコピーするようにopenssl.cnfファイルにて
        [CA_default]
        copy_extensions = copyが必要。
      • 証明書関係で良く使うコマンド
        CSRに対しての署名
        openssl ca -in ”CSRファイル” -out "署名付き証明書"
        Revoke
        openssl ca -revoke -in $CARoot/newcerts/******.pem
        証明書等の内容確認
        openssl x509 -text -in ********.pem   証明書の場合
        openssl req -text -in ********.pem   CSRの確認
    2. RouterBoardでの設定
      1. CA証明書のインポート
        • CA証明書をアップロード。
        • System→Certificatesへ
        • "Import"を押し、アップロードしたファイルを指定して"Import"ボタンを押す。
        • インポートされ、リストに登録された証明書を確認し、Trustedになっていることを確認する。
      2. サーバ用のCSRの作成。
        • GUIでやるのが楽。System→Certificatesへ
        • "Add New"を押下してリクエストを作成するためのテンプレートを作成して"OK"ボタンを押す。
          ※注意点:SubjectAlt.NameをDNSで指定すること。
        • "Create Cert. Request"を押し、テンプレートとして前に作成したものを指定し、Passphrase等を入力して"Create Cert. Request"を押す。
        • Routerboard上に
          certificate-request_key.pem
          certificate-request.pem
          の二つのファイルができるので、
          certificate-request.pemをダウンロードしてCAにて署名してもらう。
      3. サーバ用証明書のインポート
        • CAに署名された証明書をRouterboardにアップロード
        • System→Certificatesへ
        • "Import"を押し、アップロードしたファイルを指定して"Import"ボタンを押す。
        • 登録され、リストに載った証明書をクリックしてインポートした証明書の画面に移動する。
        • "Import"ボタンを押し、2.2でできたcertificate-request_key.pemを選択してインポートする。
      4. IPsec設定
        Peerの設定。。。。
         /ip ipsec peerprint value-list        
                        address: 0.0.0.0/0
                  local-address: 0.0.0.0
                        passive: yes
                           port: 500
                    auth-method: rsa-signature
                    certificate: インポートした証明書
             remote-certificate: none ※こうするとクライアントの証明書がRouterBoardで信頼しているCAに署名されているものは全て許可される。
                generate-policy: port-strict
          policy-template-group: default
                  exchange-mode: main-l2tp
           send-initial-contact: yes
                  nat-traversal: yes
                          my-id: fqdn:**************.net
                 hash-algorithm: sha1
                  enc-algorithm: aes-256
                       dh-group: modp1024
                       lifetime: 1d
                   dpd-interval: 2m
           dpd-maximum-failures: 5

        プロポーサルの設定。。。。
        /ip ipsec proposal> print value-list 
                     name: default
          auth-algorithms: sha1
           enc-algorithms: aes-256-cbc,aes-256-ctr
                 lifetime: 30m
                pfs-group: modp1024

      5. IPPool設定とPPP設定
        IPPool設定。。。
        /ip pool
        add name=l2tp ranges=172.16.0.2-172.16.0.10
        PPPプロファイル設定。。。
        /ppp profile
        add address-list="" !bridge !bridge-path-cost !bridge-port-priority \
            change-tcp-mss=yes !dns-server !idle-timeout !incoming-filter \
            !insert-queue-before local-address=172.16.0.1 name=l2tp only-one=default \
            !outgoing-filter !parent-queue !queue-type !rate-limit remote-address=\
            l2tp !session-timeout use-compression=default use-encryption=yes \
            use-mpls=default !wins-server

        PPPユーザー設定。。。。
        /ppp secret> print value-list 
                     name: ***********
                  service: l2tp
                caller-id: 
                 password: ***********
                  profile: default
                   routes: 
      6. L2TP設定
        /interface l2tp-server server> print   
                    enabled: yes
                    max-mtu: 1400
                    max-mru: 1400
                       mrru: disabled
             authentication: mschap2
          keepalive-timeout: 30
            default-profile: l2tp
                  use-ipsec: no
               ipsec-secret:
      7. Firewall設定
        UDP 1701,500,4500
        ipsec-esp
        を許可する。
    3. Macでの設定
      1. CA証明書のインポート
        システムにインストールする。
      2. クライアント証明書のインポート
        機械認証なのでシステムにインストールする。
      3. ネットワーク設定
        • VPNインタフェースを追加。VPNタイプはL2TPoverIPSec
        • 各種パラメータ(サーバアドレス・アカウント名)
        • 認証設定をクリックし、、、
          • ユーザ認証→パスワードを選択し、パスワードを入力
          • コンピュータ認証→証明書を選択し、クライアント証明書を選択する。

2015年5月14日木曜日

一年ほったらかしてた。。

忙しいことを理由にほったらかしすぎてた。。
家のルータをRB750GLに更改しようとしている。
相変わらずだらだらやってる。

とりあえずVersionUPを実施。
・GUIだいぶ変わってる。
・Firewallのロギングができるようになってる。

最近仕事でも調べている関係から
パケットフローを意識するようになった。
これを知ることで自分がやりたいことができるのか
できないのかがわかってくる。