分类: BSD
2008-04-17 09:45:38
pass in on fxp0 all
pass out on fxp0 all
pass in on lo0 all
pass out on lo0 all
pass用于指定数据包可以通过,out与in相反,标识从网络界面向网络上或其他网络界面发送的数据包,而on fxp0或on lo0标识进行处理的网络界面。这里的设置允许内部网络界面、loopback网络界面可以自由发送和接收数据包。
block in log on fxp1 all
block out log on fxp1 all
为了安全起见,除了明确指定可以发送和接收的数据包之外,屏蔽其余的外部网络界面进行数据发送和接收。
block in log quick on fxp1 from 10.0.0.0/8 to any
block in log quick on fxp1 from 192.168.0.0/16 to any
block in log quick on fxp1 from 172.16.0.0/12 to any
block in log quick on fxp1 from 127.0.0.0/8 to any
上面的设置明确屏蔽具备内部网络地址的数据包被转发到外部网络去,由于ipfilter中地址转换和包过滤是在同一个系统中完成的,因此不必担心它们会发生冲突问题。
pass out log on fxp1 proto icmp all keep state
pass out log on fxp1 proto tcp/udp from any to any keep state
proto用于指定不同的协议,通常可以设置为tcp, udp和icmp。这两行设置允许TCP, UDP, ICMP协议的数据包可以向外发送出去,keep state用于标识建立TCP连接之后的数据包,或者ICMP、UDP的回应数据包,以允许回应数据包能发送回内部网络。
pass in quick on fxp1 proto tcp from any to any port = ftp-data keep state
pass in quick on fxp1 proto tcp from any port = ftp-data to any port > 1023 keep state
ftp中将打开额外的端口以进行数据传输,这两个设置允许对ftp数据端口的数据包能够进行转发。