qjailでVIMAGEなプロキシサーバを作ってみる
- 公開日: 2025/05/27(火) 21:43[JST]
- 更新日: 2025/05/27(火) 21:43[JST]
うちのインターネット環境は固定IPやら電話回線の都合でフレッツ光にしている。しかし特に平日の日中に速度が低下して職場への(sshトンネル経由の)リモートデスクトップ接続がまともに機能せず、ローカルでできる作業はなるべくローカルでやることでしのいでいた。そこで、KDDIの光回線を追加した。インターネット接続のゲートウェイが同一ネットワークセグメント内に2つできたことになる。
ルーティングテーブルをいじって職場へのアクセスはKDDI経由にしてこれはこれでいいのだが、せっかくの回線なので一番トラフィックが多いであろうwebもKDDI経由にしたくなった。そうすると「ルーティングテーブルのdefaultがKDDIのルータであるようなプロキシサーバ」を用意すればいいということになるが、このためだけに専用の物理サーバを用意するのも馬鹿馬鹿しい。10年ぐらい前に実装されたjailのVIMAGE機能を使えば、ホストとjail内とで別々のルーティングテーブルにすることが可能らしい、ということは知っていたので挑戦してみた。
現在jailの管理に使っているqjailがVIMAGEに対応していればいいんだけど、と調べてみたらQiitaの@psaxuww氏による「FreeBSD 12.0で Jail(VIMAGE) を qjail で構築」という記事がヒットした。ただ現在はqjailのバージョンアップにより設定コマンドが多少変わったのと、うまく動かなかったところもあった。ちなみに、公式ドキュメントである qjail-vnet-howto だが、qjail公式サイトやFreeBSD.orgにあるman も前バージョンのものしかなく、実際のFreeBSD環境で man qjail-vnet-howto しないと現行のドキュメントは読めない。