中年プログラマーの息抜き

ブログをはじめました。気の向くままにプログラム関連ネタをメモしていきます。

CISCO 841M 設定:その10:VPN接続を監視して、IPアドレスなどをメールで受け取る

f:id:tm-b:20170728004131j:plain

はじめに

今回は、VPNへ接続した端末のIPアドレスをメールで受け取れるように設定しました。

・運用管理ツール:EEM (Embedded Event Manager) + TCLスクリプト
・送信用SMTP:認証=SMTP-AUTH、ポート番号=587

機材

CISCO 841M本体
・KAUMO USB RJ45 シリアルコンソールケーブル
・Win10 ノートPC

SYSLOGの設定

設定で「crypto logging session」を反映して、VPNセッションをSYSLOGへ記録します。ログレベル「notifications」以下にすれば「CRYPTO-5-SESSION_STATUS」が出力されます。

TCLスクリプト

保存先を作成して、「flash:tcl/policy/eem-vpn-session.tcl」へ配置します。
mkdir flash:tcl
mkdir flash:tcl/policy
event manager directory user policy "flash:/tcl/policy"

EEMイベント

TCLをEEMへ登録するため「event manager policy eem-vpn-session.tcl type user」を設定します。

まとめ

今後VPNへ接続すると、こんなメールが飛んできます。 

件名:【R1】VPN - New Connection Created.
本文:*Aug 13 20:19:39.659 JST: %CRYPTO-5-SESSION_STATUS: Crypto tunnel is UP . Peer 接続元のIPアドレス:ポート番号 Id: 払い出したIPアドレス

d(`Д´)b39

CISCO 841M 設定:その9:VPNの設定

f:id:tm-b:20170728004131j:plain

はじめに

今回は、VPNを設定して、スマホ標準VPNクライアントから接続するまでを確認しました。ネットワークはこの機器の初期設定VLAN1想定です。

・認証方法:L2TPトンネルなし/事前共有鍵(PSK)/chap2
ACCESS-LIST:特定IPへWEB接続を許可、任意端末へRD接続を許可、左記以外の接続を拒否

機材

CISCO 841M本体
・KAUMO USB RJ45 シリアルコンソールケーブル
・Win10 ノートPCル
スマホ AQUOS ZETA SH-03G
Macbook Air (Sierra)

設定

まとめ

今回は、IPsec/L2TP方式なVPNを試しました。速度もよい感じでうまく接続ができました。 こうなるとCiscoVPNも試したくなります。 といことで、今度は、EasyVPN+CiscoVPNClientで試そうと思います。https://www.cisco.com/c/ja_jp/support/docs/security-vpn/ipsec-negotiation-ike-protocols/ezvpn.html

d(`Д´)b39

Ruby:Windows+CentOS7:Ruby on Rails 開発環境を構築

f:id:tm-b:20160422025945j:plain

はじめに

今回は、Win10とゲストOS(CentOS7)を利用した環境構築のご紹介です。rbenv、ruby-buildなどのツールは利用しない環境で、リモートデバッグができるところまでをまとめました。(以下、長くなったので細かい部分を省略してます。)

環境

・ホストOS:Windwows+Hyper-V(ユーザ名=user、ユーザパスワード:pass、ドメイン名:localdomain、IPアドレス=10.10.10.10、共有フォルダ=C:\Users\Public\MyProject)

・ゲストOS:IPアドレス=10.10.10.11、CentOS7Ruby 2.4.1node-v8.3.0、MySQL5.7系、Rails5系

OS準備

CentOS上へMySQLがセットアップされており、SSH可能なゲストがあったので、そこへ「libyaml-devel git」をyum経由で追加しました。もし「gcc-c++ glibc-headers openssl-devel readline readline-devel zlib zlib-devel」などが入っていなければインストールするか、それと同等の状態を作ってください。

ユーザー作成

今回のプロジェクト用に新規ユーザー「rubytest」を作成します。また、ホームディレクトリ内へ環境を作りますので、マウント先「/home/rubytest/mnt」も作成してください。

プロジェクト共有

マウントコマンド「/usr/bin/mount -t cifs //10.10.10.10/MyProjects /home/rubytest/mnt -o username=user,password=pass,domain=localdomain,defaults,uid=rubytest,gid=rubytest,file_mode=0700,dir_mode=0700」を「/etc/rc.local」へ追加しました。

コンパイル

Rubyを「/home/rubytest」へインストールします。
wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.1.tar.gz
./configure --prefix /home/rubytest --with-opt-dir=/usr/local/openssl --enable-shared
make && make install && chown -R rubytest:rubytest /home/rubytest

Node.JSを「/home/rubytest/node」へインストールします。
wget http://nodejs.org/dist/v8.3.0/node-v8.3.0.tar.gz
./configure --prefix=/home/rubytest/node
make && make install && chown -R rubytest:rubytest /home/rubytest/node

環境変数

設定ファイルの「~/.bash_profile」へ追加します。
export RUBY_HOME=$HOME
export NODE_HOME=$HOME/node
export NODE_PATH=$NODE_HOME/lib/node_modules
export PATH=$NODE_HOME/bin:/usr/local/mysql/bin:$PATH

GEMまわり

Ruby領域へ「bundler、ruby-debug-ide debase」をGEMでインストールします。アプリ領域へ「rails」などをインストールすればよいと思います。今回は、Gemfileを使って「bundle install --path=vendor/bundle」を実行しました。 もし、mysql2でエラーが出たら「bundle config build.mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config」で解決するかもしれません。

Rails起動確認

スタートコマンド「bin/rails s -b 0.0.0.0 -p 3000」を実行すると、Railsが起動するので、ブラウザから「http://10.10.10.11:3000」へアクセスすると、Welcome画面が表示できると思います。 

f:id:tm-b:20170812022144p:plain

リモートデバッグ

スタートコマンド「rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- bin/rails s -b 0.0.0.0 -p 3000」を実行すると、Railsが起動するので、RubyMineからリモートデバッグを開始して、ブラウザから「http://10.10.10.11:3000」へアクセスすると、Welcome画面が表示できると思います。

まとめ

Node.JSのコンパイルが1時間くらいかかりました。この作業するときだけでも、ゲストOSの資源(メモリ、CPU)を増強したほうが早く終わるかもしれませんね。

d(`Д´)b39