freebsd4.4 ADSL?

发表于:2007-06-09来源:作者:点击数: 标签:
freebsd4.4可以实现双网卡上ADSL吗? 怎么操作? 一个网卡进数据,一个出数据,做代理 服务器 ? 可以详细告诉我操作吗? 谢谢! MaxBSD 回复于:2002-03-13 21:53:31 你得看看书啊.可以的。 FreeBSD手册 上一章第14章PPPandSLIP下一张 --------------------

freebsd4.4可以实现双网卡上ADSL吗?
怎么操作?
一个网卡进数据,一个出数据,做代理服务器
可以详细告诉我操作吗?
谢谢!


 MaxBSD 回复于:2002-03-13 21:53:31
你得看看书啊. 可以的。

                                    FreeBSD 手册  
上一章                           第14章 PPP and SLIP                    下一张  

-------------------------------------------------------------------------------

14.3. 配置 PPP over Ethernet (PPPoE) 
原作:Jim Mock <jim@FreeBSD.org> (来源 node.to) 2000年元月10日. 
翻译:笨刚 Sun Gang <sungang@usa.net> 2000年元月24日

下面简要说明怎样在FreeBSD下配置PPP over Ethernet即PPPoE。

==============================================================================
注:可用于ADSL上网,如果要在LAN内使用,需有两块网卡,一块连LAN,另一块通过
ADSL的虚拟拨号网络上Internet。
==============================================================================

14.3.1. 要配置PPPoE的要求 
要正常使用PPPoE,需要以下几个条件。
FreeBSD 3.4-STABLE 的核心源码

FreeBSD 3.4-STABLE 的ppp and pppd

以及上面所需的相关文件。


14.3.3. 配置ppp.conf 文件
Here is an example of a working ppp.conf: 
下面是/etc/ppp.conf文件中相关选项的一个例子:
    default: # 或写在ISP配置项里。
      set device PPPoE:fxp1 # 这里fxp1换成你连ADSL的网卡设备名。
      set MRU 1490
      set MTU 1490
      set authname 你的登录帐号
      set authkey 你的密码
      set log Phase tun command # you can add more detailed logging if you wish
      set dial
      set ifaddr 10.0.0.1/0 10.0.0.2/0
      add default HISADDR
      nat enable yes # 想要你的lan内的电脑能上网就要有这一行。
      set cd off
      set crtscts off
    
    papchap:
      set authname 你的登录帐号
      set authkey 你的密码

14.3.4. 运行PPP 程序
以root身份根据你在ppp.conf里的设定方法来运行: 

    # ppp -dedicated



    # ppp -dedicated 服务商名称
    
    

14.3.5. 在开机上自动启动PPP进程。
把下面几行加入/etc/rc.conf文件里:
    ppp_enable="YES"
    ppp_mode="dedicated"
    ppp_nat="YES"
    ppp_profile="default" # 或者你的服务提供商名称

14.3.6 在/etc/rc.conf里加入对第二网卡的配置。第二网卡不用配IP,只要用"inet up"
作为参数就可以啦,例
ifconfig_fxp0="inet 192.168.0.1  netmask 255.255.255.0"
ifconfig_fxp1="inet up"
network_interfaces="fxp0 fxp1 lo0"
其中fxp0,fxp1是你的网卡名称。




 redfox 回复于:2002-03-14 08:14:48
一块也行,adsl接hub的uplink。

 redfox 回复于:2002-03-14 08:19:49
FreeBSD下PPPoE的设置 
本文出自:http://www.linuxforum.net 作者: Lu Wenzhong (2001-09-04 12:00:01) 
硬件要求:两台装有FreeBSD 4.1的PC,一台用做Server,另一台做Client. 
          两台PC均配有以太网卡,在本例中采用是ne2000兼容的网卡, 
          网络接口名为ed0. 
  

基本配置:在Server端和Client端均要进行如下的内核配置: 
   options  NETGRAPH 
   options NETGRAPH_PPPOE 
   options NETGRAPH_SOCKET 
   options NETGRAPH_ETHER 
   options NETGRAPH_IFACE 
  
   pseudo-device tun 
   还要有相应的以太网卡的驱动,例如: 
   device ed0 at isa? port 0x300 irq 10 iomem 0xd8000 
   重新编译内核,然后利用新内核启动。并运行如下命令使以太网接口激活: 
  ifconfig ed0 up 
  
   在服务器端和客户端都要安装PPP软件。 
  
