20110418211206

続・Tarpitting 喰らったでござる

Tarpitting喰らったでござる
以降、明らかに遅延配送を喰らっていたPDX宛メールでしたが、本日からすぐに配送されるようになりました。何だったのだろうか。とりあえず、ありがとう!そしてありがとう!

Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]

20110417210653

OpenVPNアリ升

最近のVPSサーバ動作は安定してまして日々のパッケージ更新以外は特にありません(困った事に)。 ということで新しいサービスとしてOpenVPN辺りを入れてネチネチゴロゴロと試験目的で遊んでみましょうと先週より隙を見て作業。元々テストベッドとしての目的、そして日本のインフラ事情に左右されない海外に置く事を考えてサーバを契約したもので、現状はWebサーバ/メールサーバと主に外部向けに発信/提供するのみという状態で何かと勿体無いなぁ、と。一度、SquidによるProxyサーバを作るのも考えましたが、グローバルIPからの利用で踏み台にされないようにアクセス制限するのは大雑把にしかできないし非常に困難でした。 ということで、OpenVPN辺りで一度セキュアな通信インターフェイスを設けて後はProxyなり内側サービスなり、他のサーバとの連携用ネットワークを組むなりしようかな?というのがOpenVPN使ってみようというやる気の大半。環境は相変わらずのGentoo。

1. インストール

# emerge -pv openvpn
[ebuild N ] dev-libs/lzo-2.04 USE="" 0 kB
[ebuild N ] sys-apps/iproute2-2.6.35-r2 USE="berkdb ipv6" 0 kB
[ebuild N ] net-misc/openvpn-2.1.4 USE="iproute2 ipv6 pam ssl" 0 kB
※スペースの都合により-ふらぐは省略
# emerge openvpn

2. OpenVPN暗号鍵設定

・・・というか実はこの辺りは作業時に参照していたGentoo+OpenVPNの説明サイトを読んだほうがよかったりする。ので、大体の流れと補足をば。Gentoo Linuxな生活​/OpenVPNで悩む
# cd /usr/share/openvpn/easy-rsa/
# source ./vars
認証局用証明書作成(ca.crt/key)    : # clean-all; build-ca
サーバ用証明書作成(server.csr/crt/key): # build-key-server [server name]
ユーザ用証明書作成(client.csr/crt/key): # build-key [client name]
鍵交換用証明書作成(dh1024.pem)    : # build-dh
varsについては証明書作成の際のCNなりOUなりOの情報を予め入れておけるので編集しておくと手間が無くてよい。

3. OpenVPNサーバ設定

インターフェイスがグローバル側一本しかない為ブリッジ(TAP)は難しい。ので、とりあえずトンネル(TUN)モードにて動かし、サーバとクライアント間の暗号化ネットワークを作る。部分部分濁しつつサーバの設定ファイルを載せると、このような感じ
###
### OpenVPN config file
###

## Common Settings ##
port  443
port-share 127.0.0.1 4443

proto tcp-server
ca    /etc/ssl/openvpn/ca.crt
cert  /etc/ssl/openvpn/[server].crt
key   /etc/ssl/openvpn/[server].key
dh    /etc/ssl/openvpn/dh1024.pem

## Server Settings ##
dev    tun
server 192.168.254.0 255.255.255.0
push "route 192.168.254.0 255.255.255.0"
ifconfig-ipool-persist ipp.txt

keepalive 10 120

user nobody
group nobody

#comp-lzo ※
tun-mtu  1280
mssfix   1280

tls-server
persist-key
persist-tun
client-to-client

status /var/log/openvpn-status.log
log /var/log/openvpn.log
log-append /var/log/openvpn.log
verb 3
HTTPS(443)経由にすることで大概のファイアウォールを抜けることが可能なり。(フィルタ側からすると厄介この上ない。高級なファイアウォールはネゴの部分で遮断できるかもしれないが・・・)。よってApacheのHTTPSを既定ポートから変更し、OpenVPN受付→HTTPSに送るって形でHTTPSを殺さずにVPNサービスを提供。

4. OpenVPNクライアント設定

