株式会社インフィニットループ PHPとスマホアプリ開発を行う札幌のシステム会社

技術ブログ

  1. トップ>
  2. 技術ブログ>
  3. ネットワークの記事一覧

2015年07月01日 (水)

著者 : 

DovecotとSieveを使ったメールのサーバーサイドフィルタリング

炎暑の候、みなさまのサーバーもいっそうご隆昌のことと慶賀の至りに存じます。こんにちは、mizuno_asです。

みなさん、メール使ってますか? 最近の開発現場ではコミュニケーションのコストを下げるため、SkypeやSlackなどのチャットツールを使うのが一般的かもしれませんね。しかしいくらレガシーだといっても、そうそう簡単にはメールを捨てられないのが現実です。特にサービスを運営していたりすると、社内にメールサーバーの一台や二台は、まだあるのではないでしょうか。


Photo by greg westfallCC BY 2.0

とはいえこのご時世。スマートフォンやタブレットを含む、複数のデバイスを横断してお仕事をすることは珍しくありません。デバイスに束縛されないためには、オンラインでシームレスにデータを同期できる仕組みが必要不可欠です。ことメールに関して言えば「Gmailに丸投げ」してしまうのが一番簡単で、実際に転送設定をしている人も多いかと思います。しかし全メールを転送するのは色々と問題があるため 、転送するのは本当にモバイルから読む必要があるメールだけに限りたいところです。

ほとんどのMUAにはメールのフィルタリング機能が実装されています 。ではフィルターを使って、受信したメールを転送してみましょう。


……
………

いやいや、メール転送のためだけに、四六時中オフィスのPCでMUAを起動させっぱなしにしておくというのはあまりエコではありませんし、特定のクライアントで一度受信するというのも筋悪です。そこでDovecot LDA(Local Delivery Agent)と、メールのフィルタリング用言語Sieveを使い、メールをサーバーサイドでフィルタリングしてみました。

(続きを読む…)

2014年05月08日 (木)

著者 : 

“特定のIP経由”に制限されたサーバーへVPN経由で快適にアクセスする方法 (Mac編)

お久しぶりです。makiです。
VPNを使う際、全てのトラフィックをVPN経由にしてしまうと無駄に重くなったり、調べ物をしていてブログサイトにアクセスできなくなる、等の弊害が出てしまうことがありました。
そこでVPNが必要なアドレスにだけVPNを経由するようにしてみました。

(続きを読む…)

2012年09月28日 (金)

著者 : 

100個を超えても大丈夫!!Skypeチャットルームの多さにうんざりしている人のための「/get uri」入門

こんにちは、matsuiです。

最近いよいよ周りでもSkypeのチャット機能をビジネスに使う機会が多くなりました。
私も数年前からSkypeチャット駆動で仕事をしているのですが、そこで問題となってくるのは、スカイプのチャットルーム(※以後「窓」と表記します)の数です。

アクティブな窓だけで20〜30はあるので、とても見きれませんし、いざ書き込みを行おうとした場合に探すのも大変です。
そこで本日は、目的の窓にキーボードのショートカットから簡単にアクセスできるような、「/get uri」コマンドを使ったTIPSをお伝えします。

この方法を使えば、マウスを使わずキーボード操作だけで、目的のSkype窓を表示できます。
 
 

Skypeの「/get uri」機能とは

/get uriは、その窓にアクセスするためのURIを取得するコマンドです。
どの窓でもいいので、試しに実行してみましょう。

なおこの機能の目的は、他のユーザを招待するためのURIを発行するためのようで、複数が参加する窓である必要があるようです。
個人間の直接チャット窓では使えないようですのでご注意下さい。

チャット欄に「/get uri」と入力し、送信します


 
 
するとSystemから文字列が送られてきます。窓内の他の人には見えません。

 
 
この発行されたURIの文字列をクリックすると、チャット窓が開きます。
原理はこれだけです。ここから先はOS別に設定の仕方を紹介していきます。
 
 

Macの場合

Macの場合の設定はWindowsに比べて簡単です。
表示されたURIを選択した上で、ぐーっとドラッグして、デスクトップやフォルダにドロップするだけ。

これでエイリアスのリンクができると思います。

これをダブルクリックするとSkypeの目的の窓が開かれます。
 
 
【Spotlightとの組み合わせが最強】

Macの場合は目的のファイルに迅速にアクセスするための仕掛け「Spotlight」が存在します。
先ほどのエイリアスファイルのファイル名をわかりやすい窓の名前に変更して、それを検索すればOKです。

たとえばエイリアスの名前を「雑談窓」にして、それをSpotlightから検索すると、、、

Skypeアプリが最前面に来て、目的の窓が開くはずです。これは楽ちん!!

実際は日本語検索は面倒なので「zatsudan」などのような、アルファベットの名前にするといいかもしれませんね。
Spotlightもキーボードショートカットで開くようにしておきましょう。
 
 

Windowsの場合

