読者です 読者をやめる 読者になる 読者になる

うまいぼうぶろぐ

linuxとhttpdとperlのメモ

nginx のproxy_passするときのホスト名指定とresolver

(OS違ったけど詳細忘れた)現象が発生するサーバとしないサーバあったので、これだけが原因じゃないかも。とりあえず心に留めておく。 location /hoge/ { proxy_pass "http://example.com/"; } これは問題なく動いた。proxy_pass先でurlまで指定すると locati…

big-ipで帯域制御 Bandwith ControllerとRate Shaping

Bandwith Controller https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/tmos-implementations-11-5-0/9.html Bandwidth controllers のほうが最新機能のようなのでこっちのがいいかも Rate Shapingの後継機能のようで、共存はできない…

awsのIP一覧

aws

https://ip-ranges.amazonaws.com/ip-ranges.jsonjsonで返ってくるのでjq使うと良い。ex: cloudfront のip prefixだけ抜く curl -s https://ip-ranges.amazonaws.com/ip-ranges.json | jq -r '.prefixes[] | select(.service == "CLOUDFRONT") | .ip_prefix'…

sshuttle でssh使って簡単vpn

ssh

https://github.com/apenwarr/sshuttle ポートフォワードだと個別にport設定したり、 ブラウザのプロキシ設定いじらないとダメだけど sshuttle の場合、iptables(macだとpfctl ?)で特定のnetwork宛の通信を ssh経由にねじまげてくれるのでvpnのように使える…

VMWareの仮想マシンのdiskを縮小してpartitionを削除する

https://www.experts-exchange.com/articles/12938/HOW-TO-Shrink-a-VMware-Virtual-Machine-Disk-VMDK-in-15-minutes.htmlvCenterからいじっただけでは縮小されないので。 linux VMの対応。N GBからM GBに縮小する例。 1. 削除するpartitionをumountしてfst…

共用サーバの接続制限で良さげなapache module - mod_vhost_maxclients

ペパボの中の人さまさま。 https://speakerdeck.com/matsumoto_r/virtualhosting-security-performance-operasion http://hb.matsumoto-r.jp/entry/2015/08/29/151920 https://github.com/matsumoto-r/mod_vhost_maxclients virtualhostごとに同時アクセス数…

SSLアクセラレータ(reverse proxy)配下のnginxのcache_key

SSLアクセラレータ配下のnginxで http、httpsで個別のキャッシュにしたいときに、 この設定をいれると、一見$schemeでhttp/httpsに振り分けられて 出来そうに見えますが、このままだと同じキャッシュになります。 proxy_cache_key "$scheme://$host$request_…

SSLアクセラレータ(reverse proxy)配下のnginxで"/"なしのディレクトリにアクセスされたときのredirect