SCP等にて安全に下記設定ファイルに記述したファイルをクライアントに転送しつつ、OpenVPN本家からクライアントダウンロードと設定のみ。基本、サーバにて有効にしたものを有効にするだけ。あとpullしてサーバ内push記述の経路情報(route)取らないと環境により繋がらない場合多々。
###
### OpenVPN config file
###

## Common Settings ##
remote     173.230.147.180  443

proto tcp-client
ca   "c:\Users\hogehoge\My Documents\OpenVPN\key\ca.crt"
cert "c:\Users\hogehoge\My Documents\OpenVPN\key\[client].crt"
key  "c:\Users\hogehoge\My Documents\OpenVPN\key\[client].key"

## Client Settings ##
dev      tun
pull

#comp-lzo
tun-mtu	1280
mssfix	1280

tls-client
persist-key
persist-tun

verb 3

繋がったワーイ(テキトウ) -完-

・・・ちなみに今回の嵌りどころとして通信圧縮の"comp-lzo"を書くと、認証成功+TUNインターフェイス作成できてもは通っても全く通信が出来なかったり。片方有効で動くようなものではないので、どちらかが悪いのだが・・・確認できず。とりあえず圧縮失敗にて中途半端に繋がる事あるので要注意。

VPNの作成の際、別デーモンのPPTPの使用やOpenVPNのTunデバイスでipv6を使うというのも考えましたが、pptp、ipv6からのフォワーディング等についてカーネルのモジュールがどうも足りなさそう (?) なので一旦保留。

Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]

20110411222236

Tarpitting 喰らったでござる

Apr 11 00:00:00 mx postfix/smtp[10000]: 
ABCDEFABCD: to=<xxxxx@xx.pdx.ne.jp>,
relay=mail2.pdx.ne.jp[124.211.47.3]:25,
delay=0.27, delays=0/0.04/0.22/0, dsn=4.0.0, status=deferred
(host mail2.pdx.ne.jp[124.211.47.3] refused to talk to me:
450 Service unavaiable.(IP:173.230.147.180).)
status=deferred
ブホッ

携帯でメールを打つ習慣があまりないのでFrom書き換えからの自鯖からのメール送信。ウィルコムのメールサーバから遅延配送のメッセージを受ける。BCCで自分指定で毎度送っているのだが・・・Tarpitting か!?Tarpitting なのか? とりあえず同時に送った別サーバは250で送れてるし、待てば届くから問題ないのだけれど・・・ ただ、タイムスタンプが現在のメールが別なところからPDX→自鯖に届いているから多分送ったメールが問題なんだろうな・・・ これは気になる。

Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]

20110402115246

Linode継続申請完了

春の契約更新祭り
私がLinodeを使う理由:

  1. 最初の契約当時、日本にマトモなVPSが無かった (今はさくらか)
    • ゴテゴテなLinux (CentOS等) しか選べなかった+月2,000円以上が主
  2. 英語ではあるがサポートが早い+フレンドリー
    • 早い、冗談抜きで早い フォームに書いて手洗い行って戻った頃には着手報告あって茶吹いたことも
  3. 住み慣れた
    • ダッシュボード、iPodApp等依存環境作ってしまった
  4. Xenによる準仮想提供
    • 全仮想よりはマシな速度になってる筈・・・(比較対象が無いのが辛いが) カーネル弄る楽しみは無くなります (用意されたものへのアップグレードは3クリック
  5. GentooLinuxをサポート
    • 最低限の環境からポチポチ構築するOS、プランがなかなか無いんで・・・
  6. 割り当てリソース
    • 実はQuadCore メモリも知らぬ間にアップグレードされることも
  7. 海外である
    • レスポンスの悪さと引き換えに国外からのテストアクセスを容易に作れる

後者3つが主で、海外アクセス云々が一番大きいですね。円安なる前に一年契約ゥ

Posted by uso8000k | Permalink | Categories: Diary, Tech | [ツィート(笑)]

20110330001056

持ってて良かった

FreeBSDの再起動後立ち上がらないという現象。/var/run/wtmpのファイルが見つからないとか、処理中に何かしらのcpとmvコピー中にファイルディスクリプタが作れない云々。シングルユーザモードで立ち上げると一見問題なさそうで/をReadOnlyでマウントしてたり。どうもFSCK等でファイルシステム不調を確認すると、シングルユーザモードでもReadOnlyで読み込むとか。多分/tmp辺りに書き込めなかったのだろう。さて、他のファイルシステムはマウントせずにFSCKかければ問題ないが/の場合はどうしたらよいのだ?

持ってて良かったFreeSBIE (1CDブートFreeBSD) そこから本来の/をマウントせずにして復旧しました・・・ がこれ、サーバだけで行うとするとどうするんだろ・・・Forceとか付けるのかな。あと/tmpは分けといたほうがヨイネ

Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]

