社内用webサーバを特定の相手に一時的に公開する
表題の通り、社内用のプライベートなwebサーバを一時的に且つ特定の相手(IPアドレス範囲)に公開する必要があって。
どーしたもんかなぁとアレコレと。
余ってる XR-300/TX2 でできるかな...とマニュアルを落としてみたり(でもそれとは関係なくファームウェアアップデートが必要そうな気配を感じて面倒臭くなったり)、delegate か Squid でリバースプロキシか...とか、「そいやオレどっちも使ったことねーや...」とか。
実は一度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 fromto $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"”して再起動するのもなぁとか思ったし。