FreeBSD做NAT网关安装笔记
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,如图
(2).网络配置
安装好系统后,输入 ifconfig 可以看到 ip
em0 为外网网卡,em1 为内网网卡,确保机器可以正常访问外网
设置 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 分钟,比较快,完成之后,直接重启机器,重新启动之后,可以看到已经加载新的内核
新内核
说明内核编译成功,此时会发现 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
(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,可以看到有部分说明
(6).常用命令
ipfw list:显示目前的配置规则:
ipfw show:显示各种规则的统计信息
新的配置生效
修改防火墙配置后,可以用
sh /etc/rc.firewall
让新的配置生效
6.测试
先看我的虚拟机网络
win2003 和 BSD 的 em1 网卡在一个标准交换机里。登陆 win2003,设置网卡
IPADDR:192.168.100.11 NETMASK:255.255.255.0 GATEWAY:192.168.100.1 DNS:202.103.24.68
7.添加网卡
如果一个内网网卡流量不能承受,可以添加另外一块网卡,添加好在/etc/rc.conf 里设置 IP 地址就可以了,也是可以 NAT 的。如果不想添加网卡,可以在内网网卡上绑定另外一个 IP 地址就可以了
vi /etc/rc.conf
添加如下
ifconfig_em1_alias0="inet 192.168.110.1 netmask 255.255.255.0"
设置再找一台机器.把 IP 设置为 192.168.110.X 网段,网关为 192.168.110.1 发现也是可以通过 NAT 上网的
到此配置完成,更多功能大家可以摸索。