web-dev-qa-db-ja.com

Solaris11.1およびipfilter

Solaris11.1でIPフィルターを機能させようとしています。

私は公式に従っています Solaris 11.1ガイド

ホストが起動すると、期待するipf.confが取得されません。 svccfg -s ipfilter:default listpropの内容は次のとおりです。

config                                        application
config/ipf6_config_file                      astring     /etc/ipf/ipf6.conf
config/ipnat_config_file                     astring     /etc/ipf/ipnat.conf
config/ippool_config_file                    astring     /etc/ipf/ippool.conf
firewall_config_default                       com.Sun,fw_configuration
firewall_config_default/apply_to             astring
firewall_config_default/exceptions           astring
firewall_config_default/open_ports           astring
firewall_config_default/value_authorization  astring     solaris.smf.value.firewall.config
firewall_config_default/version              count       1
firewall_config_default/policy               astring     custom
firewall_config_default/custom_policy_file   astring     /etc/ipf/ipf.conf
firewall_config_override                      com.Sun,fw_configuration
firewall_config_override/apply_to            astring
firewall_config_override/policy              astring     none
firewall_config_override/value_authorization astring     solaris.smf.value.firewall.config
general                                       framework
general/complete                             astring
general/enabled                              boolean     true
restarter                                     framework                 NONPERSISTENT
restarter/logfile                            astring     /var/svc/log/network-ipfilter:default.log
restarter/contract                           count       7951
restarter/start_pid                          count       4031
restarter/start_method_timestamp             time        1354809979.642008000
restarter/start_method_waitstatus            integer     0
restarter/auxiliary_state                    astring     dependencies_satisfied
restarter/next_state                         astring     none
restarter/state                              astring     online
restarter/state_timestamp                    time        1354809979.645753000

上記から、/etc/ipf/ipf.confを取得して使用することを期待しています。そうではありません!代わりに、空のルールセットを使用します。

起動後、私は持っています:

$ svcs network/ipfilter
STATE          STIME    FMRI
online         17:06:19 svc:/network/ipfilter:default
$ ipfstat -io
empty list for ipfilter(out)
empty list for ipfilter(in)

ipf -Fa -f /etc/ipf/ipf.confを使用して構成ファイルを手動で有効にすることができます。これは正常に機能するため、期待どおりに機能させることができないのはSMFのものだけです。

私は、SMFがIPFilterに関して実行するスクリプトを読み、また調べようとしています。しかし、私は立ち往生しています。それは私が理解できるものよりはるかに複雑です。

おそらく、Solarisの自動ネットワーク構成機能と関係がありますか?

かなり複雑なSMFスクリプトが、実行している選択に関してコンソール(したがって、SMFログファイル)に何らかの出力を行うことができれば素晴らしいと思います。残念ながらそうではありません。

私のホストは、排他的なIPスタックを持つ非グローバルゾーンです。

私は何を見落としましたか?

5
peterh

私はそれを機能させました!

Solaris11.1の公式Solarisドキュメントにエラーがあることが判明しました。

それはあなたにするように告げます:

 $ svccfg -s ipfilter:default setprop Firewall_config_default/policy = astring: "custom" 
 $ svccfg -s ipfilter:default setprop Firewall_config_default/custom_policy_file = astring: "/ etc/ipf/myorg.ipf .conf "

しかし、よく見ると、そのステートメントにエラーがあることがわかります。「atring:」と実際の値の間にスペースがありません。

svccfgはこれについて文句を言いません。気を付けて !

要するに、私が最初にしたことはこれでした(私の設定ファイルは私にとって最も自然に見えるので単に/etc/ipf/ipf.confです):

 $ svccfg -s ipfilter:default setprop Firewall_config_default/policy = astring: "custom" 
 $ svccfg -s ipfilter:default setprop Firewall_config_default/custom_policy_file = astring: "/ etc/ipf/ipf.conf 「

それから私は不足しているスペースがあることに気づいたので、私はこれをしました:

 $ svccfg -s ipfilter:default setprop Firewall_config_default/policy = "custom" 
 $ svccfg -s ipfilter:default setprop Firewall_config_default/custom_policy_file = "/etc/ipf/ipf.conf" 

それから私は私の質問を投稿しました。ご覧のとおり、svccfg -s ipfilter:default listpropからの出力はその時でもちょっと正しく見えました。しかし、それは機能しませんでした。理由を説明することはできません。

私はついにやった:

 $ svccfg -s ipfilter:default setprop Firewall_config_default/policy = astring: "custom" 
 $ svccfg -s ipfilter:default setprop Firewall_config_default/custom_policy_file = astring: "/etc/ipf/ipf.conf 「

...そしてそれがすべての違いを生むようでした。

4
peterh

使用することが可能です:

$ svccfg -s ipfilter:default setprop \
            config/ipf_config_file = astring: "/etc/ipf/ipf.conf"
2
Eric