Linux下如何接ADSL一类的宽带猫带动局域网上inte..
时间:2006-08-02 来源:dupeng144
硬件要求:至少一块网卡,宽带设备已经申请完毕,同时已经开通
广州电信的ADS(LAN)L使用的是PPPOE拨号方式,因此,要在Linux下使用ADSL,必须安装PPPOE客户端软件。
下面说明如何进行安装:
本人以RedHat Linux 7.3为平台,其它平台Linux的安装办法可以参照下面安装的步骤。
一、安装的前提条件
1.确保安装了网卡并工作正常
使用命令
#ifconfig eth0
查看网卡状态
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的二进制软件包,而且可以下栽源代码软件包。
1.二进制软件包的安装:
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 port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
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。为什么要定义这么多子目录呢?这是因为如果子目录太少,则存储在一个子目录下的文件数目将大大增加,这也会导致系统寻找某一个文件的时间大大增加,从而使系统的整体性能急剧降低。所以,为了减少每个目录下的文件数量,我们必须增加所使用的目录的数量。如果仅仅使用一级子目录则顶级目录下的子目录数目太大了,所以我们使用两级子目录结构。
那么,怎么来确定你的系统所需要的子目录数目呢?我们可以用下面的公式来估算。
已知量:
DS = 可用交换空间总量(单位KB)/ 交换空间数目
OS = 平均每个对象的大小= 20k
NO = 平均每个二级子目录所存储的对象数目 = 256
未知量:
L1 = 一级子目录的数量
L2 = 二级子目录的数量
计算公式:
L1 x L2 = DS / OS / NO
(注意这是个不定方程,可以有多个解)
acl allow_domain dstdomain "/etc/squid/allow_domain"
创建cache目录
[root@proxy squid]# squid -z
修改该目录所有者squid:
[root@proxy squid]# chown squid:squid /usr/spool/squid
最后启动squid:
[root@iptable logs]# /usr/local/squid/bin/RunCache &
并且系统中应该有如下几个端口被监听:
[root@proxy logs]# netstat -ln
tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:3130 0.0.0.0:*
这些说明squid已经正常启动了。
然后使用Redhat的serviceconf工具以使得系统启动时自动启动squid服务器。
5.iptables的设置
在/etc/rc.d/目录下用touch命令建立firewall文件,执行chmod u+x firewll以更改文件属性,编辑/etc/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以确保开机时能自动执行该脚本。
firewall文件内容为:
#!/bin/sh
echo "Enabling IP Forwarding..."
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "Starting iptables rules..."
#Refresh all chains
/sbin/iptables -F -t nat
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp
--dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -- -j MMASQUERADE
七、在含有多个vlan的三层交换网络中实现squid+iptables的透明代理
在企业中网络常常会有三层交换。它能够有效隔离广播,防止广播风暴。通过三层交换机
划分vlan,使得应用和管理都变得相对容易些。但也给代理的设置带来一点小麻烦,传统代理要设置代理服务器地址和端口,这对三层交换网络没有什么问题。关键是透明代理中网关的设置,在三层交换的网络中每个vlan的计算机的网关都要设置成所在vlan的网关,如:下表中vlan1的网关必须是192.168.100.1,vlan2的网关必须是192.168.110.1,像普通网络中把网关都设置成代理服务器的地址是绝对不行的。所以,三层交换网络中透明代理的设置主要问题集中在三层中心交换机和代理服务器路由的设置,三层交换机的路由表中要有一条默认路由指向代理服务器,服务器的路由表中要有一个容纳所有vlan的网关。
以下是我的网络说明:
网络内网有15个vlan如路由表所示,代理服务器(squid+iptables)在vlan1中服务器有两块网卡,eth0连接外网ip是A.B.C.D,网关为A.B.C.1。eth1连接内网ip是192.168.100.123/24不设网关。给服务器加上一条路由,将192.168.0.0/16,指向vlan1的网关192.168.100.1,route add -net 192.168.0.0 netmask 255.255.0.0 eth1以保证与其他vlan的通信,如此网络部分便配置成功,关于透明代理设置这里就不说了,请参考其他文章。这样所有的vlan的计算机只要网关和dns配置好就可以上网了,如:vlan3中某台计算机ip设置192.168.120.47,网关为192.168.120.1,dns地址为服务商给的(广州地区ADSL:61.144.56.100),这样就OK了。其出网的路由为->192.168.120.47->192.168.120.1->192.168.100.1->192.168.100.123->A.B.C.1->......
--------------------------------------------------------------------------------
相关文章
路由器默认密码 2006-6-28 23:05:49
小议TCP的MSS(最大分段)以及MTU 2006-6-9 21:06:48
VPN配置简单说明书 2006-5-24 19:30:53
IP VPN的框架体系(RFC2764) 2006-3-30 21:52:32
正确认识宽带路由器的主要参数 2006-3-20 13:10:39
无线网络技术轻松配置五字诀 2006-3-1 8:33:54
AR46-40与AR28-11做IPSEC VPN接入 2005-11-27 20:41:52
ADSL拨号中出现的错误代码 2005-11-23 13:39:43
《网络基础学习之十二》交换机的分类 2005-11-11 9:52:55
VPN配置简单说明书 2005-11-5 22:10:22
[网工]ATM技术在计算机通信网中的应用 2005-7-6 20:59:29
网络设计师考试资料-典型选择题及答案 2005-7-6 20:57:18
2005年网络工程师考试题目预测(1) 2005-7-6 20:54:53
路由器(Router)原理介绍 2005-6-22 7:58:05
网络流量监控器mrtg全攻略 2005-6-17 15:03:36
TC(HTB)+iptables作流量控制 2005-6-3 12:05:25
100多道简单网络基础题(答案) 2004-11-9 10:09:43
Cisco常见配置 2004-11-9 10:04:39
芯片封装技术知多少 2004-10-26 9:14:59
网络流量监控器mrtg全攻略 2004-8-21 10:14:35
2501做pppoe 虚拟拨号 2004-8-13 12:57:04
实战手记之PPPoE + NAT 2004-6-9 8:59:44
CISCO ADSL 配置说明 2004-6-9 7:58:42
华为的产品分类 2004-6-7 7:57:52
常用网络缩略语 2004-5-27 14:07:37
Linux一句话精彩问答-网络相关篇 2004-5-26 13:44:58
Port Reporter 工具的可用性和说明 2004-5-13 7:52:22
將 iptables 的規則寫成 shell 執行檔 2004-4-1 8:46:56
一些ADSL MODEM初始地址及用户名密码大全 2004-4-1 8:08:22
iptables防火墙脚本 2003-11-20 14:05:27
装机软件合集 2003-10-31 9:28:44
linux经典问题==网络篇 2003-10-30 11:20:02
LINUX 常见问题1000个详细解答 2003-10-29 14:13:25
RedHat 9.0上ADSL最终解决方案 2003-10-23 15:12:36
ADSL+RH8.0透明网关指南 2003-10-23 15:11:40
网络共享软件WinRoute Pro4.1全攻略 2003-10-13 11:09:48
Redhat9+ADSL+IPTABLES+DHCPD解决方案 2003-9-17 8:44:16
用Winroute共享ADSL的实现篇 2003-8-22 11:36:58
Linux服务器的一些基本应用 2003-8-15 12:11:07
RedHat7.3 上建立网通拨号的上网共享 2003-8-15 11:03:32
用Iptables+Red Hat Linux 9.0 做ADSL 路由器 2003-8-5 7:23:08
Redhat 8.0系统配制命令 2003-7-30 18:20:02
linux常见问题FAQ 2003-7-30 18:01:57
Linux服务器架设实例 2003-7-30 17:06:11
网络流量监控器mrtg全攻略 2003-7-14 9:37:34
关于双连接的负载均衡 2003-7-14 8:49:23
iptables防火墙脚本 2003-7-13 18:09:57
RedHat 8.0提供ADSL共享上网的解决办法 2003-5-25 21:07:48
教程大全(转于红客联盟) 2003-3-31 17:36:40
网络技术常用术语汉语对照 2003-3-31 17:34:50
如何规划 Linux 主机 2003-3-24 16:00:23
Linux服务器的一些基本应用 2003-3-24 10:43:09
突破TCP-IP过滤/防火墙进入内网(一) 2003-2-22 14:30:05