hogem.hatenablog.comだいぶ前のだけど。どうしてもSSLのままredirectさせたい場合の解決方法。やや強引だけど。-dでrequestがdirectoryに来て、かつ "/"がない場合はrewriteしてhttpsに飛ばす設定 if (-d $request_filename) { rewrite ^/(.*[^/])$ https:/…

big-ip ipv6 nat memo

VirtualServerにipv6 Poolにはipv4で作成したものを割り当てた場合、 通信失敗にはならなくて、自動的にbig-ipのv4のaddressでnatされてserverに送信される (snat automapしたときと同じ)

big-ip virtualserverに適用しているdefaultのSNIを入れ替える

やや面倒?clientssl-foo: foo.example.com sni default clientssl-bar: bar.example.com これを virtualserver example.com-httpsに適用している状態で bar.example.com をsniのdefaultにしたい前提: virtualserverに設定する段階では 複数のclient sslprof…

abとh2load の違い

ubuntu 14 LTS abはOSのapt h2loadは公式のsourceから取ってきたもの。 serverはHTTP/2対応ではなくて、HTTP/1.0、HTTP/1.1対応のserverで実験 abはHTTP/1.0で接続 keepaliveなし "Connection: close" よってnginxのdefaultだと圧縮されない - http://nginx.…

http benchmark ツール h2load

nghttp2 に含まれるh2load が便利らしい http://hb.matsumoto-r.jp/entry/2016/01/14/114048 https://nghttp2.org/ https://github.com/nghttp2/nghttp2 https://nghttp2.org/documentation/h2load-howto.html gitからとってきてコンパイルする。 libev、lib…

Big-IPでsorry serverにredirectする

poolが全滅、あるいはconnectioin limitにひっかかった場合にsorryサーバにリダイレクトさせたい場合。 connection limit入れたい場合 sorryサーバにリダイレクトしたい時に接続数制限をする場合はPoolのconnection limitを設定する。VirtualServerでConnect…

linuxでVMwareのvmdkイメージをmountする話

ストレージの機能で仮想マシンのイメージをsnapshotでとっていても、 実際にそのvmdkから特定のファイルを復旧する場合は、 そのsnapshotのファイルをコピーしてインベントリに登録、、、などまあまあ面倒。 だったらいっそのことvmdkを直接mountしたらええ…

RedHat/CentOS のphp/curlでGMO決済にsslで蹴られる現象の対応

GMO側がPCI DSS対応でTLS 1.2のみでの接続となってる。で、CentOS6でcurlで接続すると、 rpmでinstallされているcurl/opensslはtls 1.2に対応しているにも関わらずSSL Connect Errorで弾かれる。 (正確にはcurl直叩きではなくてphpから呼び出すcurl)curl-7.1…

stunnel でtlsで鍵認証をした上でsshする

http://qiita.com/albatross/items/390bf14db8b57c5a42f4 ずばり探し求めてたの発見。wifiなどでoutboundが80,443だけに制限されている場合、 aws上のサーバなどにsshが出来ない。てっとり早い対応はsshのportを443に変えてしまう。 sshdの設定で鍵認証だけ…

rsyncはdefaultでcopy時にsparse fileを作らない

ということを知った。 cpは元がsparse fileならcopy先もsparseになるから rsyncもそうだと思ってたけど違った。 rsyncは-S(--sparse) を指定しない場合はdefaultでsparseにしない。

古いlinux(fedora core、centos)をp2vする

mdadmを使っているためvmware converterが使えなくて、ssh+tarでp2vする場合の注意点。参考: http://hogem.hatenablog.com/entry/2016/02/12/233000 inode size 移行先の仮想マシンで何も考えずにmkfsしてinode sizeが256になっていると、 移行元のgrubのバ…

ansibleで牛がしゃべるようになってた

久々に触ったら突然牛が出てきてうけた。 正確にいうとansibleは何も変わってなくて、サーバにcowsayがinstallされたからだった。 _____________ < PLAY [hoge] > ------------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || || https://support.ansible.…

syslogで受けとったメッセージをアプリケーションで直接読む

久々の更新。 man 5 rsyslog.conf Named pipes This version of rsyslogd(8) has support for logging output to named pipes (fifos). A fifo or named pipe can be used as a destination for log messages by prepending a pipe symbol (’|’) to the name…

big-ip apm IP Geolocation Match memo

EndPoint Security (Server-Side) - IP Geolocation Match手動で記述する場合こんなん expr { [mcget {session.user.ipgeolocation.country_code}] == "JP" || [mcget {session.user.ipgeolocation.country_code}] == "US"

BIG-IP IP Geolocationで地域判別

AFMやAPMで許可する場合にipではなく地域を使ってアクセス許可/拒否したいときにgeolocation使うけど、Databaseが古いと想定外の地域で判定されてしまう。どやって判定してるねん?と調べて辿り着いたのがここ https://support.f5.com/kb/en-us/solutions/pu…

VMware vCenter Converter Standalone でconvert出来ないsoftware raid(mdadm)のlinuxをddでP2Vする

タイトルの通りvcenter converterではmdadmをsupportしてないのでdeviceを見つけられず、p2v出来ない。 例えば/bootが見つけられなくてエラーが出るなどで。 There is no '/boot' directory mounted on the source machine. It is required to create a boot…

big-ip APMのセッション数 取得

GUI Access Policy - Manage Sessions SNMP https://support.f5.com/kb/en-us/solutions/public/15000/000/sol15032.html 1.3.6.1.4.1.3375.2.6.1.4.3.0 F5-BIGIP-APM-MIB::apmAccessStatCurrentActiveSessions.0 = Counter64: 16ただ、手元の環境だとGUIのM…

big-ip ltm current connectionをsnmpで取る

昔諦めた気がしたけど、snmpwalk一覧眺めたらあっさり解決した。 virtualserver F5-BIGIP-LOCAL-MIB::ltmVirtualServStatClientCurConns .1.3.6.1.4.1.3375.2.2.10.2.3.1.12 pool F5-BIGIP-LOCAL-MIB::ltmPoolStatServerCurConns .1.3.6.1.4.1.3375.2.2.5.2.…

nginxでproxy_cacheしてもcacheされない条件

http://nginx.org/en/docs/http/ngx_http_proxy_module.html backendサーバからExpires、Cache-Controlなど特定のheaderが返ってくるとcacheされない。 Disables processing of certain response header fields from the proxied server. The following fiel…

big-ip persistence match acrossメモ

virtualserverを跨って同一のnodeに振り分けたいときのpersistenceのoption cookieでmatch acrossする場合はbig-ipが発行するinsert cookieは使えない。 cookie hashが必要(webアプリケーション側で発行するcookie名を指定) Cookie Nameは PHPSESSIDなど。ア…

big-ip irule IP::local_addr

使う場所 (event) 次第で結果が変わる。 https://devcentral.f5.com/wiki/iRules.IP__local_addr.ashx clientside (CLIENT_ACCEPTED)の場合はdestination addr serverside (SERVER_CONNECTED)の場合はsource addr iruleのCLIENT_ACCEPTEDを使っているところ…

big-ip source nat part2

hogem.hatenablog.com 追記で書いたけど↑は任意のsourceからとあるStandardなVirtualServerへアクセスしたときのsource nat とはいえ結局はnatなので半分ぐらいかぶってる。 今回は宛先がVirtualServerではなくて、 特定のserverからbig-ipをdefault gateway…

環境変数SSLEAY_CONFIGでopenssl.cnfのファイルを指定する

opensslでprivate CAを作るとRHELの場合は/etc/pki/CA/ (openssl.cnfは/etc/pki/tls/openssl.cnf)が自動的に指定されるので、rootじゃないと証明書を作成できない。一般ユーザで場所を指定したい場合はどうしたらいい?と思ってopenssl ca help をみると" -c…

sendmailで特定のホスト宛にSTARTTLSの接続に失敗して(平文ですら)送信できない現象

/var/log/maillog STARTTLS=client, error: connect failed=-1, SSL_error=1, errno=0, retry=-1 STARTTLS=client: 26136:error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small:s3_clnt.c:3342: ruleset=tls_server, arg1=SOFTWARE,…

クライアント証明書発行(作成・署名)時のパスワードをターミナルから入力する

/etc/pki/tls/misc/CA -newreq だとパスワードを聞かれるので 内部で実行されている openssl reqを直接実行して、標準入力から読み込むようにする。スクリプトにがっつりパスワードを書いていて無条件に署名するので 本番運用するCAの場合は取り扱い注意。や…

opensslとcurlでクライアント証明書を使ってHTTPS接続する

1年ぶりにやったらど忘れしてる。 クライアント証明書発行 事前にプライベートCA作っておくこと 詳細は省略 /etc/pki/tls/misc/CA -newca クライアント証明書用 秘密鍵、CSR作成 /etc/pki/tls/misc/CA -newreq上で作ったファイルがあるディレクトリでCAで署…

big-ip でSSLクライアント認証&外部のOCSPレスポンダを使って証明書の失効を管理する

AskF5 | Manual Chapter: Configuring Remote SSL OCSP Authentication 参考:hogem.hatenablog.com URLはpoolではなく、直接指定しかできないから、真面目に使うならサーバ間でHAとかしないとダメ? と思ったけどvirtualserverのIP宛でも指定できたので、事…

snmpでlinuxのdisk パーティション監視

cacti/cloudforecastってどやって取ってるん?とふと気になって調べた。 cloudforecastのlib/CloudForecast/Data/Disk.pm 見てたらhrStorage* という単語あったので snmpのoid見てたらこの辺だった。 各サーバのsnmpd.conf にdiskの設定追加しなくても良い方…

pfSense - ソフトウェアルータ

お手軽にsnort使える環境ないかなーと思って色々調べてて (サーバ自身にsnortを入れるという方法は除外して) vyatta/vyos で出来んじゃねーのと思ってたけど forum見ると、brocade買収後?しばらくしてsnortはsupportされなくなったとか。 で他のもの探して…

mailコマンドでlocalのmtaではなく外部のsmtpサーバを指定

これあんまりやらんからすぐ忘れちゃう。 mail -S "smtp=smtp://192.0.2.1:25"もしくは~/.mailrc set smtp=smtp://192.0.2.1 ちなみにsendmailコマンドの場合 /etc/mail/submit.mc FEATURE(`msp', `[192.0.2.1]')dnl postfix版のsendmailコマンドは不明

memo MySQL互換 のマルチマスタ - Percona XtraDB Cluster

あとでまじめに調べる http://qiita.com/mita2/items/70ca2dbe8f08e943c747 perconaはMySQL互換で独自機能を加えたRDBサーバ Slowログに拡張がされてたりするのは良い感じ。http://qiita.com/nownabe/items/7d4420f8a657aafe85f6 http://qiita.com/nownabe/i…

incrond / inotify cron - inotifyのeventを検知したらcrontab風の書式に従ってコマンドを実行するデーモン

便利ソフトウェアです。incronを知らなかったので、昔はこんなことしてた。 inotifywatchでイベントを監視してコマンド実行する 一時的なコマンドならこれでも良かったけど、ファイルが増えるとさすがに面倒。 incrondはincrontabコマンドでcrontab風に書か…

nginxでerror_pageにproxy_pass配下のURLを指定する

たぶん普通?は逆で、例えば 403 error時にproxy_passではなく localのerror_pageを見せたいというときは こう。 error_page 403 /403.html; proxy_intercept_errors on; 今回は、403 error時にbackendのapacheの特定のURLを見せたいという場合 named locatio…

A10 vThunder 仮想アプライアンス 評価版 memo

30日、5Mbps制限の評価版 https://www.a10networks.com/vthunder-embed 対応ハイパーバイザ Hyper-V ESXi KVM Software Downloadから選択したハイパーバイザに対応したソフトウェアをdownload Request Licenseにはhost id を入力してライセンスをコピーしと…

Big-IP APM memo

参考: hogem.hatenablog.com www.f5networks.co.jp SSL - Client Profile 証明書によるクライアント認証を行いたい場合、 普通はclientssl profile でClient Authenticationにrequireにする。 かつ、OCSP レスポンダを使う場合はvirtualserverでAuthenticati…

スクリプト内でパスワードを保存しないといけないときに平文は嫌なので暗号化して対処する

http://auewe.hatenablog.com/entry/2014/04/14/213319 シェルスクリプトの平文パスワードをセキュアにする方法 これ良いですね。たいていの場合、sshの認証で鍵を作ってるだろうから 余計なファイル作らなくてもできるので手っ取り早いし。 ### encrypt $ o…

ipmitool でInfo: SOL payload disabledと言われてログインできなかったのを直す

# ipmitool -v -I lanplus sol activate -H 192.168.0.1 -U user Running Get PICMG Properties my_addr 0x20, transit 0, target 0x20 Error Response 0xc1 from Get PICMG Properities No PICMG Extenstion discovered Info: SOL payload disabled # ipmit…

nfs4 server起動直後(もしくはHA切り替わり後)にclientから90秒間アクセスできない現象

dmesg, messages にこれが出てるから仕様だと思って諦めてた。 NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory NFSD: starting 90-second grace period が、redhatに解決法書いてた。 https://access.redhat.com/solutions/428…

10Gbe環境でのdrbd設定tuning - 特にmax-buffersとmax-epoch-size

https://drbd.linbit.com/users-guide/s-throughput-tuning.html https://www.3ware.co.jp/archives/1655 version: drbd 8.4.6, drbd-utils 8.9.3 きっかけ 10Gbase-SR で接続してc-max-rate, rate で1000M, 300M (MByte/sec) などにしても実際の速度が80MBy…

RHEL6/CentOS6 nfsサーバ /etc/hosts.allow memo

https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/ch-nfs.html http://nfs.sourceforge.net/nfs-howto/ar01s03.html http://www.turbolinux.co.jp/products/server/11s/user_guide/nfssetup.ht…

owncloud - 自前のオンラインストレージ環境

Dropboxような環境を文字通り自前のオンプレ環境やaws上などで構築できるオープンソース。規約などによりよそのASPが使えないけど、共有ストレージ環境が欲しい、というときに出番あるかも。クライアントもwebブラウザ以外に各OS以外にアプリケーションが用…

piwik でリアルタイムではなくログ取り込む

piwik - オープンソースのアクセス解析ソフト Google Analitics みたいなもの。 リアルタイム解析 基本的にはこっちの方法で使う? piwikで設定したサイトごとのjavascriptを各ページに埋め込んで使う。 アクセス解析対象のサーバが複数ある場合、 piwikもそ…

RHEL/CentOS Software Collections で(少し)新しいバージョンを使える

http://www.slideshare.net/moriwaka/red-hat-software-collections http://blog.co-mit.com/post/15/RedHat+Software+Collections%E3%81%AF%E7%B4%A0%E6%99%B4%E3%82%89%E3%81%97%E3%81%84 http://www.idcf.jp/blog/cloud/software-collections-for-centos-…