|
|
|
|
|
|
|
首页|文库|数据中心|方案中心 |专家库|厂商黄页|供求招标| 责编电话:010-68130909-1053 |
如何在 FreeBSD下连接 Internet小传 |
| 01-7-6 下午 04:03:32 |
| 随着 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 PPPoE:xl1 # 将 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" # 所要拨号的配置代号 |
| 搞定后,直接重启,ADSL 就会自动拨号!如果要带整个局域网上网,就按前面“局域网上网”所说的一样做就可以啦!! |
| 祝大家成功啦!!!^_^ |
| 大家在安装的过程遇到什么问题,欢迎与本人联系!并欢迎大家到网易广州社区“FreeBSD” 版讨论,我可是那里的版主呀!而且是有问必答!小传就是我呀!代号是 zhcharles!呵呵。。。。。。 |
| (网页编辑:风之翼) |
| 关于我们 | 客服热线 | 广告服务 | 招聘信息 | 法律声明 | 投稿指南 | 联系方式 Copyright(C) ccw.com.cn,All rights reserved 中国计算机世界出版服务公司内容版权所有 |
||
|
||