2 用FreeBSD构建家庭网络世界

第二章:配置成为网关服务器
网关服务器是一台连接外部Internet网和内部家庭网络的计算机,它一般插有两块网卡,一块设置为外网卡,和ISP连接,一般有固定IP地址,如“202.115.65.225”;另外一块设为内网卡,IP地址设置为虚拟的地址,用得比较多的是“192.168.0.1”,它连接家里的HUB,使服务器成为家中局域网的一员 。家中其他的电脑只要将IP设为“192.168.0.*”,“*”表示2-254的数字,注意不要两台电脑的IP地址设为相同,否则他们都将无法使用 。把子网掩码设为“255.255.255.0”,网关设为“192.168.0.1”就都通过网关服务器上网了 。接下来的内容讲述如何利用FreeBSD将该服务器配置成为能让所有客户机同时上网的网关服务器 。
首先,在电脑主机上要有两块网卡,在此例中是两块RTL8029芯片PCI网卡 。由于FreeBSD实现网关功能需要防火墙的支持,而不巧的是内核默认并没有配置防火墙支持,因此得先重新配置并编译内核才行 。内核源代码目录在/usr/src/sys/i386下面,最小化安装时它并没有被安装,所以必须先安装 。
第一步:安装内核源代码
启动FreeBSD,以root用户登陆,以下“#”开头的均是在电脑上执行的命令,输入命令注意大小写 。看到“#”提示符之后运行
#/stand/sysinstall
命令执行后会出现图8的画面,我们选择“Index”后按空格键,在接下来的界面分别用空格键选“Distributions,Adding”、“Src”,在最后出现的界面仅仅选择“Sys”,这时放入FreeBSD的安装光盘,用“tab”键切换到“OK”按钮上回车就会将内核的源代码拷贝到相应的目录了 。

图8
#cd /usr/src/sys/i386/conf /*现在可以进入内核源代码配置文件GENERIC所在目录了*/
#ee GENERIC /*用ee编辑器编辑GENERIC文件*/
加入如下内容
options IPFIREWALL
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPFIREWALL_VERBOSE
options IPDIVERT
然后按ESC+回车保存退出
#config GENERIC /*用修改后的配置文件配置内核*/
# cd ../../compile/GENERIC
#make depend all install /*重新编译内核*/
接下来是漫长的编译内核过程,在该电脑上执行了1个小时左右之后回到“#”命令提示符模式,这样是成功配置完成的标志,用“reboot”命令重新启动电脑 。
【2 用FreeBSD构建家庭网络世界】#reboot
第二步:配置网络
由于我们在安装FreeBSD的时候并没有配置网卡,重新启动电脑后的工作就是先配置网卡,以管理员“root”身份登陆后运行“ifconfig”命令察看目前检测到的网卡状态
#ifconfig
屏幕上会显示类似如下的结果:
ed0: flags=8843 mtu 1500
inet6 fe80::5054:abff:fe1e:8895? prefixlen 64 scopeid 0x1
ether 52:54:ab:1e:88:95
ed1: flags=8843 mtu 1500
inet6 fe80::2e0:4cff:fe80:132c? prefixlen 64 scopeid 0x2
ether 00:e0:4c:80:13:2c
lp0: flags=8810 mtu 1500
lo0: flags=8049 mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010 mtu 1500
sl0: flags=c010 mtu 552
faith0: flags=8002 mtu 1500
看看最上面两个设备就是你的两块网卡,我的两块RTL8029被标明ed0和ed1 。
接下来修改配置文件“/etc/rc.conf”来设置网卡的参数
#ee /etc/rc.conf
添加如下内容
ifconfig_ed0=”inet 202.115.65.225 netmask 255.255.252.0”
ifconfig_ed1=”inet 192.168.0.1 netmask 255.255.0.0”
defaultrouter=”202.115.65.65”
第一行设置ed0这块网卡连接Internet,其IP为202.115.65.225,子网掩码为255.255.252.0,具体IP地址和子网掩码(netmask)需要根据情况修改;第二行设置ed1为内网卡,IP为虚拟地址192.168.0.1,子网掩码为255.255.255.0,这是个C类网,第三行设置连接互联网的网关的地址,这个可以咨询你的ISP得到 。

推荐阅读