当前位置:Linux教程 - Linux文化 - Linux下宽带设置使局域网连接互联网

Linux下宽带设置使局域网连接互联网


系统准备:一个运转正常的Linux(这个大家都有)

硬件要求:至少一块网卡,宽带设备已经申请完毕,同时已经开通

广州电信的ADS(LAN)L使用的是PPPOE拨号方式,因此,要在Linux下使用ADSL,必须

安装PPPOE客户端软件。

下面说明如何进行安装:本人以RedHat Linux 7.3为平台,其它平台Linux的安装办法

可以参照下面安装的步骤。

一、安装的前提条件

1.确保安装了网卡并工作正常使用命令"ipconfig/all"查看网卡状态2.在系统中不要

设置默认路由(网关),让ADSL拨号后自动获得如果已经设置了默认路由,使用以下

方法删除:在文件 /etc/sysconfig/network 中删除 GATEWAY= 这一行,然后以root

执行:#/etc/rc.d/init.d/network restart 3.已经安装了pppd软件包如果存在

文件 /usr/sbin/pppd,则说明已经安装了pppd;如未安装,从RedHatLinux 安装

光盘上装ppp-2.3.11-4.i386.rpm(版本可能不一样)这个软件包二、安装PPPOE客户

端软件Linux下的PPPOE客户端软件比较多,而且大多使用GNU License,推荐使用

rp-pppoe这个软件包,

从http://www.roaringpenguin.com/pppoe/这个网站上,不仅可以下栽RedHat 平台

下的rp-pppoe的二进制软件包,而且可以下栽源代码软件包。

二、二进制软件包的安装:

A.下栽二进制软件包http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5-1.i386.rpm B.

进行安装以root执行:#rpm -Uvh rp-pppoe-3.5-1.i386.rpm 2.从源代码进行安装:从源代码

进行安装同样适用于其它平台的Linux,但必须在Linux系统中安装gcc编译器。

A.下栽源代码软件包http://www.roaringpenguin.com/pppoe/rp-pppoe-3.5.tar.gz B.解压缩

#tar xvfz rp-pppoe-3.5.tar.gz #cd rp-pppoe-3.5 C.进行编译和安装运行脚本#./go将自动

进行编译和安装,最后,自动调用/usr/sbin/adsl-setup进行配置,具体解释见三。

三、配置PPPOE客户端软件安装完软件包后

必须配置pppoe的配置文件/etc/ppp/pppoe.conf,从而让ADSL拨号时使用配置文件中的用户名、

密码等参数。我们不必手工改动这个文件,可以使用adsl-setup这个工具进行配置:

#/usr/sbin/adsl-setup当出现

>>> Enter your PPPoE user name :

输入ADSL帐号的用户名当出现

>>> Enter the Ethernet interface connected to the ADSL modem

For Solaris, this is likely to be something like /dev/hme0. For Linux,

it will be ethn, where n is a number.(default eth0):输入 eth0 ,这是ADSL

相连的网卡的名字当出现

>>> Enter the demand value (default no):

输入 no当出现

>>> Enter the DNS information here:

输入 “server” ,这表示使用ADSL拨号自动获得的DNS服务器IP地址当出现

>>> Please enter your PPPoE password:

输入ADSL帐号的密码当出现

>>> Choose a type of firewall (0-2):

输入 0 ,不使用防火墙当出现

>>> Accept these settings and adjust configuration files (y/n)?

如果输入的信息正ā确,输入 y ,完成配置,否则,输入 n 重新输入

四、启动PPPOE客户端软件

使用命令/usr/sbin/adsl-start 启动PPPOE客户端软件,进行连接,如果成功,将出现

Connected;如果不成功,请检查网线、ADSL MODEM等物理设备,并查看 /var/log/messages

中的信息/usr/sbin/adsl-stop 关闭和ISP的连接/usr/sbin/adsl-status 查看当前连接的状态

如果想在Linux系统启动时自动启动ADSL连接,输入以下命令#chkconfig –add adsl将在当前的

运行级下加入ADSL的自启动脚本

五、测试当连接成功后

使用命令#ifconfig -a在输出中应含有关于 ppp0 的信息,其中还绑定了IP 地址,说明已经

从拨号中获得了IP地址。

使用命令#netstat -nr查看路由表信息,这时的默认路由应该是上面获得的IP地址。

如果没有默认路由,我们可以手动增加:#route add default gw 上面获得的IP地址使用

命令#nslookup www.sina.com.cn如果解析出新浪的IP,说明已经从拨号中正确获得了DNS服务器

最后,使用命令ping某个域名或IP,如果有响应,表示你已经大功告成了。

注:好像在进行配置的过程中,会提示你是否在启动时加载ADSL,选yes,这样就会省的登录后

再start了。

六、使用双网卡带动公司网、家庭网络上网

硬件要求:同上双网卡

NAT方式:接内部网络的网卡设置IP为私有地址(192.168.0.0/24、172.16.0.0/16、10.0.0.0/8),

例如192.168.100.123/24.不要设置默认路由(网关),DNS设置为广州地区(61.144.56.100),

其它

地区的相应改动为本地区的DNS. 在/etc/rc.d/目录下用touch命令建立firewall文件,执行

chmod u+x firewall以改变文件属性,编辑/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d

/firewall以确保开机时能自动运行该脚本。

firewall内容为:

#!/bin/sh echo “Enable IP Forwarding… echo “1″>/proc/sys/net/ipv4/ip_forward echo ”Starting iptables rules…“/sbin/modprobe iptable_filter /sbin/modprobe ip_tables / sbin/modprobe iptable_nat #Refresh all chains /sbin/iptables -F -t nat iptables -t nat -A POSTROUTING -s

192.168.0.0/24 -o ppp0 -j MMASQUERADE客户端设置(windows98/2000/xp、linux)网关

设置为这台linux地址(192.168.100.123),DNS设置为61.144.56.100.

透明代理配置代理软件squid:

编辑/usr/local/squid/etc/squid.conf,修改以下内容,确保以下配置:

http_port 192.168.100.123:8080

cache_mem 48 MB acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https, snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemakāer acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT acl flag src 192.168.100.0/255.255.255.0 httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_ uses_host_header on cache_effective_user nobody cache_ effective_group nobody http_access allow flag http_access deny all

(限制只允许局域网用户使用代理,具体可以参考squid手册中关于Access Control Lists的

内容来限制访问代理)

cache_dir ufs /var/spool/squid 100 16 256

cache_dir type Directory-Name Mbytes Level-1 Level2

(说明:指定squid用来存储对象的交换空间的大小及其目录结构。可以用多个cache_dir命令来

定义多个这样的交换空间,并且这些交换空间可以分布不同的磁盘分区。“directory ”指明了

该交换空间的顶 级目录。如果你想用整个磁盘来作为交换空间,那么你可以将该目录作为装载点

将整个磁盘mount上去。缺省值为/var/spool/squid.“Mbytes”定义了可用的空间总量。需要注

意的是,squid进程必须拥有对该目录的读写权力。“Level-1″是可以在该顶级目录下建立的第

一级子目录的数目,缺省值为16.同理,”Level-2″是可以建立的第二级子目录的数目,缺省值

为256.为什么要定义这么多子目录呢?这是因为如果子目录太少,则存储在一个子目录下的文件

数目将大大增加,这也会导致系统寻找某一个文件的时间大大增加。