Server端配置: 
   从如下地址取得补丁文件: 
 http://www.freesco.org/~jlin/files/PPPoE-Server/patch.txt 
   执行如下命令为pppoed打上补丁: 
   # cd /usr/src/libexec/pppoed ;进入pppoed源代码目录 
   # patch < patch.txt  
   # make && make install  
   编写类似如下的ppp.conf文件: 
  
pppoe: 
  set log phase ipcp lcp debug  
  allow mode direct  
  set mru 1492  
  set mtu 1492  
  set speed sync  
  enable lqr  
  enable proxy  
  set cd 5  
  set ifaddr 192.168.1.1 192.168.1.2-192.168.1.12  
  
   如果需要身份验证,还要在ppp.conf文件中加入如下一行: 
  enable pap 或 enable chap 
   再编写ppp.secret文件,文件格式为:用户名 口令,每一个用户占一行。 
  
   然后按如下命令启动pppoed服务器: 
  /usr/libexec/pppoed -P /var/run/pppoed.pid -p pppoe ed0 
   最后的ed0要换上你的网卡接口名。如此,Server就ok了。 
  
Client端配置: 
   编写如下类似的ppp.conf文件: 
default: 
 set device PPPoE:ed0 
 set speed sync 
 set mru 1492  
 set mtu 1492 
 set ctsrts off 
  
 enable lqr 
  
 set log phase tun  
  
 add default HISADDR 
  
 enable dns 
  
pppoe: 
 set authname USERNAME 
 set authkey PASSWORD 
  
   如果服务器端不要求身份验证,运行命令:ppp -ddial, 
   如果服务器端要求身份验证,请用服务器端ppp.secret文件中的 
用户名和密码代替上面的USERNAME和PASSWORD,然后运行命令:ppp -ddial pppoe 
  
    如果一切正常,运行ifconfig命令,请注意tun0设备,两台PC已通过该 
网络接口连在一起,有如下提示: 
tun0: 
 192.168.1.1 Point-To-Point 192.168.1.2 
如果发生错误,请仔细检查Server和Client的/var/log/ppp.log目志文件, 
找出错误原因。 
  
主要参考文章: 
    How to setup a PPPoE Server on FreeBSD 4.1.1-Release   by Jason Lin  
    FreeBSD on Telstra's Bigpond ADSL Network     by Paul Hoadley 
    Cheaper Broadband with FreeBSD on DSL    by Renaud Waldura   


 redfox 回复于:2002-03-14 08:21:56
何在FreeBSD设置ADSL上网(在FreeBSD 4.4下测试通过) 
如何在FreeBSD设置ADSL上网(在FreeBSD 4.4下测试通过) 
网上有部分关于FreeBSD设置ADSL上网的文章有些错误,这里公布葱头的设置文件。 
1。编辑/etc/ppp/ppp.conf 文件 

default: 
set log Phase tun command 
enable dns 

adsl: 
set device PPPoE: 设备名 ;即网卡的设备名 
set speed sync 
set mru 1492 
set mtu 1492 
set dial 
set login 
add default HISADDR 
set authname 帐户名 
set authkey 密码 

Papchap: 
set authname 帐户名 
set authkey 密码 

2。编辑/boot/defaults/loader.conf 
ng_ppp_load="YES" 
ng_pppoe_load="YES" 
ng_socket_load="YES" 

虚拟拨号: ppp -background adsl 
测试: ifconfig -a 看到tun0伪设备捆绑了ISP分配的IP地址即成功 

如果想开机就自动拨号,那就要修改/etc/rc.conf,增加一下字段: 
ppp_enable="YES" 
ppp_mode="ddial" 
ppp_profile="adsl" 

 redfox 回复于:2002-03-14 08:28:38
