8月 292013
 

1.注意事项:

不要远程调试防火墙

2.系统环境:

网关虚拟机 FreeBSD 5.1 i368 1G内存 20G硬盘 双网卡
客户端虚拟机 Windows 2003 单网卡

3.IP地址规划:

外网网卡IP地址:202.114.216.81/255.255.255.126 网关:202.114.216.126
内网网卡IP地址:192.168.100.1/255.255.255.0 本身为网关

4.安全策略:

作为网关,安全性非常重要,建议除了远程登录用的SSH外,尽可能多的停掉所有不相关服务。本安装文档只是最简单的配置,没有任何安全过滤规则,更多安全过滤规则需要根据实际情况补充。

5.具体步骤

(1).安装操作系统
新建虚拟机,使用5.1-RELEASE-i386-disc1.iso安装操作系统,基本没什么设置,保持默认安装就成,先设置网卡em0的ip地址,em0为外网网卡,安装最后要一定要记得添加ports和src,如图

2013-08-05_083015
因为稍后要重新编译内核,需要源码。

(2).网络配置

安装好系统后,输入ifconfig可以看到ip
2013-08-05_083629
em0为外网网卡,em1为内网网卡,确保机器可以正常访问外网
2013-08-05_083643
设置em1网卡地址

vi /etc/rc.conf

添加如下

ifconfig_em1="inet 192.168.100.1 netmask 255.255.255.0"

保存退出。
设置ssh允许root登陆

vi /etc/ssh/sshd_config

修改

PermitRootLogin yes

保存退出,并重启ssh服务

/etc/rc.d/sshd restart

重启服务器 reboot

(3).编译内核

重启后就可以ssh登陆到服务器,下面开始编译内核
进入内核配置目录

cd /usr/src/sys/i386/conf/

拷贝默认内核配置文件

cp GENERIC GATEWAY

编辑内核配置文件

vi GATEWAY

文件末尾添加如下

# Firewall support added
options IPFIREWALL
options IPFIREWALL_VERBOSE
# Divert support added (necessary for natd)
options IPDIVERT

保存退出
重新编译

/usr/sbin/config GATEWAY
cd ../compile/GATEWAY/
make depend
make
make install

大约需要5分钟,比较快,完成之后,直接重启机器,重新启动之后,可以看到已经加载新的内核
2013-08-05_090508
新内核
11
说明内核编译成功,此时会发现ssh无法连接到服务器,那是因为防火墙默认拒绝所有连接

(4).后续设置

vi /etc/rc.conf

添加如下

gateway_enable="YES"
natd_enable="YES"
natd_interface="em0"
firewall_enable="YES"
firewall_type="open"

保存并退出,em0为外网网卡,em1为内网网卡。为了使设置生效我们重启下机器.
最终rc.conf
2013-08-05_113540

(5).防火墙规则

ipfw的规则是通过运行/etc/rc.firewall这个脚本生效的,rc.firewall脚本会检查rc.conf中firewall_type等配置,然后根据firewall_type定义的模式”open” “client” “simple”等切换到rc.firewall中相应部分执行。
一个安全的防火墙本身是一个非常复杂的策略。为了方便配置,可以以rc.firewall文件为基础,在各种缺省模式的基础上加入自己的规则。缺省最简单的防火墙配置是在rc.conf里设置使用”open”模式,

注意:修改rc.firewall配置建议从最简单的”open”模式开始,而且让修改生效前,一定将旧的成功运行的配置文件备份成rc.firewall.bak,便于以后的错误后恢复,如果防火墙配置错误可能导致远程无法登陆,因此修改防火墙配置一定要在服务器终端界面进行。
打开rc.firewall,可以看到有部分说明
2013-08-05_094432

(6).常用命令

ipfw list:显示目前的配置规则:
ipfw show:显示各种规则的统计信息
2013-08-05_094519
新的配置生效
修改防火墙配置后,可以用

sh /etc/rc.firewall

让新的配置生效

6.测试

先看我的虚拟机网络
22
win2003和BSD的em1网卡在一个标准交换机里。登陆win2003,设置网卡

IPADDR:192.168.100.11
NETMASK:255.255.255.0
GATEWAY:192.168.100.1
DNS:202.103.24.68

设置后,就可以这台机器就可以通过NAT上网了。
2013-08-05_093637

7.添加网卡

如果一个内网网卡流量不能承受,可以添加另外一块网卡,添加好在/etc/rc.conf里设置IP地址就可以了,也是可以NAT的。如果不想添加网卡,可以在内网网卡上绑定另外一个IP地址就可以了

vi /etc/rc.conf

添加如下

ifconfig_em1_alias0="inet 192.168.110.1 netmask 255.255.255.0"

保存,如图
2013-08-05_113514
重启机器,重启后可以看到已经绑定。
2013-08-05_112520

设置再找一台机器.把IP设置为192.168.110.X网段,网关为192.168.110.1发现也是可以通过NAT上网的
2013-08-05_113014
到此配置完成,更多功能大家可以摸索。

打赏
 Posted by at 下午 9:13

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)