Solaris 的防火墙ipfilter配置
作者 佚名技术
来源 操作系统
浏览
发布时间 2012-06-28
MartriWang@gmail.com 20080509 # svcs -a |grep network |egrep "pfil|ipf" disable 4:36:25 svc:/network/pfil:default online 23:41:33 svc:/network/ipfilter:default (查看IP Filter服务是否启动) # ifconfig -a inet lo0: flags=2001000849 inet 127.0.0.1 netmask ff000000 pcn0: flags=1000843 inet 10.4.128.226 netmask ffffff00 broadcast 10.4.128.25 (查看网卡设备名) #vi /etc/ipf/pfil.ap ....... #dnet -1 0 pfil #pcelx -1 0 pfil #spwr -1 0 pfil pcn -1 0 pfil ....... (将网卡设备名前注释去掉) #vi /etc/ipf/ipf.conf block in log quick proto tcp from 10.4.128.0/24 to any port = ftp (编辑防火墙规则) #svcadm enable svc:/network/ipfilter:default (启动服务) #svcs -a |grep -i ipf (再次查看服务是否启动) #autopush -f /etc/ipf/pfil.ap (生效pfil.ap配置,此步骤只需要做一次,以后更改防火墙规则就不需要再做) #ifconfig pcn0 down unplumb (禁用网卡) #ifconfig pcn0 plumb 10.4.128.226 netmask 255.255.255.0 broadcast 10.4.128.255 up #ifconfig pcn0 plumb 192.168.0.6 netmask 255.255.255.0 broadcast 192.168.0.255 up (启用网卡) 这时候防火墙已经生效,大家可以试着FTP配置好的服务器,若以后需要更改规则请参照以下步骤: #vi /etc/ipf/ipf.conf block in log proto tcp from 10.4.128.0/24 to any port = ftp block in log proto tcp from 10.4.128.0/24 to any port = telnet #ipf -Fa -f /etc/ipf/ipf.conf #ipfstat -io #ipfstat #ipmon 更改完以后可以再次试着FTP。 大家可能比较迷茫的就是规则方面了,其实它的规则很好懂,配置起来也很简单: 禁止就是block 通过就是pass 进来就是in 出去就是out 那么配合起来使用就行了,再加上可以指定在哪个网卡上使用,也就是再加个on pcn0,另外还有一个关键字就是all,这是匹配(禁止或者通过)所有的包,组合起来的例子就是: block in on pcn0 all (禁止所有的包进入) 还可以针对网段、IP以及端口的配置,就是在包的后面加如from .... to .... port = ..就可以,等号的地方可以改成其他运算符,如<、> 网段:block in log proto tcp from 10.4.128.0/24 to any port = ftp 地址:block in log proto tcp from 10.4.128.163/32 to any port = ftp 对于协议的控制,它一样可以做的很好。协议的关键字有4种(icmp、tcp、udp、tcp/udp),启用对协议的控制就是在协议的关键字前加proto关键字如: block in on pcn0 proto icmp from any to any 在使用ICMP协议控制的时候,可以使用icmp-type关键字来指定ICMP协议的类型,类型的值有4种: ICMP Type Value Keyword Echo reply 0 echorep Echo request 8 echo Router advertisement 9 routerad Router solicitation 10 routersol 例如: block out quick proto icmp from any to 10.4.128.163/32 icmp-type 0 (禁止对PING的响应) 在这里要解释一下quick的用法,这是个很好用的关键字,假如你的防火墙有100条规则,最有用的可能只有前10条,那么quick是非常有必要的。 pass in log quick proto tcp from 10.4.128.163/32 to any port = telnet block in log all from any to any 假如你希望禁止服务器的所有包而只希望一个IP只能够telnet的话,那么就可以加上quick关键字,quick的作用是当包符合这条规则以后,就不再向下进行遍历了。如果没有quick的情况下,每一个包都要遍历整个规则表,这样的开销是十分大的,但是如果滥用quick也是不明智的,因为它毕竟不会产生日志。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Solaris 的防火墙ipfilter配置的所有评论