这几天系统基本搞定了,配置好桌面(纯个人喜好,桌面这个东西,可有可无,主要是体验下),配好ssh远程登录,基本的系统设置就可以了。
不过系统处在裸奔状态中,没有杀毒软件,防火墙也没开。虽然是freebsd操作系统安全性比winsever要好,但是要注意不感染病毒不等于不会让人上传后门。
主要搞下freebsd防火墙ipfw。
笔者用的系统是freebsd8.4版本,稳妥起见找了个稳定版的
然后去找找ipfw的配置文档,网上各种文档满天飞啊,各种编译,各种配置都有,最后木有办法还是借助了freebsd官方手册的说明。
今天就搞一个配置简单一点的 ,当然首先你确认安装freebsd系统的时候ipfw是被安装上的。
有一点大家要搞清楚ipfw在freebsd6.0之前是要编译内核才能使用的,也就是说freebsd6.0以后不用编译内核安装完之后只要开启服务进行配置就可以了。
一,先要启用ipfw
打开/etc/rc.conf文件:
vi /etc/rc.conf
然后,添加如下的设置:
复制代码 代码示例:
firewall_enable="yes"
firewall_script="yes"
natd_enable="yes" # 开启防火墙nat功能
natd_interface="rl0"
natd_flags="-dynamic -m"
firewall_script="/etc/ipfw.rules"
保存并关闭文件。好了,进行到这一步,保证下面可以正常使用ipfw了。
停止ipfw防火墙:
复制代码 代码示例:
ipfw disable firewall
/etc/rc.d/ipfw stop
开启ipfw防火墙:
复制代码 代码示例:
ipfw enable firewall
查看ipfw是否在运行
通过ipfw -a list 不断的去看包的数量
二.编写防火墙规则脚本
需要将防火墙规则放到一个被称为/tc/ipfw.rule 的脚本中:
vi /etc/ipfw.rule
添加代码:
一个比较简单的ipfw脚本,借鉴了网上一位同仁的配置文档,在此也表示感谢了。
复制代码 代码示例:
#!/bin/sh
################common#################
cmd="/sbin/ipfw -q add"
my_ip="xxx.xxx.xxxx.xxx"
nc_in="r11"
nc_out="r10"
dns1="xxx.xxx.xxx.xxx"
#dns2="xxx.xxx.xxx.xxx"
#################rules#######################
#flush all rules
/sbin/ipfw -q -f flush
#allow all via loopback to loopback
$cmd 500 allow all from any to any via lo0
$cmd 600 check-state
###################dns######################
$cmd 700 allow tcp from me to $dns1 53 out
$cmd 750 allow udp from me to $dns1 53 out
$cmd 800 allow tcp from $dns1 53 to me in
$cmd 850 allow udp from $dns1 53 to me in
###############ftp,ssh,www,and etc.################
$cmd 01000 allow tcp from any to any 20,21,22,80,443
$cmd 01500 allow tcp from any 20,21,22,80,443 to any
#####################snmp#####################
$cmd 01000 allow udp from any to any 161,162
$cmd 01500 allow udp from any 161,162 to any
#deny and log all packets that fell through to see what they are
$cmd 09999 deny log all from any to any
三:启动防火墙
直接启动防火墙看下,注意如果是远程登陆的话不要把自己都给挡在外面了。
/etc/rc.d/ipfw restart
查看运行状态:
ipfw -a list
如此,就完成了freebsd中ipfw防火墙的简单配置,高级的配置后面再继续。