Windowsの場合は、標準のショートカット機能を利用します。
右クリックから「新規作成→ショートカット」を選択し、先ほど表示されたURIの文字列を入力すればOKです。

ダブルクリックすることで、Skypeの目的の窓が開かれることが確認できると思います。
 
 
さてWindowsの場合、MacのSpotlightのような便利な部分一致検索は利用できないのでしょうか?

ひとつの方法は、Windowsのスタートメニューから検索することです。
ショートカットに好きな名前を付け、マイドキュメントあたりに入れることで、スタートメニューからそれを検索できます。


 
 
しかしながら、この方法はあまり使い勝手がよくありません。
fenrirというフリーソフトを入れることで、Spotlightと同等かそれ以上に使いやすい感じに出来ます。
使い方が少し難しいので、ここから先はPC中級者以上の方にお勧めします。
 
 
【fenrirで一発ショートカット】

まずはfenrirをダウンロードしてきてインストールしましょう。
→ 窓の杜 fenrir

fenrirはインストーラー型のアプリではありませんので、解凍して適当なフォルダに設置し、起動しましょう。
 
続いてfenrirの設定を行います。
タスクトレイのfenrirアイコンを右クリックすることで設定できます。

デフォルトではfenrirはexeファイルしか検索してくれません。
これではSkypeへのショートカットを拾ってくれませんので、設定を変更して、「*.url」も検索に引っかかるようにします。

(1) fenrirを設置したフォルダを開きます。

タスクトレイのfenrirを右クリックして、「fenrir075/」を選んでも開くことができます。

(2) scan.iniを編集します。
1行目が「\;*.exe」になっていると思いますが、その行の後ろに追記して「\;*.exe;*.url」となるようにします。

(3) 再びタスクトレイのアイコンを右クリックし、scanを選びます。
この処理は少し時間がかかります。終わったかどうかがわかりづらいので、じっくり待ちましょう。
 
 

fenrirを起動して検索してみましょう。
Skypeへのリンクが見つかり、スムーズにSkypeの窓を開くことができるはずです。

fenrir起動のショートカットキーも使いやすいものにしておくといいと思います。
私はAlt+スペースに設定しています。
 
 

最後に

いかがでしたでしょうか。
私自身一時期窓の多さに限界を感じたこともありましたが、今ではこの方法で何とか乗り切れています。

窓の多い少ないに関わらず、お仕事でSkypeを使っている方で、キーボードショートカットが大好きな方は、ぜひ試してみてはいかがでしょうか。

なお、過去に書いたもので、お仕事でSkypeを使っている人のための記事がもうひとつありますので、よろしければ合わせてどうぞ。
→ 100人繋いでも大丈夫!3000円で出来るサクサク社内ネットワーク構築法

2011年10月21日 (金)

著者 : 

100人繋いでも大丈夫!3000円で出来るサクサク社内ネットワーク構築法

こんにちは。弊社ネットワーク担当のshiromaです。
以前当ブログでも取り上げました通り、弊社は六月に新社屋へと引っ越しを行い、社屋の拡張と併せて人員の拡充を行ってきました。しかし、その人員の拡充に伴って内外の通信の量は肥大し続け、20人を過ぎた頃からNTT貸出のルータでは遅延がひどくなり、40人近くなった現在、社内基幹ルータの入れ換えが切実に必要という状況となりました。

かつてRTX1000を利用していた経験を活かせると考え、数万円の費用を払ってRTX1100を購入し、配備してみたのですが、一向に遅延は改善されません。更に調査を進めていくと、この遅延は弊社で標準利用していたSkypeが原因だという事が判明しました!

大人数でのSkype利用の問題

Skypeは非常に便利なコミュニケーションソフトであり、弊社でも内外での連絡の為にSkypeのチャットサービスを標準採用しています。しかし、人数が増えるに従って、Skypeの以下の点が問題となってきます。

  • Skypeは大量のショートパケットを吐き出す
  • Skypeは多くのホストと通信を行う

SkypeはP2Pでの通信を行い、他のホストを介して通信するので、他のノードと常に接続をすると同時に、他のノード同士の通信を仲介する役割を課せられる場合もあります。一つ一つの通信は大した事がなくても、ネットワーク内のマシン台数が増えていくに従って次第にルータの処理が追いつかなくなり、通信が遅延するという結果になっていたのです。

RTX1100での運用が間に合わないという悲しい結論になって、次の候補を選別中に先のSkypeの問題に気が付き、ショートパケットに強いルータを探す必要が出てきました。しかし、同じYAMAHAのルータを選ぶ場合は更に上位のRTX1500を購入する必要があり、その上でもちゃんと処理が出来るのかは実際に試してみないとわからないという不安な状況でした。その時、NECのIXシリーズのルータがショートパケットの処理に強い(=Skypeに強い)という評判を聞きつけ、Yahoo!オークションでIX2015を落札し、実際に試してみる運びとなりました。

