我们能够在Windows下使用防火墙来设置对网络的访问,在Redhat中也能用ipTables防火墙来配置各种进出数据包。同样在Solaris下也能配置防火墙。就是ipFilter。今天我们一起来配置一下ipFilter,实现对其他机器的访问限制。
        服务名为svc:/network/ipfilter:default。默认是禁用的:
Snap1
        ipFilter的配置文件为/etc/ipf/ipf.conf。我们来新建一条规则,禁止192.168.0.168访问服务器端的ftp。
#vi /etc/ipf/ipf.conf 添加内容:
block in log quick proto tcp from 10.4.128.0/24 to any port = ftp
跟小段一起学Solaris(20)---ipFilter防火墙_第1张图片
        然后重启服务,并查看是否启动。
跟小段一起学Solaris(20)---ipFilter防火墙_第2张图片
        现在我们来测试一下,防火墙是否生效。
跟小段一起学Solaris(20)---ipFilter防火墙_第3张图片
        哇塞,真的不能FTP啦?是不是ftp服务出问题了呢?我们换用其他IP地址来测试一下。
跟小段一起学Solaris(20)---ipFilter防火墙_第4张图片
        哦,看来ipFilter真的生效了!
        既然这样的话,我们就来看看刚才添加的那条规则吧。其实规则也很简单:
禁止就是block
通过就是pass
进来就是in
出去就是out
        那么配合起来使用就行了,再加上可以指定在哪个网卡上使用,也就是再加个on e1000g0,另外还有一个关键字就是all,这是匹配(禁止或者通过)所有的包,组合起来的例子就是:
block in on e1000g0 all
(禁止所有的包进入)
        还可以针对网段、IP以及端口的配置,就是在包的后面加如from .... to .... port = ..就可以,等号的地方可以改成其他运算符,如<、>
网段:block in log proto tcp from 192.168.0.0/24 to any port = ftp
地址:block in log proto tcp from 192.168.0.168/32 to any port = ftp
        对于协议的控制,它一样可以做的很好。协议的关键字有4种(icmp、tcp、udp、tcp/udp),启用对协议的控制就是在协议的关键字前加proto关键字如:
block in on e1000g0 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
        例如:禁止对PING的响应
block out quick proto icmp from any to 10.4.128.163/32 icmp-type 0
        在这里要解释一下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也是不明智的,因为它毕竟不会产生日志。
        今天的内容超级简单哦、大家能够轻松一点了!