|
发表于 2003-12-1 09:26:44
|
显示全部楼层
PicoBSD的配置方法相对比较原始,每一步都需要命令行或修改配置文件来进行,而LRP和Freesco都另外提供了交互式的选单向导配置程序,更易于操作,但同时也向用户掩盖了很多配置细节。为了能够充分说明这些小型网关的本质,下面以PicoBSD为例,介绍配置一个连接局域网和Internet的网关实例。
---- 所用机器的配置为Pentium 100、16MB内存、两块ISA网卡。事先将网卡都设为NE2000(Jumpless)模式,使用设置程序把I/O地址和中断请求值分别设为0x280/10和0x300/5。在PicoBSD站点http://people.freebsd.org/~picobsd/picobsd/doc/intro.html或http://people.freebsd.org/~picobsd/picobsd225/ 上下载PicoBSD的软盘映像文件,针对不同的应用需求,网站上主要提供了拨号网络版、拨号服务器版和路由器版三种缺省的影像文件。这里下载的是路由器版,下载完毕后使用rawrite或fdimage写到软盘,然后使用软盘启动并登录,如图2所示。然后按照如下步骤进行:
---- 1. 配置网卡 使用PicoBSD自带的ee编辑器编辑/etc/rc.conf文件(这是系统最主要的配置文件),将
---- network_interfaces="lo0"
---- 改为
---- network_interfaces="lo0 ed0 ed1"
---- 即加上两个NE2000网卡网络接口。这里,ed0和ed1分别代表两块网卡,ed代表NE2000,其余型号的网卡代号各有不同,如Intel EtherExpress系列为fxp等。修改完毕运行update命令,将改动写回软盘,然后重新启动系统。这时会看到类似如下的信息:
---- ed0 at 0x280-0x29f irq 10 on isa
---- ed0: address 00:80:c8:e1:f2:20, type NE2000 (16 bit)
---- ed1 at 0x300-0x31f irq 5 on isa
---- ed1: address 00:00:e8:2e:32:2a, type NE2000 (16 bit)
---- 这说明内核已经正确识别两块网卡。如果启动时刷新太快,也可以在启动后使用“dmesg”命令查看这些信息。
---- 2. 配置TCP/IP 再次编辑修改/etc/rc.conf文件,在“ifconfig_lo0="inet 127.0.0.1" # default loopback device configuration.”一行下面加上:
---- ifconfig_ed0="inet 202.106.189.34 netmask 0xffffffe0"
---- ifconfig_ed1="inet 192.168.15.1 netmask 0xffffff00"
---- 这里假设ed0接外部网线,绑定一个Internet IP 202.106.189.34,子网掩码是十六进制的ffffffe0,即十进制的255.255.255.224;ed1接内部网线,绑定一个保留地址192.168.15.1,子网掩码是十六进制的ffffff00,即255.255.255.0。其实,这里设定的是ifconfig命令的参数,如果不修改rc.conf文件,还可以使用ifconfig命令直接指定,例如,ed0一行等同于如下的命令行命令:
---- # ifconfig ed1 inet 202.106.189.34 netmask 0xffffffe
---- 然后再按照表1进行修改。
表1
修改前 改为 说明
“defaultrouter="NO" “defaultrouter="202.106.189.33" 制订缺省网关
gateway_enable="NO" gateway_enable="YES" 启用IP转发功能
配置完成后(如果是修改配置文件,应该运行update命令后重新启动),可以使用ifconfig命令来查看网卡是否以成功绑定IP:
---- # ifconfig -a
---- ed0: flags=8843< UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST > mtu 1500
---- inet 202.106.189.34 netmask 0xffffffe0 broadcast 202.106.189.63
---- ether 00:80:c8:e1:f2:20
---- ed1: flags=8843< UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST > mtu 1500
---- inet 192.168.15.1 netmask 0xffffff00 broadcast 192.168.15.255
---- ether 00:00:e8:2e:32:2a
---- 还可以用netstat -nr命令来查看本机路由表,以便验证缺省网关的设置。
---- 3.启动NAT 首先添加一个natd服务,即在/etc/services文件尾部加入一行:
---- natd 8086/divert
---- 然后,使用内核的divert功能将所有网络包转给natd端口。即运行命令:
---- #ipfw add divert natd all from any to any via ed0
---- 最后,启动natd服务:
---- #natd -interface ed0
---- 调试成功后,可以将两条指令写入/etc/rc.conf.local。即使用ee编辑/etc/rc.conf.local,然后执行命令“chmod +x /etc/rc.conf.local”为脚本文件加上可执行属性。以后再开机时便会自动启动nat。这时,只要把内部局域网中所有机器的IP设为与192.168.15.x,子网掩码设为255.255.255.0,网关设为192.168.15.1,就可以透明地访问Internet了。 |
|