20110316155708

ESXi Datastore

こんなご時世なのでESXi4.xにてsnapshotの後.vmdkの複製を試みる。良くやる作業ではあるがそんな中気づいたのだが割り当て済みの内容を最適化してくれるみたいだ。プロビジョニング済みサイズが8GBのものが別データストアにコピー後4GB位になりました。データ削除をした場合等で膨れたままの状態を整頓してくれますね。キチキチの環境でしたら、たまに.vmdk複製と入れ替えを行ってして最適化してあげるのも良いかもしれない。ただ、単純に中のデータ量=最適化っぽいことされたデータ量って訳ではなさそう、どゆこと?

Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]

20110207222523

俺達は……遅すぎたんだ……何もかも…

うーん、IANAが割り当てるIPv4枯渇したんでしたっけね・・・ 国内新規割り当てが保ってあと3ヶ月とか。さて、IPv4が枯渇したからといってIPv4に移行するかというと、結局はまだしないし大きな変化ってのはしないと思うのです。あって料金が変わるくらい (後述)と予想します。

思う理由:
  • 知る限り2001年から散々煽られても移行に腰を上げない
  • CIDER等の予備策で延命しても腰が重く最後まで延命しきってしまった事 
  • ネットワーク機器が十分に対応しても乗るサービスが腰重く対応しない
  • 結局のところ腰が重すぎた

保守的なところから想像に難くない理由ですが・・・ これが仇となったのでしょう。 サービスを止められないほど広く使われすぎた気がするのです。 未だにWebのコンテンツのアップロードにFTPを使ったり、メール環境のユーザに合わせた「変わらなさ」が示している気がします。 そんな腰の重さの中での動く方法として、これから嫌な言葉の「事業仕分け」的なことが始まるのでしょう。私はアドレスの自主放棄を受け付け (仕分け) つつ暫くはLSN (ラージスケールNAT) でよろしくやっていくものと推測します。

普通にWebやメールだけを利用する人のグローバルアドレスは回収しても問題なさそうですし、既存の接続環境に対しすんなりと入れ替えも利きく方法から考えています。一番大きい理由はLSNはIPv4を基幹に使い続ける方法である事です。 (最近のPC/ルータも対応してますし、LSNのローカル側についてはIPv4でもIPv6でも良いですが)。 IPv4をインターネットの主に生かしておかないと、ネットワークインフラは仮に整ったとしても、サービスIPv6化、ユーザに目に見えない形での移行が間に合わないと考えるからです。ちなみにこの方法はIPv4を生かし続けた場合の「インターネット」って呼ばれるものは、各組織、プロバイダの組織ネットワークのバックボーン的な位置づけになるのかもしれないと併せて予想します。

今回こうして現実を見て、自分の考えの文章を起こしつつ「自分の管理しているネットワークやサービスだけの問題ではない」これが移行の際に大きい問題だったと思います。組織的にIPv6を入れるのは容易いです。ただ、既に自分の意の働かない部分にサービス提供していると、既存のIP44の環境を生かしつつ止めずにサービスを移せるか?自分のネットワークやサービスの環境だけIPv6に移行して誰が得する?IP44ベースでアクセスされてIPv6のデュアルスタックに対応させて何になる?って考えに至るのかもしれない。先に対応したほうが泣きを見る、そんな悪いチキンレースの結果がこうなのだろう、と。これは業界的に反省したほうが良いのかなと、思ったりします。 Interopに行ってIPv6タスクフォース等は見て、プロトコルのデュアルスタックなり、トランスレータなり見ていたけれど、結局何の手法を組織的に、国的に、世界的に使うのか、去年の06月の段階でも決まっていないし回答は曖昧。楽観もしていたのかもしれない。(既に決まっていて非公開情報なら問題はありませんが・・・)

