LoginSignup
0
0

More than 3 years have passed since last update.

FreeNASのjail環境へポートフォワードする

Last updated at Posted at 2020-12-24

FreeNASを愛用の方も多いかと思いますが、FreeNASではポートフォワードなどの機能がGUI上からは行えません。
とは言え、jailでプラグインなどを利用するとどうしても欲しくなる時があります。
ここではipfwとnatdを使ったポートフォワードを行います。

※tcp80をフォワードする時は管理GUIのポート番号をあらかじめ変更しておいてください。

手順

1. JailのConfigurationで内部用ネットワークを作成

jail→Configuration を選択
→物理ネットワークと被らないようにする
例)172.30.111.0/24など
※Jail側のゲートウェイアドレスは172.30.111.254になる

2. Jailでコンテナ作成する

プラグインなどを使ってコンテナを作成しましょう。
※作成の際は、VIMAGEとNATにチェック入れる事を忘れずに

3. rc.confの修正

natさせるため、/etc/rc.conf(/conf/base/etc/rc.conf)を修正する
下記を最終行へ追記

# Enable natd
natd_program="/sbin/natd" # path to natd, if you want a different one.
natd_enable="YES" # Enable natd (if firewall_enable == YES).
natd_interface="vtnet0" # Public interface or IPaddress to use.
natd_flags="-f /etc/natd.conf" # Additional flags for natd.
gateway_enable="YES"
firewall_enable="YES"
firewall_type="open"

4. natの設定

/etc/natd.conf(/conf/base/etc/natd.conf)を作成する
下記のような感じで。example: natd(8)以下に実施したい項目を追加する。
この場合は192.168.111.130:80,443(ホストインターフェース)に来たパケットを172.30.111.10:80,443(Jailインターフェース)へフォワード

### 基本設定
use_sockets yes
same_ports yes
port 8668 # NAT ルーティングに使用するポート
unregistered_only yes
dynamic yes # ルーティングインターフェイスの動的監視.ppp では必須
### これ以降はポートフォワーディング設定
## redirect_port PROT TARGET_ADDR:TARGET_PORT[-TARGET_PORT] IN_PORT[-IN_PORT]
## example: natd(8)
redirect_port tcp 172.30.111.10:80 192.168.111.130:80
redirect_port tcp 172.30.111.10:443 192.168.111.130:443

5. initコマンド追加

コンパネ→Tasks→Init/Shutdown Scriptの追加

  • タイプ:コマンド
  • コマンド:/sbin/ipfw add 10 divert 8668 ip from any to any via vtnet0   ※最右は対象のインターフェース名
  • When:Post Init
  • 有効化:チェック

6. 再起動

Freenasを再起動して、設定が反映されているか確認する。

さいごに

FreeNASのバージョンによる差異がありますが、ipfwとnatdは使えますので問題ないと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0