在VMWare上实现FreeBSD的PPPoE网关(IPFW+NAT)

2009-05-13 01:51:04来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

在VMWare5.0上实现FreeBSD5.4的PPPoE网关(PPP+IPFW+NAT)
Hobit
zy5451@gmail.com
       缘起:
本人宿舍上网用的是电信的ADSL,五六个人共享一条线,Modem作NAT路由,映射了几个端口供eMule和BT用,一直很稳定。由于内网经常三四个人一起eMule、BT下载,流量很大,两三天要重启一次猫。前段时间有了点问题:经常网速其慢,莫名的断流。刚开始以为可能是是猫的负荷太重,决定使用一台老爷机代替猫来拨号,随便控制内网下载的流量。
由于那台老爷机暂时还没有到位,所以我想先用虚拟机练习一下,搞了几个晚上终于OK了。
环境:
硬件准备:
- 一台能跑VMWare的普通机器
-  ADSL的Modem
- 交换机
软件准备:
Windows XP sp2
VMWare 5.0 (现在出到5.5了)
最小化安装的FreeBSD 5.4
ppp和pppd (内置)
网络连接环境:
ADSL接交换机,局域网内的机器都是单网卡接交换机,也就是最常见的用ADSL路由的及接法。
原理:
       采用以上的连接方法时,可以让Modem自动拨号,开启NAT,下面的每台机只可以通过Modem路由上网。还有一种情况是其中任意一台机(Windows系统)拨号,在“网络连接”中把PPPoE产生的那个连接共享,就可以让其他机器通过NAT上网了。
       我所做的仅仅是把第二种情况下的拨号的那台机器用我的虚拟机代替了。
       步骤:
== .1. == 系统安装
       VMWare上新建客户机,虚拟两块网卡,采用第一种连接,也就是桥接的方式,最小化安装FreeBSD5.4,安装内核源码。在连接外网的NIC上不需要配置IP地址,只要ifconfig把这个接口UP起来即可,在内网地址上可以配置静态IP地址,作为FW/NAT使用。
== .2. == 编译
运行#cp /sys/i386/conf/ GENERIC firewall_test   (把默认的内核配置文件复制为firewall_test)
在内核配置文件中加入如下行:
#内核开启IPFW防火墙,并允许启用NAT功能
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=5
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
#内核允许PPPoE的拨号
options NETGRAPH #netgraph(4) system
options NETGRAPH_ASYNC
options NETGRAPH_BPF
options NETGRAPH_CISCO
options NETGRAPH_ECHO
options NETGRAPH_FRAME_RELAY
options NETGRAPH_HOLE
options NETGRAPH_IFACE
options NETGRAPH_KSOCKET
options NETGRAPH_LMI
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_PPP
options NETGRAPH_PPPOE
options NETGRAPH_PPTPGRE
options NETGRAPH_RFC1490
options NETGRAPH_SOCKET
options NETGRAPH_TEE
options NETGRAPH_TTY
options NETGRAPH_UI
options NETGRAPH_VJC
保存配置文件,
运行 #cp /usr/sbin/config firewall_test,若成功,则提醒你到相应的目录里去编译。
运行#cd ../ compile/firewall_test
运行 #make depend;make;make install
系统会自动完成内核的编译和安装
== .3. ==  配置
编译和安装成功后,修改ppp配置文件/etc/ppp/ppp.conf:
default: # or name_of_service_provider
  set device PPPoE:lnc0      # lnc0为VMWare的网卡接口设备名

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeBSD读书笔记—4进程管理—4.1进程管理介绍

下一篇:FreeBSD读书笔记—4进程管理—4.2进程状态