実際のところどうなるのでしょうね・・・本当に。ふ・・・ふあんだ。

最後に、コアのISP側の知り合いとかは居ませんので・・・ 状況から鑑みて想像で物を語る不届き者をお許しください。この辺り、メールにてお叱りをいただけると嬉しいかもしれません。(後述: 外れたり、ノーコメントだと只の痛い子ですね・・・コレ)

余談:
最近は”通信料が増え続けているが価格競争で出来てしまったが、提供者的に割が合わないインターネット接続環境”(冗長) をプロバイダ料金を従量課金 (ただし、ダブル定額扱い) に変えて、最終的な定額価格を吊り上げるって方法の陰謀論を耳に挟みますが、これも先ずは従量課金ってよりはグローバルを与えるか与えないか、これだけで価格を吊り上がってくるのかなぁと思うのです。というか、やるでしょうね。あと、インターネット黎明期にClassB/Cを獲ってる組織は勝ち組ですね・・・ IPv6が思うように進まないのでしたら、程よい時間が経てはいい条件でグローバルIPを資産として売れるのではないでしょうか。

Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]

20110201193610

IPv4枯渇きた



   ∩___∩     /゙ミヽ、,,___,,/゙ヽ
   | 丿     ヽ    i ノ       `ヽ'
  /  ○   ○ |    / `(○)  (○)´i、  先生助けてっ!、
  | U  ( _●_)  ミ  彡,U ミ(__,▼_)彡ミ   枯渇時計ちゃんが息をしてないのっっ!!
 彡、    |∪| ,,/   ,へ、,   |∪|  /゙
 /  ヽ  ヽノ  ヾ_,,..,,,,_ /  '  ヽノ `/´ ヽ
 |      ヽ  ./ ,' 3  `ヽーっ   /    |