以下で、実際にルータを設置してネットワークを安定させるまでの顛末を記しますので、Skypeやその他のメッセンジャーソフトの吐き出す大量のパケット負荷に喘いでいるのに、高い機器代を出して貰えなくて困っているネットワーク管理者の皆様は、どうぞご一読ください。

IXシリーズとは

IXシリーズとは、NECの業務用ルータのシリーズです。CiscoのIOSに近い設定方法で、柔軟で多機能を実現出来て、多くの拠点へVPN接続ルータとしての導入実績もあるシリーズですが、今回紹介するIX2015は2005年リリースの機種であり、定価は10万円近くした機種ではありますが、今ではオークション等で3000円程度で出回っています

結論としましては、2005年頃の機種と言っても、一般家庭やSOHOでの処理を捌くのに十分な性能を持っています。ただ一つ注意しないといけない点としては、本体のファームウェアを更新する為にはNECとの保守契約を結ぶ必要があるので、落札する際にファームウェアのメジャーバージョンが8になっている事(例:8.3.48)を確認してください。

実際の設定

前提となる社内のネットワークは以下になります。

  • /29レンジのグローバルIPをプロバイダから提供されている(例:xxx.yyy.zzz.104/29)
  • IP Unnumberedを利用して、グローバルIPアドレスを有効活用する
  • 社内には50台ほどのコンピュータがあり、連絡用ソフトとしてSkypeを利用している

※クリックで大きい画像を表示します。
network

IX2015/ファームウェア8系に準拠した設定方法を以下に紹介します

ip cache-size 20480
ip ufs-cache enable
ip ufs-cache max-entries 20480
ip route default FastEthernet0/0.1
ip name-server 8.8.8.8

dns cache enable
proxy-dns ip enable
proxy-dns interface FastEthernet0/0.1 priority 200
proxy-dns server 8.8.8.8
proxy-dns server 8.8.4.4

ppp profile example
  authentication myname user@example.net
  authentication password user@example.net sineup-password

interface FastEthernet1/0.0
  ip address xxx.yyy.zzz.105/29
  ip address 192.168.0.1/24 secondary
  ip mtu 1454
  ip tcp adjust-mss 1414
  no shutdown

interface FastEthernet0/0.1
  encapsulation pppoe
  auto-connect
  ppp binding example
  ip unnumbered FastEthernet1/0.0
  ip tcp adjust-mss auto
  ip napt enable
  ip napt translation max-entries 20480
  ip napt inside list napt_host
  no shutdown

大まかに言えば、左端のFE0/0のポートでインターネットへの接続を受け付け、右側のFE1/0の部分で内部LANを展開する方法になっています。この際、FE0/0.1の設定で、それ自体はグローバルなIPアドレスを持たず、FE1/0.0の持っているプライマリIPアドレスを名乗る様に設定しています。

そして、FE1/0のポートにxxx.yyy.zzz.105と192.168.0.1の二つを設定する事で、FastEthernet0/0.1はxxx.yyy.zzz.105を名乗り、192.168.0.0/24のマシンは192.168.0.1を、xxx.yyy.zzz.106~xxx.yyy.zzz.110のグローバルIPアドレスを持つマシンはxxx.yyy.zzz.105をゲートウェイとして、外部へ接続する事が出来ます。

SOHO向けの話として各種キャッシュ設定に関して触れますと、一番気を使ったのはnapt(アドレス変換)のエントリ数です。前述の通り、弊社ではコミュニケーションツールとしてSkyepを利用していますが、Skypeは非常に多くのホストに対して接続を仕掛けるので、平常時でも5000セッション、多い時には同時に10000セッション以上も張られている場合があるため、デフォルトの4096ではとても捌ききれないので増やす必要があります。

同様に、IPのルートキャッシュも増やしていますが、ある程度はNEC独自の高速化機能であるufs-cacheが吸収してくれるので、ここまで増やす必要があるのかは微妙ですが、ルートキャッシュは他の設定と違って設定の反映に再起動が必要という点を鑑みて、多めに設定しています。

以下の画像は、実際に置き換えて運用しているルータをモニタしたものです。

※クリックで大きい画像を表示
munin graph

始業時間周辺や突発的な大量通信の場合は多少CPU負荷が掛かるものの、基本的には40%前後を維持、メモリも50%前後といった所で安定しています。ネットワークへの接続は以前より格段に安定し、Skypeへのログインへ掛かる時間も短縮されました。監視している負荷状況から考えるに、この設定であれば、使い方にもよりますが一般的な事務所で100人規模の処理も捌ききってくれると考えられます。

基本的な設定は以上です。あとは各々の環境にあわせてDHCPを使う、NTPで時刻同期を取る、アクセスフィルタを設定する、IPSecを使う等々、IXシリーズのルータはパワフルで、設定もわかりやすく、多くの機能を提供出来ます。事業所のルータ選定に迷っている方は、選択肢として検討してみてはいかがでしょうか。

  • このブログについて

    このブログは、札幌市の「株式会社インフィニットループ」が運営する技術ブログです。
    お仕事で使えるITネタを社員たちが発信します!

    最新の記事