社内用webサーバを特定の相手に一時的に公開する

表題の通り、社内用のプライベートなwebサーバを一時的に且つ特定の相手(IPアドレス範囲)に公開する必要があって。
どーしたもんかなぁとアレコレと。
余ってる XR-300/TX2 でできるかな...とマニュアルを落としてみたり(でもそれとは関係なくファームウェアアップデートが必要そうな気配を感じて面倒臭くなったり)、delegateSquid でリバースプロキシか...とか、「そいやオレどっちも使ったことねーや...」とか。
実は一度delegateを使ってみるかと portinstall を叩いたんだけど、盛大な警告が出て止まったのですっかりやる気を失くしたり。


結局 stone を使わせて頂きました。
今まで実は使ったことが無かったんですが、楽でした。とっても。
グローバルIPを持ってるマシン上で

# cd /usr/ports
# portinstall net/stone
<略>
# stone xxx.xxx.xxx.xxx:80 80 &
# stone xxx.xxx.xxx.xxx:443 443 &

しただけ。楽だー。


IPアドレスベースでのアクセス制御はstoneでもやれないことはない感じでしたが、より柔軟性を持たせるため /etc/pf.conf に

table  { 111.111.111.111, 222.222.222.222, 333.333.333.0/24 }

pass  in log quick on $ext_if inet proto tcp from  to $ext_if port 80 keep state
pass  in log quick on $ext_if inet proto tcp from  to $ext_if port 443 keep state

を追記した。これも楽だー。
この pf の table は運用中にいじったりできる んだなぁ。知らなかった。
ま、pf.confいじって /etc/rc.d/pf restart とか強引にやっちゃってもいいんだけど。


しかしふと、pf でリバースNATすりゃ良かったんでは...と思わなくもないけど、まぁもう終わったからいーや。
gateway_enable="YES"”して再起動するのもなぁとか思ったし。