随着 Linux 的流行,UNIX 已经走下神坛,逐渐被家庭用户所使用。但 UNIX 相对起 Windows 来说,使用方面还是比较困难。虽然 Linux 在现阶段大行其道,但对于网络应用方面,本人还是喜欢用 FreeBSD 的!可能大知道 TCP/IP 就是在 BSD 类系统上开发出来的!所以兼容性,BSD 类的系统是 NO.1 的!FreeBSD 的安全性与稳定性也是 Linux 无法相比的!本人原来的公司一开始就是用 Linux + ADSL 带整个局域网上网的,但差不多一二个星期就要断一次线,有些应用程序还出现连接很慢的情况出现!(当然可能是架设的那位兄弟对 Linux 并不熟悉,呵呵。。)还有一次就是被黑客入侵过,呵呵。。。。。自从本人改用 FreeBSD + ADSL 后,利用 NAT 技术带整个局域网上网,然后再加上防火墙,以上问题就不再存在了!还有一个好处就是,我利用 NAT 技术,将 FreeBSD 的 80 端口(HTTP 服务的标准端口)转到我自己有机器上,哈哈,我就可以在自己的机器上建个网站供网友访问啦!(如果大家也要这样做的话,一定要注意网络安全喔!^_^) 
 
好了,现在让我来向大家讲讲怎样通过 FreeBSD 拨号上网,并且会介绍利用 FreeBSD 让整个网络的机器都可以上网。 
 
首先,所有上网的机器都必须支持 PPP 协议,在 FreeBSD 下有两种 PPP 的实现方式。一种是内核级的 PPP,另一种是用户级的 PPP。用户级的 PPP 相对于内核级的 PPP 来说更加灵活,更易使用,本文就以用户级的 PPP 作介绍。 
 
 
一、单机上网 
 
在 FreeBSD 下上网必须要有 tun 这个伪设备,所以必须在内核中加入对 tun 的支持。 
 
device tun 1 
 
在 tun 后面的 1 指定同时可以使用的 tun 设备的个数。 
 
在内核中加入对 modem 所对应的串口的支持。 
 
device /dev/sio0 ( 假设 modem 所使用的串口为 com1 )以下是设备对照表: 
 
com1 = /dev/sio0 
com2 = /dev/sio1 
com3 = /dev/sio2 
com4 = /dev/sio3 
 
重新编译内核。 
 
用户级的 PPP 基本服务只须要一个配置文件,当然它是最重要的。这个文件不须要自己重新写一个,在 FreeBSD 下已经有一个例子,只需对该文件修改一下就可以用了。 
 
拷贝 /usr/share/examples/ppp/ppp.conf.sample 文件到 /etc/ppp/ 目录下,将其改名为 ppp.conf 即可。 
 
