PF設定メモ1

単純に他のサイトを参照しつつ自分の設定を組み込んでいく。後でファイル化する為に、文章は比較的多く書いている。

参考サイト
http://www.usupi.org/info/pf.html
http://www.koganemaru.co.jp/cgi-bin/mroff.cgi?subdir=man&lc=1&cmd=&man=pf.conf&dir=jpman-12.2.2%2Fman&sect=0
https://www.freebsd.org/doc/handbook/firewalls-pf.html

 

最低限の設定

基本的には、まず全ての通信を拒否し、後から必要な部分に穴を開けていく。

block all
pass quick on lo0 all
pass quick on re0 all

「block all」で全てのアクセスを拒否し、
「pass quick on lo0 all」でサーバに入ってきた通信と、サーバ本体がリクエストした通信は通過させ、
「pass quick on re0 all」で「re0」と言うNICから入ってきた通信(LAN)は全て許可する。

これで、設定を有効化してもLAN内からリモート操作は可能となる。
(現段階では意味が無いんだけど)

 

マクロを使い、WAN側NICも設定する

マクロには、英数字と下線が使え、名前は何を使っても良い。基本的には、設定の切り替えをしやすくする役割となるので、切り替えの必要がない設定は、直接追記してしまったほうが効率が良い。LANやWANの設定の場合、別のPCに設定ファイルを移動させても、NICの設定だけ変えれば使えるようになるので、将来的には都合が良い。いずれはローカルのIPアドレスなどもマクロで設定する事になるが、その時にまた追加設定をする。

ext_lan="re0"
ext_wan="re1"

block all
pass quick on lo0 all
pass quick on $ext_lan all

まだWAN側NICに関する設定がありません。

ポートフォワーディングにmpd5を使用するため、WAN側のNICは「re1」から「tun0」に変わります。理由についてはmpd5の方で語る可能性もありますが、ここではそういうモノだと思っておく程度で構わない。

 

設定確認

まずは設定ファイルを作成。後記の設定を採用する。

vi /etc/pf.conf
ext_lan="re0"
ext_wan="re1"

block all
pass quick on lo0 all
pass quick on $ext_lan all

rc.confにPFが起動出来るように追記。

vi /etc/rc.conf
pf_enable="YES"

PFを起動。

/etc/rc.d/pf start

書式に間違えがないかチェック。

pfctl -vf /etc/pf.conf
No ALTQ support in kernel
ALTQ related functions disabled
ext_lan = "re0"
ext_wan = "re1"
block drop all
pass quick on lo0 all flags S/SA keep state
pass quick on re0 all flags S/SA keep state

特にエラー表示が無いのなら「pfctl -f /etc/pf.conf」で設定を有効化してしまっても問題ない。ちなみに私の場合、PFを起動した時点でいきなりリモートアクセスが切断されて焦ったが、問題なく再接続出来ている。問題は無かったらしい。

ただ気になるコメントが有ったわけで・・・

No ALTQ support in kernel
ALTQ related functions disabled

カーネルでALTQ関連を有効化する必要があるようですね。

https://www.freebsd.org/cgi/man.cgi?query=altq&sektion=4&manpath=freebsd-release-ports

options ALTQ
options ALTQ_CBQ
options ALTQ_CODEL
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_CDNR
options ALTQ_PRIQ
options ALTQ_FAIRQ

カーネルに、これらのオプションを追加して再構築すれば良いらしいんだが、ジャンルの違う話になるので、今回はここまで。

 

コメントを残す

メールアドレスが公開されることはありません。