社内SEの覚え書きwiki
http://w.atwiki.jp/netscreen/
社内SEの覚え書きwiki
ja
2011-06-04T23:38:55+09:00
1307198335
-
Cisco機器
https://w.atwiki.jp/netscreen/pages/19.html
ネットワーク機器で世界最大手のベンダーだけに業務でよく使います。
信頼と実績とはいいますが、お値段が高くいつも社内の稟議に四苦八苦します。
#contents(page=Cisco機器)
----
*PPPoE接続をRADIUSで認証する
営業部の社員が外出先で、リアルタイムな営業報告や社内の在庫資料などにアクセスできるように社内ネットワーク側でPPPoE接続を受け付けるケースがあります。
セキュリティ対策や管理の都合で、だれがいつアクセスしたかを把握しやすくするため、Cisco機器とRADIUSでPPPoEの認証を行う事例がありましたので、備忘録を残します。
&italic(){※私が経験した事例では、営業部の正社員と契約社員でアクセス権限を分ける対応もありましたが、長くなるので別途切り出して備忘録を作成する予定です。}
設定は大きく分けて下記の2点がありました。
&bold(){1.PPPの認証にRADIUSを使用する設定}
RADIUS側での、認証要求を受け付けるclient(Cisco機器)の登録、ファイアーウォールの穴あけを忘れずにします。
設定後は確認コマンドで正常性を確認します。
&bold(){2.PPPoEクライアントに払い出すIPアドレス帯の設定}
利用者の要求仕様(営業部の販売員の規模)を元に不測のないIPアドレス帯を設定します。
&bold(){作業例)1.PPPの認証にRADIUSを使用する設定}
enable
conf t
!
!認証機能を有効にする
aaa new-model
!
!PPP(PPPoE)の認証はRADIUSを参照することを定義
aaa authentication ppp default local group radius
!
radius-server host [RADIUSサーバのIPアドレス] auth-port [認証要求を受け付けるポート] acct-port [課金を受け付けるポート]
!
!認証キーの設定
radius-server key testing123
!
&bold(){確認コマンド}
test aaa group radius [接続ID] [パスワード]
2011-06-04T23:38:55+09:00
1307198335
-
RADIUS
https://w.atwiki.jp/netscreen/pages/18.html
システム開発や検証用に認証サーバを構築する必要があった場合、FreeRADIUSを使う場合が多いです。
設定が比較的簡単で、ユーザ数にもよりますが 1000ユーザ/分 くらいの性能がでるので使いやすいからです。
商用利用は下記の限界を許容できるならば可能だと思います。
・ユーザ数は10,000程度まで (ユーザファイルを上から検索する仕様のため)
・ログファイルのカスタマイズができない (レポーティング処理は別途用意が必要)
・パラメータ(レルム、ポート)別でプロセスを分けることできない (サービス別のプロセス分散が不可能)
管理人の経験では、ロードバランサーを用いた2台冗長構成で5年間安定稼働した例を知っています。
(ただし、認証処理のみでアカウンティング処理はしていない)
#contents(page=RADIUS)
----
*FreeRADIUSのインストール (CentOS)
ソースからインストールするのは、細かく諸元を指定できるメリットがあるのですが、FreeRADIUSを使う状況は内部検証など使用することが多いと思いますのでyum(ヤム)でインストールしてしまうのが簡単だと思います。
インストール例
$sudo su -
# yum install freeradius
Loaded plugins: fastestmirror, kmod
Repository 'vz-base' is missing name in configuration, using id
Repository 'vz-updates' is missing name in configuration, using id
Loading mirror speeds from cached hostfile
* addons: rsync.atworks.co.jp
* base: rsync.atworks.co.jp
* extras: rsync.atworks.co.jp
* updates: rsync.atworks.co.jp
Setting
2011-05-18T11:12:50+09:00
1305684770
-
MeCab
https://w.atwiki.jp/netscreen/pages/17.html
管理人が試した限りでは、動作が軽くて一番インストールしやすかった形態素解析エンジンでした。
#contents(page=MeCab)
----
*インストール
[[ここ>http://mecab.sourceforge.net/#download]]から必要なものをダウンロードし、サーバの適当なディレクトリに配置してrootでインストールしました。
MeCab本体 mecab-0.98.tar.gz
辞書(IPA辞書) mecab-ipadic-2.7.0-20070801.tar.gz
perlバインディング(perlからMeCabを使うときに必要) mecab-perl-0.98.tar.gz
インストールログ(rootでインストール)
【 本体のインストール 】
#mkdir MeCab
#cd MeCab
#tar xvf mecab-0.98.tar.gz
#cd mecab-0.98
#./configure
#make
#make install
#cd ../
【辞書のインストール】
#tar xvf mecab-ipadic-2.7.0-20070801.tar.gz
#cd mecab-ipadic-2.7.0-20070801
#./configure --with-charset=utf8 (サーバの文字がUTF8だったので辞書もUTF8を指定)
#make
#make install
#cd ../
【perlバインディングをインストール】
#tar xvzf mecab-perl-0.98.tar.gz
#cd mecab-perl-0.98
#perl Makefile.PL
#make
#make test
#make install
#cd $home
#exit
#amazon2(728x90)
*文章から名詞だけ抜き出すスクリプト
標準入力から受け取った文章から、名詞だけを抜き出して表示するスクリプト例です。
スクリプト
#!/usr/bin/perl
use strict;
use MeCab;
my $str =
2011-05-20T06:52:16+09:00
1305841936
-
シェルスクリプト
https://w.atwiki.jp/netscreen/pages/16.html
#contents(page=シェルスクリプト)
----
*bashワンライナーを繰り返し実行
1行だけのプログラムコードをワンライナーと呼びます。
bashでは セミコロン";" で区切ることで、繰り返し処理をワンライナーにできます。
システム障害発生時などで状態確認コマンドを定期的に実行するときに用いる場合が多いです。
例) httpdというプロセスが上がっているか定期的に確認する
$while true ; do ps aux | grep httpd ; echo ""; sleep 2 ; done ;
daemon 5762 0.0 0.3 11540 3000 ? S May01 0:00 /usr/sbin/httpd
netscreen 7196 0.0 0.0 3080 708 pts/5 S+ 09:19 0:00 grep httpd
daemon 34413 0.0 0.3 11540 2992 ? S May01 0:00 /usr/sbin/httpd
root 40539 0.0 0.5 11408 4704 ? Ss Apr23 0:15 /usr/sbin/httpd
daemon 5762 0.0 0.3 11540 3000 ? S May01 0:00 /usr/sbin/httpd
netscreen 7322 0.0 0.0 3080 712 pts/5 S+ 09:19 0:00 grep httpd
daemon 34413 0.0 0.3 11540 2992 ? S May01 0:00 /usr/sbin/httpd
root 40539 0.0 0.5 11408 4704 ? Ss Apr23 0:15 /usr/sbin/httpd
daemon 5762 0.0 0.3 11540 3000 ? S May01
2011-05-18T11:20:28+09:00
1305685228
-
右メニュー
https://w.atwiki.jp/netscreen/pages/14.html
***自己紹介
都内の某企業で社内SEとして勤務中のお酒が大好き人間です。
#javascript(){{
<!-- Rakuten Widget FROM HERE --><script type="text/javascript">rakuten_design="slide";rakuten_affiliateId="0ddb1b05.95471398.0ddb1b06.3dba468e";rakuten_items="ctsmatch";rakuten_genreId=0;rakuten_size="148x600";rakuten_target="_blank";rakuten_theme="gray";rakuten_border="off";rakuten_auto_mode="off";rakuten_genre_title="off";rakuten_recommend="on";rakuten_ver="20100708";</script><script type="text/javascript" src="http://xml.affiliate.rakuten.co.jp/widget/js/rakuten_widget.js"></script><!-- Rakuten Widget TO HERE -->
}}
2011-05-07T08:58:04+09:00
1304726284
-
Perl
https://w.atwiki.jp/netscreen/pages/13.html
CPANなどで様々なモジュールが豊富にあり、シェルスクリプトでは実装が難しい処理が比較的短いコードで可能なスクリプト言語です。
#contents(page=Perl)
----
*YahooFinanceから株価データを取得する
Web::Scraperモジュールを使用して、Yahoo Financeから指定した銘柄の株価データをGETするPerlスクリプトです。
2つのスクリプトで実装しました。
&bold(){・ext_data.pl }
標準入力で指定された Yahoo Finance の株価時系列ページのURLにアクセスして株価データだけを標準出力に表示するスクリプト。
&bold(){・ext_stock.pl }
スクリプト内で定義(直書き)した抽出期間と、標準入力で指定された銘柄コードから取得先のURLを生成して ext_data.pl を実行するスクリプト。
標準入力で、処理一時ファイル(第一引数)、結果ファイル(第二引数)、銘柄コード(第三引数)を指定して実行する必要があります。
結果ファイルに株価データがCSV形式で下記の順で記録されます。
"銘柄コード"、"日付"、"始値"、"高値"、"安値"、"終値"、"出来高"、"調整後終値"
&bold(){実行例}
$touch tmp_file
$touch res_file.txt
$perl ext_stock.pl tmp_file res_file.txt [取得したい銘柄コード(4桁)]
#amazon2(468x60)
&bold(){ext_data.pl}
#!/usr/bin/perl
###########################################################################
# 標準入力で指定されたyahooファイナンスの時系列データを抜き出すスクリプト
#
# 第一引数:指定銘柄の時系列データのURL
# 第二引数:銘柄コード
#
###########################################################################
use strict;
2011-07-24T08:48:47+09:00
1311464927
-
メニュー
https://w.atwiki.jp/netscreen/pages/2.html
#javascript(){{
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-17726123-2']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
}}
#javascript(){{
function addEvent(target, type, handler){
if(target.addEventListener)
target.addEventListener(type, handler, false);
else if(target.attachEvent)
target.attachEvent('on'+type, function(e){handler.call(target, e||window.event)});
else {
var _type='on'+type;
if(typeof target[_type]==='function'){
var _handler=target[_type], __handler=handler;
handler=function(e){
if(e)e=window.event;
_handler.call(this, e);
2011-06-04T23:06:52+09:00
1307196412
-
トップページ
https://w.atwiki.jp/netscreen/pages/1.html
-このウィキは管理人の備忘メモとして更新しています。
#amazon2(728x90)
2011-05-07T11:20:56+09:00
1304734856