设为首页 友情链接
在线留言 发表文章
加入收藏 广告联系

刺猬首页

| 专案技术 | 网络技术 | 图形图象 | 网络编程 | 网页设计 | 操作系统 | 服务器 | 技术白皮书 | 在线实验室 | 刺猬论坛 |
小说专版  | 数据库 | 设计赏析 | 存储频道 | 网络安全 | 私服架设 |  Solaris | 网站评估 | PC维护技巧 | 下载中心 | 博 客 |
专   题: | Linux | java | cisco | 防病毒 | 刀片 | SOA | iscsi | ASP.NET | SQL | Oracle |
您现在的位置: IT公社 IT community >> Linux专题 >> Linux应用技巧 >> 教程正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
在RedHat系列系统下PPPo…
vmware问答
Alcatel SpeedTouch USB…
VMware Server安装指引
RedHat7.2下ADSL双网卡共…
vmware,qemu各种方式上网…
用VMWARE安装配置GFS(使…
Linux多媒体教程:Vmwar…
在FreeBSD上实现XGL超眩…
Firefly 的Xft2 for Fed…
  FreeBSD下ADSL共享上网         
FreeBSD下ADSL共享上网
 

利用FreeBSD用户级的PPP做FreeBSD下的ADSL共享上网,可以使用较低的设备配置,实现

局域网的稳定的网络链路共享。同时还可以增加Squid做上网的代理,进一步增加局域网

上网的速度。



FreeBSD可以对PPP提供两种不同方式的支持,一种是内核级PPP,它将PPP协议代码编译

进内核,并运行一个PPP守护进程pppd,提供对PPP的支持,这是比较传统的方法,但配

置比较困难。另一种为用户级PPP,使用一个应用程序PPP,通过通用tunnel设备传递PPP

数据,配置较为容易。一般情况下可以使用用户级的PPP来建立拨号方式的Internet连接。

准备

安装基本的FreeBSD环境,具体可以参照www.freebsdchina.org李冬的《FreeBSD服务器

指南》。必须安装操作系统源代码中的”sys”部分,下面需要重新编译内核以支持防火墙。

然后还需要确认在/etc/ppp目录中是否存在ppp.conf 或者ppp.conf.sample文件。

实例

Dell gx110 PIII 128M 10G 3com905B-tx 10/100Mbps自适应PCI网络适配器。

安装设置

在 FreeBSD 下上网必须要有 tun 这个伪设备,所以必须在内核中加入对 tun 的支持。

在 tun 后面的 1 指定同时可以使用的 tun 设备的个数。

要让整个局域网上的用户都可以访问 Internet 您的机器必须有两张网卡,一个连接

ADSL设备,一个连接局域网的HUB或者switch。另外必须重新编译一次内核。这些选项

主要是在内核中加入对IP转发的支持。客户机将IP数据包发到FreeBSD,然后FreeBSD

就将这些数据包转发到指定的地址。这就是让 FreeBSD 带动整个局域网上网的基本原理。

实例

在内核文件中添加如下内容:

device tun 1 # 根据实践发现此行内容可以不加。

options IPFIREWALL # 打开防火墙选项

options IPFIREWALL_FORWARD

options IPFIREWALL_VERBOSE # 向系统的注册程序发送注册信息包

options IPFIREWALL_VERBOSE_LIMIT=100 # 限制一台机器注册的次数

options IPFIREWALL_DEFAULT_TO_ACCEPT # 使得缺省的规则允许所有形式的访问

options IPDIVERT # 启用由ipfw divert使用的转向IP套接字

# 这一选项需要与natd联合使用

要启用ipfw,必须设置IPFIREWALL选项,它将通知操作系统的内核检查每个IP数据包,

将它们与规则集进行比较,通过添加IPFIREWALL_VERBOSE选项包括注册支持是一个好主

意,还应该通过添加IPFIREWALL_VERBOSE_LIMIT选项来限制内核注册的数据包的数量。

配置

还需要设置etc/ppp/ppp.conf文件

实例

/etc/ppp/ppp.conf

default:

 set log Phase tun command #

 set ifaddr 10.0.0.1/0 10.0.0.2/0 #设置本地PPP连接的IP地址

adsl : #配置代号

 set device PPPoE: xl1 # 用你的网卡设备名称替代xl1

 set authname #你的ADSL登陆名称

 set authkey #你的账号密码

 set dial

 set login

 add default HISADDR # 设置默认路由为对方的地址

 enable dns #从拨号服务器中获得正确的DNS服务器地址



配置

最后,设置/etc/rc.conf文件打开gateway选项。

实例

编辑/etc/rc.conf 文件

加入:

gateway_enable="YES"

特别提示:如果要实际开机自动拨号,还要增加以下内容到 /etc/rc.conf 文件里!

ppp_enable="YES"

ppp_mode="ddial"

ppp_nat="YES"

ppp_profile="adsl" # 所要拨号的配置代号



配置

在如上述配置完毕,网络访问会有问题,因为防火墙的默认配置是都不可访问。下面需

要配置防火墙规则来允许访问,和禁止访问。



实例

首先用如下命令察看当前的防火墙配置:

/sbin/ipfw –a show

然后执行以下的命令进行防火墙的设置:

/sbin/ipfw add 00400 divert natd ip from any to any via xl0 //用于启动Natd 服务

/sbin/ipfw add 00001 deny log ip from any to any ipopt rr

/sbin/ipfw add 00002 deny log ip from any to any ipopt ts

/sbin/ipfw add 00003 deny log ip from any to any ipopt ssrr

/sbin/ipfw add 00004 deny log ip from any to any ipopt lsrr

/sbin/ipfw add 00005 deny tcp from any to any in tcpflags syn,fin

/sbin/ipfw add 19997 check-state

/sbin/ipfw add 19998 allow tcp from any to any out keep-state setup

/sbin/ipfw add 19999 allow tcp from any to any out

/sbin/ipfw add 20001 allow udp from any 53 to me in recv xl0 //允许外网的DNS服务器的信息进入改服务器

/sbin/ipfw add 29999 allow udp from any to any out //允许自己的UDP包往外发,进行DNS信息查询

/sbin/ipfw add 30000 allow icmp from any to any icmptypes 3

/sbin/ipfw add 30001 allow icmp from any to any icmptypes 4

/sbin/ipfw add 30002 allow icmp from any to any icmptypes 8 out

/sbin/ipfw add 30003 allow icmp from any to any icmptypes 0 in

/sbin/ipfw add 30004 allow icmp from any to any icmptypes 11 in

/sbin/ipfw add 40000 allow all from 192.168.0.0/16 to any

/sbin/ipfw add 40001 allow all from any to 192.168.0.0/16

/sbin/ipfw flush //使防火墙规则生效



最后用/sbin/ipfw –a show 察看修改后的防火墙设置:

00001 0 0 deny log logamount 100 ip from any to any ipopt rr

00002 0 0 deny log logamount 100 ip from any to any ipopt ts

00003 0 0 deny log logamount 100 ip from any to any ipopt ssrr

00004 0 0 deny log logamount 100 ip from any to any ipopt lsrr

00005 0 0 deny tcp from any to any in tcpflags fin,syn

00100 516 68656 allow ip from any to any via lo0

00200 0 0 deny ip from any to 127.0.0.0/8

00300 0 0 deny ip from 127.0.0.0/8 to any

00400 0 0 divert 8668 ip from any to any via xl0

19997 0 0 check-state

19998 368990 279745596 allow tcp from any to any keep-state out setup

19999 872 154180 allow tcp from any to any out

20001 0 0 allow udp from any 53 to me in recv xl0

29999 3758 444913 allow udp from any to any out

30000 145 9690 allow icmp from any to any icmptype 3

30001 0 0 allow icmp from any to any icmptype 4

30002 0 0 allow icmp from any to any out icmptype 8

30003 0 0 allow icmp from any to any in icmptype 0

30004 0 0 allow icmp from any to any in icmptype 11

40000 7572 714836 allow ip from 192.168.0.0/16 to any

65535 3213 496794 allow ip from any to any



成功配置文档模板

rc.conf:

hostname="sample.com"

ifconfig_xl1="inet 192.168.9.6 netmask 255.255.255.0"

kern_securelevel_enable="NO"

nfs_reserved_port_only="NO"

firewall_enable="YES"

firewall_script="/etc/rc.firewall"

firewall_type="/etc/ipfw.conf"

firewall_quiet="YES"

firewall_logging_enable="YES"

sendmail_enable="NO"

sshd_enable="YES"

usbd_enable="NO"

gateway_enable="YES"

natd_interface="xl0"

natd_enable="YES"

natd_flags="-config /etc/natd.conf"

ppp_enable="YES"

ppp_mode="ddial"

ppp_nat="YES"

ppp_profile="adsl"



/etc/ppp/ppp.conf:

default:

set log Phase tun command

set ifaddr 10.0.0.1/0 10.0.0.2/0

adsl:

set device PPPoE:xl0

set mru 1492

set mtu 1492

set authname ad50103024

set authkey Sstc1602

set dial

set login

add default HISADDRLinux联盟收集整理

频道声明:本频道的文章除部分特别声明禁止转载的专稿外,可以自由转载.但请务必注明出出处和原始作者 文章版权归本频道与文章作者所有.对于被频道转载文章的个人和网站,我们表示深深的谢意。

原始作者:佚名 录入时间:2007-1-3 3:54:34
信息来源:不详 投稿信箱:itqoo@126.com
教程录入:itqoo    责任编辑:itqoo 
  • 上一个教程:

  • 下一个教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    - 关于我们 - 合作伙伴 - 友情链接 - 广告刊登 - 投稿热线 - 在线留言版权声明联系方式 -
    IT公社版权所有 粤ICP备05127012号
    Copyrigh@2005-2006 itqoo.com.Inc All Rights Reserved  推荐分辨率 1024*768
    联系站长:E-Mail:itqoo@126.com     MSN:urchincc@hotmail.com    QQ:点击这里给我发消息
    特别感谢:亿太网络提供空间支持