│   ヾ    ヾl   ⊃ ⌒_つ ソ      │
│    \__`'ー-⊃⊂'''''"__,,,ノ   |

後で何か書こう。

Posted by uso8000k | Permalink | Categories: Diary, Tech | [ツィート(笑)]

20110121220731

GentooのRCスクリプト監視スクリプト

諸事情でミッションクリティカル(笑) なサーバとなった為、このようなものを用意してみる。
#!/bin/sh

RC_INIT="/etc/init.d/"
SCRIPTS=`rc-status |sed -e "1d" |awk {'print $1'} `

#echo $SCRIPTS

#### check init ####
# gentoo runscript:
# 0: started 1:stopped

for rc in ${SCRIPTS}
do
 #echo `${RC_INIT}/$rc status |grep started`
 RC_STATUS=`${RC_INIT}/$rc status |grep stopped`
 if [ "${RC_STATUS}" ]; then
  $RC_INIT/$rc start
 fi
done
Gentoo Linuxのdefaultランレベルのデーモン状態監視、ならびに死んでたら起動させる単純なスクリプト。なお通知についてはstdoutがメールされる為、動いた場合何か出力された場合の報告処理は割愛してます。 Gentoo Linuxのinit.dに登録される起動スクリプトはrunscriptを介しての処理が一般的であるので、インターフェイスが統一されて一斉処理が行いやすい。ありがたやありがたや。本当にスルメな(噛めば噛むほど味が出る) ディストリビューションと思います。

Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]

20101218182909

VMware 4.1 ESXI VMDK Snapshot Trouble

はぁ・・・VMware系統のSnapshot機能は高機能でかわいいなぁ・・・
つ[Snapshot] ...
..
File <unspecified filename> is larger than the maximum size 
supported by datastore <unspecified datastore>
   。 。
  / / ポーン!
( Д )

はい。ESXiでBlock Sizeを弄ったデータストアを混在させて、VMにて異なるブロックサイズのデータストアに置いた場合起こる模様。特に載せるVMがブロックサイズの小さい方に作られている場合にこういった事が起こります。異なるブロックサイズの混在駄目絶対。もしくはしっかりポリシ作って管理を行う事。
対策:
  • プロビジョニング無効を覚悟でブロックサイズの大きい方へ移動
  • Snapshotの作る場所を変更する記述をvmxに行う
いじょ。

直感で解決はしたが、参考URL: VMware Community:thread/239319

Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]

20101217012417

LAN-W150N/RIP

最近買ったもの: Logitec LAN-W150N/RIP

USBで給電前提の無線LANルータ/アクセスポイント

これはいいものだ。とにかく小さい。そして電源アダプタ持ち歩かなくとも良い。いつも持ち歩いている鞄にはmini-BのUSBケーブルの他、USB出力のバッテリパックも持ち歩いている為、電源供給もバッテリで行うという荒業が出来たり。対応企画もa/b/g/nと現行の殆どをカバー。またマルチSSIDの提供が可能とか。近くにInternet ReachableなLANケーブルを見つけたらとりあえず、ルータモードで繋いでおくとステキな事に。Internal側は絶対かぶらないであろうローカルアドレスを与えておけば、どこでも繋ぐだけで自分の快適空間を作る事が可能です。・・・いい。長時間の動作はさせた事ないから安定具合はまだ分かりませんけどね。ただ、この機械のコンセプト(常用ではない)ところから考えるにさほど安定具合は多少悪くてもなんとかなりそう。

Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]

20101215222200

PortsとPortage

FreeBSDとGentooLinuxにおけるパッケージPostgresqlは:
Ports(FreeBSD):
/usr/ports/databases/postgresql-server-8.3.12_2/
/usr/ports/databases/postgresql-server-8.4.5_2/
/usr/ports/databases/postgresql-server-9.0.1_2/

Portage(Gentoo Linux):
/usr/portage/dev-db/postgresql-server/postgresql-server-8.3.12.ebuild
/usr/portage/dev-db/postgresql-server/postgresql-server-8.4.5.ebuild
/usr/portage/dev-db/postgresql-server/postgresql-server-9.0.1.ebuild
のような感じで情報を保存しています。

Linux系のパッケージが良く行う/usr/直下へシステムと混ぜて展開するパッケージ管理システムと、FreeBSD Portsのように/usr/local/以下にシステムと切り分けて展開するが、パッケージ情報のツリーが増えたり消えたり激しい (原因はツリー情報に細かいバージョンまで含んでる為) 管理システムどっちが便利なんだろうなぁ・・・最近揺れています。今まで妄信的にFreeBSDのPortsに軍配を上げていたのだけれど、依存関係でPortsの古いバージョンを入れる必要が出た場合に味わう地獄 (cvs-upでわざわざ取り寄せ) や、バージョンを含まないディレクトリのパッケージの内容が知らぬ間にメジャーバージョンアップされて以前のものはいつの間にか作られたバージョン付きのディレクトリからインストールをする必要があったりとか。あとは、知らぬ間にツリーから消えていてアップデート用のコマンドが通らなかったり(Portupgrade等) するのは本当に致命的ではないだろうか。システムを管理する分には使いやすいのだけれど、パッケージ自体の管理システムが実は使いづらいのではないかと思い始めたり。Gentooだと使っているバージョンのパッチを継続してアップデートするのですがねぇ・・・あと古いバージョンも一つのパッケージ化されたプロジェクト毎に管理されているし、古いバージョンも大抵同梱されていたりします。評価が高いのはPortsですが、何かと使っていて実はPortageも捨てたものではないと思うのです。 PortsとPortageの中間はないものかな・・・

Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]

20101208212117

Gentoo Hardened

emerge -uDN world をまめに行っていたためか、Gccのバージョンを変えたためか、最近頻繁に"Hardened"プロファイルに変えてみては的なメッセージが出るようになった。パッケージ更新毎に毎度である。これはうるさい。ので、プロファイル切り替えてみる。Linodeの標準だとサーバ用プロファイルが最初から選択されている。ちなみにHardenedとは、

hardened
【形】
  1. 硬くなった
  2. 《冶金》硬化した
  3. 鍛えられた、鍛練した
  4. 面の皮の厚い、無情の、冷淡な
  5. 鈍感に、無感覚になって
  6. 札付きの、常習的な
  7. 〔ミサイル発射基地{はっしゃ きち}が〕地下{ちか}サイロにある
  8. 〔ミサイルが〕地下{ちか}サイロから発射可能{はっしゃ かのう}な

という意味らしい。響きが良い。SELinuxだのPaxだのセキュア環境構築の下地用のプロファイルらしい。

作業の流れ:
参考:Gentoo Hardened よくある質問とその回答

/etc/make.profile -> /usr/portage/profiles/default/linux/x86/10.0/server

/etc/make.profile -> /usr/portage/profiles/hardened/linux/x86
# emerge binutils gcc virtual/libc
# emerge -e world
的な。

やりかたは本家を見ればいいと思う。違った部分だけ記録。最近のGentooはeselectにて管理を行うという事を今回は痛感。複雑になり始めてますね。FAQ見てプロファイルを切り替えた (シンボリックリンクを張り替えた) ら、emergeの最初でプロファイルが正しくしていされていないとの事で中断。eselect profile listで使用可能なプロファイルを確認して、eselect profile set 7とかすれば良い。その後すんなり。あとは楽しい世界再構築 emerge -e world。なお、Gccのバージョンが変わる場合もあるが、こちらは前回更新を行っていたので大して問題も無く、すんなり。


# eselect profile list
Available profile symlink targets:
[1] default/linux/x86/10.0
[2] default/linux/x86/10.0/desktop
[3] default/linux/x86/10.0/desktop/gnome
[4] default/linux/x86/10.0/desktop/kde
[5] default/linux/x86/10.0/developer
[6] default/linux/x86/10.0/server * #←現在のプロファイル
[7] hardened/linux/x86
[8] selinux/2007.0/x86
[9] selinux/2007.0/x86/hardened
[10] selinux/v2refpolicy/x86
[11] selinux/v2refpolicy/x86/desktop
[12] selinux/v2refpolicy/x86/developer
[13] selinux/v2refpolicy/x86/hardened

# eselect profile set 7
#

Good Luck. ハローそしてグッバイ。
約250個のパッケージを更新し、つつがなく終了。

Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]

20101123020732

Linodeのアレコレ

Linodeを教えてくれた後輩ちゃんと積んでるKernelのお話をしていたら、実はLinodeはカーネルを複数用意していて、メンテナンス用のWebメニューからプルダウンで好きに差し替えられるという事らしい。早速差し替え。リブート後正常に新めの物に。ムヒョー。

思い返せば準仮想で動かしてて、カーネルが見当たらなく、また、Dmesgを見るとGentooを使用しているがUbuntuでコンパイルされたものが使われていたりとか色々とこちらの環境とはお構い無しに差し替えが自由だと取ることができる節はありましたね・・・うん・・・いいねLinode (Xen型VPS) 自分でVanillaをゴリゴリ作ってた身としてはやや寂しいですがね。KVMを使用した準仮想を使用しない通常の仮想環境を提供するさくらも別な意味で凄いらしいけど。シンプルな仮想環境の提供なもんで、Kernelの差し換えのほか、テキトウな空き容量を見つけたらLinux系→Windows系へと別OSまで載せ換えられるとか。凄いね。通信も国内だし速めだろうし。

とりあえず、来年もLinodeかな・・・ この凄さをぜひ体感していただきたい

Posted by uso8000k | Permalink | Categories: Diary, Tech | [ツィート(笑)]

20101104233222

Nanobloggerのエラーの件(2)

/usr/share/nanoblogger/plugins/archive/master_index.sh: line 91:
warning: here-document at line 84 delimited by end-of-file (wanted `EOF')
何かまたArchiveにエラーが出てた。
軽く無視していたか、気づかなかったか。Indexが出来てはいたのだが修正。
diff master_index.sh.old master_index.sh
82c82,83
<   EOF)
---
>   EOF
>   )
何か前も同じようなエラー出て、同じような対応してたな。

Posted by uso8000k | Permalink | Categories: Tech | [ツィート(笑)]