저는 Solaris 11.1에서 IP 필터가 작동하도록 하려고 합니다.
나는 공식을 따른다솔라리스 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 스택이 있는 비전역 영역입니다.
내가 무엇을 간과했는가?
답변1
나는 성공했다!
Solaris 11.1의 공식 Solaris 문서에 버그가 있는 것으로 밝혀졌습니다.
무엇을 해야 할지 알려줍니다:
$ svccfg -s ipfilter:default setpropfirewall_config_default/policy = astring:"custom" $ svccfg -s ipfilter:기본 setpropfirewall_config_default/custom_policy_file = astring:"/etc/ipf/myorg.ipf.conf"
그러나 자세히 살펴보면 해당 명령문에 실수가 있음을 알 수 있습니다. "atring:"과 실제 값 사이에 공백이 없습니다!
svccfg
이것에 대해 불평하지 않을 것입니다. 주의 깊은!
간단히 말해서, 제가 처음에 한 일은 다음과 같습니다(내 구성 파일이 /etc/ipf/ipf.conf
나에게는 가장 자연스러워 보였습니다).
$ svccfg -s ipfilter:default setpropfirewall_config_default/policy = astring:"custom" $ svccfg -s ipfilter:기본 setpropfirewall_config_default/custom_policy_file = astring:"/etc/ipf/ipf.conf"
그러다가 빈 공간이 있다는 것을 깨닫고 이렇게 했습니다.
$ svccfg -s ipfilter:기본 setpropfirewall_config_default/policy = "사용자 정의" $ svccfg -s ipfilter:기본 setpropfirewall_config_default/custom_policy_file = "/etc/ipf/ipf.conf"
그런 다음 질문을 게시했습니다. 보시다시피 svccfg -s ipfilter:default listprop
출력은 그때에도 올바르게 보입니다. 그러나 그것은 작동하지 않았습니다. 이유를 설명할 수 없습니다.
나는 마침내 해냈습니다:
$ svccfg -s ipfilter:default setpropfirewall_config_default/policy = astring: "사용자 정의" $ svccfg -s ipfilter:default setpropfirewall_config_default/custom_policy_file = astring: "/etc/ipf/ipf.conf"
…그것이 모든 것을 변화시키는 것 같았습니다.
답변2
다음을 사용할 수 있습니다:
$ svccfg -s ipfilter:default setprop \
config/ipf_config_file = astring: "/etc/ipf/ipf.conf"