ee ppp.conf ( 编辑该文件  
 
对于一般的使用者(指 163 的用户),只须保留几行重要的内容即可。 
 
以下内容是缺省值:(因为要实现在同一个配置文件里支持各种不同的拨号情况,所以代码有些冗余) 
 
default: 
set log Phase Chat LCP IPCP CCP tun command 
 
以下内容适合绝大多数的 163 拨号用户: 
 
chinanet: 
set device /dev/cuaa0 
set speed 115200 
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT \ 
OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" 
set phone 163 
set login 
set authname username 
set authkey password 
set timeout 120 
set ifaddr 192.168.0.1/0 192.168.0.11/0 255.255.255.0 0.0.0.0 
add default HISADDR 
enable dns 
 
注意要将 set device /dev/cuaa0 改为 modem 相对的设备文件。以下是设备对照表: 
 
com1 = /dev/cuaa0 
com2 = /dev/cuaa1 
com3 = /dev/cuaa2 
com4 = /dev/cuaa3 
 
只要将 set authname username 的 username 改成您上网的用户名,将 set authkey password 的 password 改成您上网的密码即可。 
 
保存 ppp.conf 后退出。现在可以试一试拨号上网。 
 
拨号时要用到 ppp 这个命令,并且这个命令要有 root 的权限来运行,如果您正以 root 的身份登录系统(您现在可能已经是 root 了,因为编译内核也要 root 的权限),现在可以马上运行 ppp。 
 
#ppp 
 
运行 ppp 后,会进行交互式的操作方式。我们在 ppp.conf 文件里设定了上网的设置标签为 chinanet,现在可以直接用 dial 命令按 chinanet 的配置来拨号上网。 
 
ppp> dial chinanet 
 
之后就听到“猫”的叫声了。当成功拨号后,提示符 ppp> 会逐渐变为大写的 PPP>。 
 
因为运行 ppp 后会进入交互的操作方式,而交互方式是不可以退出的。所以这时应按 alt + Fx 切换到另一个控制台,登录后才可以上网。上网后,可以在字符界面用 lynx 浏览 WWW,也可以运行 Xwidnow 进入图形界面上网。 
 
最后一步,也是最重要的一步,就是关闭 Internet 的连接。 
 
关闭 Internet 的连接有几种方法,现一一介绍。 
 
如果这时正在字符界面下操作,按 alt + Fx 切换回 PPP 的交互的操作方式下,用 close 命令关闭连接。关闭连接后,大写的 PPP> 提示符会逐渐变为拨号前的小写字符。表示已经断线。 
 
如果不想在 PPP 的交互操作方式下关闭 Internet 的连接,可以用直接 Kill PPP 进程的方式关闭连接。 
 
#killall ppp 
 
此时,所有 PPP 相关的进程都会被“杀死”,Internet 的连接也要被“异常”关闭。此方式也可以在 Xwindow 的终端窗口中进行。 
 
 
二、局域网上网 
 
要让整个局域网上的用户都可以访问 Internet 您的机器必须有一张网卡和一个 Modem,另外必须重新编译一次内核。在内核文件里加入以下几行: 
 
options IPOFIREWALL 
options IPOFIREWALL_FORWARD 
options IPFIREWALL_VERBOSE 
options "IPFIREWALL_VERBOSE_LIMIT=100" 
options IPFIREWALL_DEFAULT_TO_ACCEPT 
options IPDIVERT 
 
这些选项主要是在内核中加入对 IP 转发的支持。客户机将 IP 数据包发到 FreeBSD,然后 FreeBSD 就将这些数据包转发到指定的地址。这就是让 FreeBSD 带动整个局域网上网的基本原理。 
 
重新编译一次内核。 
 
打开 /etc/ppp/ppp.conf 文件,加入以下代码: 
 
nat enable yes # 如果要带整个局域网上网,就要加上这个支持! 
 
这样会打开 ppp 内置的最基本的 NAT (Network Address Translation,网络地址转换)服务! 
 
其它的设置基本与“单机上网”的设置相同,不同的是还要指定连接上网的 FreeBSD 是作为一个 gateway 机器。可修改 /etc/rc.conf 文件打开 gateway 的选项。 
 
#cd /etc 
#ee rc.conf 
 
加入: 
 
gateway_enable="YES" 
 
存盘退出 ee,重启。 
 
#shutdown -r now 
 
要拨号上网时,像单机上网一样运行 ppp,但要加一个参数 -alias。 
 
#ppp -alias 
 
其它的操作与“单机上网”的基本相同。 
 
客户机要通过 FreeBSD 连接上网,必须将的地址设为 FreeBSD 的主机 IP 地址。 
 
 
 
 
 
本例中的 FreeBSD 的 IP 地址是 192.168.0.1。 
 
重启客户机后,就可以通过 FreeBSD 上网了。 
 
 
高级应用 
 
到此为止所介绍的操作都是以手工为主。其实,用户级的 ppp 是可以实现自动化的操作。 
 
ppp 有一个参数 -auto 用来支持自动的拨号到断开连接。命令格式如下: 
 
#ppp -alias -auto chinanet 
 
运行该命令后,ppp 会在后台运行。当有 Internet 的请求时,ppp 会自动地按 chinanet 指定的设置来进行拨号。当用户在指定的时间内没有进行任何的 Internet 请求时,ppp 会自动断开 Internet 的连接。这种方式称为按需拨号,全部自动化操作,不进入交互的操作界面。 
 
ppp 还可以支持一个永久的 Internet 连接。命令格式如下: 
 
#ppp -alias -ddial chinanet 
 
运行该命令后,ppp 也会在后台运行。但不论客户机没有没 Internet 请求,ppp 都不会自动断开与 Internet 的连接,一直等到用户运行 killall ppp 才断开与 Internet 的连接。当出现意外断线的情况,ppp 会自动后重新拨号,以维持一个永久的 Internet 连接。这种方案适合需要长期在线要求的用户。 
 
还有一种方案是将几条线路捆绑成一条线路以增加可用的带宽。这种方式在用户级的 ppp 下也是非常容易的。现以实现二条线路同时上网为例子说明一下。 
 
首先要在内核中增加可用的 tun 伪设置。将原来设定的 device tun 1 改为 device tun 2。在 /etc/ppp/ppp.conf 即 ppp 的配置文件中加入以下内容: 
 
mloop: 
set device /dev/cuaa0 
set speed 115200 
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT \ 
OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT" 
set phone 163 
set login 
set authname username 
set authkey password 
set timeout 120 
set ifaddr 192.168.0.1/0 192.168.0.11/0 255.255.255.0 0.0.0.0 
add default HISADDR 
enable dns 
 
load loop 
set mrru 1500 
clone 1 2 
link deflink remove 
dial 
link 2 dial set device /dev/cuaa1 
 
拨号时,将 chinanet 改为 mloop。 
 
以上所有讲到的方案的例子和简单的说明都可以在 /usr/share/examples/ppp/ppp.conf.sample 文件里找到。 
 
 
三、宽频上网(ADSL) 
 
首先要确定您的机器有两块或两块以上的网卡,一块连接 ADSL,一块连接网部的网络! 
 
要支持 ADSL 设备,要在内核里加入对 NETGRAPH 的支持!在内核配置文件里加入以下代码: 
 
options NETGRAPH 
options NETGRAPH_PPPOE 
options NETGRAPH_SOCKET 
 
然后重新编译一次内核! 
 
进入 /etc/ppp 目录,然后执行以下操作: 
cp ppp.conf ppp.conf.org 
 
在 ppp.conf 里面加入以下内容: 
 
adsl: 
set device PPPoEl1 # 将 xl1 改成您接 ADSL 的网卡名 
set mru 1492 
set mtu 1492 
set dial 
set login 
set ifaddr 10.0.0.1/0 10.0.0.2/0 
add default HISADDR 
nat enable yes # 如果要带整个局域网上网,就要加上这个支持! 
 
set authname YOURLOGINNAME 
set authkey YOURPASSWORD 
 
 
特别提示:如果要实际开机自动拨号,请增加以下内容到 /etc/rc.conf 文件里! 
 
ppp_enable="YES" 
ppp_mode="ddial" 
ppp_nat="YES" 
ppp_profile="adsl" # 所要拨号的配置代号 


 zyme 回复于:2002-03-14 21:49:56
不要全篇文章摘下来嘛,适合点国情嘛。
一个网卡只准进,一个网卡只准出???不可能吧,真的这么好。???

 pxlh 回复于:2002-10-08 09:53:59
我按楼顶的配置出现如下错:
#ppp -backgroud adsl
adsl:Configuration label not found


这是为什么呢??????

 ihweb 回复于:2002-10-08 10:06:41
[quote][b]下面引用由[u]pxlh[/u]在 [i]2002/10/08 09:53am[/i] 发表的内容:[/b]
我按楼顶的配置出现如下错:
#ppp -backgroud adsl
adsl:Configuration label not found
这是为什么呢??????
[/quote]
晕,楼上的白说啦!!!!!

这里的adsl 是一个标签啊,你看看你的培植文件有没有这个标签!!

 pxlh 回复于:2002-10-08 11:50:52
我是按REDFX说的配置的,,

你是说这行吧:

adsl:
有呀

MRU 怎么有的是1492,有的是1490呢,,,

 llade 回复于:2002-10-08 13:37:25
adsl:前面有空格的话就会出现
adsl:Configuration label not found的错误

 pxlh 回复于:2002-10-09 04:49:55
[这个贴子最后由pxlh在 2002/10/09 04:52am 编辑]

我这样的
#ppp  -background adsl
using tun0
child failed   (errhead)


是怎么回事?

 wzx 回复于:2002-11-12 12:48:21
FreeBSD 如何使用USB接口的外置ADSL modem

 startX 回复于:2002-11-18 14:48:49
我的FreeBSD 是做在VMware上的怎么用ADSL 上网呢?

希望得到大家的回复!  谢谢~!

原文转自:http://www.ltesting.net