Linux下如何接ADS.L一类的宽带猫带动局域网上internet.<性病>
系统准备:一个运转正常的Linux(这个大.家都有)--- 印刷
硬件.要求:至少一块.网卡,宽带设备已经申请完毕,同时已经开通
广州电信的ADS(LAN)L使用的是PPPOE拨号方式,因此.,要在Linux下使用ADSL,必须安装PPPOE.客户端软件。健康
下面说明如何进行安装:
. 本人以RedHat Linux 7..3为平台,其它平台Linux的安装办法可以参照下面安装的步骤。 健康
. 一、安装的前提条件 .
1.确保安.装了网卡并工作正常--------------彩票
使用命令
#ifconfig .eth0 外汇
查看网卡状态
2.在系统中不.要设置默认路由(网关),让A.DSL拨号后自动获得 .
如果已经设置了.默认路由,使用以下方法.删除: 学习
在文件 /etc/sysconfig/netwo.rk 中删除 GA.TEWAY= 这一行,然后以root执行: .
. #/etc/rc.d/init.d/ne.twork restart 女人
. 3.已经安装了pppd软件包 投资
. . 如果存在文件 /usr/sbin/pppd,则说明已经安装了pppd; .
如未安装,从Red.HatLinux 安装光盘上装ppp-2.3.11-4.i386.rpm(版本可能不一样)这个软件包 . 健康
二、安装P.PPOE客户端软件 服务器
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执行:
#rp.m -Uvh rp-pppoe-3.5-1.i3.86.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 r.p-pppoe-3.5(广告)
. C.进行编译和安装 .
运行脚本
#./go
. 将自动进行编译和安装,最后,自动调用/usr/s.bin/adsl-setup进行配置,具体解释见三。 健康
三、配置P.PPOE客户端软件 .
. 安装完软件包后,必须配置p.ppoe的配置文件/etc/ppp/pppoe.conf,从而让ADSL拨号.
时使用配置文件.中的用户名、密码等参数。我们不必手.工改动这个文件,可以使用 建材
adsl-setup..这个工具进行配置: .
#/usr/sbin/a.dsl-s.etup .
当出现
>;>;>; Enter your PPPoE .user na.me : 美容
输入A.DSL帐号的用户名 外贸
当出现
. >;>;>; Enter th.e Ethernet interface connected to the ADSL modem .
For Solaris, this is like.ly to be somethin.g 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 t.he DNS information here: 投资
输入 "server". ,这表示使用ADS.L拨号自动获得的DNS服务器IP地址 .
当出现
>;>;>.; Please ente.r your PPPoE password: 婚庆
.输入ADSL帐号的密码 健康
当出现
>;>;>; Choose a type of fir.ewall (0-2).: 婚庆
输入 0 ,不使用防火墙 . 杀毒
当出现
>;>.;>; Accept these s.ettings and adjust configuration files (y/n)? 教育
如果输入的信息正确,输入.. y ,完成配置,否则,输入 n 重新输入。 杀毒
四、启动P.PPOE客户端软件 美容
使用命令
/usr/sbin/adsl-start 启动.PPPO.E客户端软件,进行连接,如果成功,将出现 鲜花
Co.nnected; (广告)
如果不成.功,请检查网线、ADSL MODEM等物理设备,并查看 /var/.log/messages中的信息 虚拟主机
/usr/sbin/adsl.-stop 关.闭和ISP的连接 学习
/usr/.sbin/adsl-.status 查看当前连接的状态 .
如果想在Linux系统启动时.自动启动ADSL连接,输入以下命.令 杀毒
. #chkconfig --add adsl . .
将在当前的运行级下加入ADSL的自启..动脚本 健康
五、测试
当连接成功后,使用命令..
#ifconf.ig -a ( 游戏 )
在输出中应.含有关于 ppp0 的信息,其中还绑定了IP 地址,说明已经从拨.号中获得了IP地址。 .
使用命令
#net.stat -nr 外贸
. 查看路由表信息,这时的默认路由应该是上面获得的IP地址。. 健康
. 如果没有默认路由,我们可以手动增加: 鲜花
. #route add d.efault gw 上面获得的IP地址 .
使用命令
. #nslookup
www.sin.a.com.cn 建材
如果解析出.新浪的IP,说明已经.从拨号中正确获得了DNS服务器 婚庆
最后,使用命令ping某个域名或IP,如果有响..应,表示你已经大功告成了。 域名
注:好像在进行配置的过程中,会提示你是否在启动时加载ADSL,选y.es,这样就会省的登录后再start了..电脑
六、使用双网卡带动.公司网、家庭网络上网( 游戏 )
硬件要求:同上双网卡
NAT方式:接内部网络的网卡设置IP为私有地址(192.16.8.0.0/24、172.16.0.0/16、10.0.0.0/8),例如192.168.100.123/24。不要设置默认路由(网关),DNS设置为广州地区(61.144.56.100),其它地区的相应改动为本地区的DN.S. 在/etc/rc.d/目录下用touch命令建.立firewall文件,执行c.hmod u+x. firewall以改变文件属性,编辑.
/et..c/rc.d/rc.local文件,在末尾加上/etc/rc.d/firewall以确保开机时能自动运行该脚本..
firewall内容为:
#!/bin/sh
echo "Ena.ble IP. Forwarding..."--------------彩票
echo. "1">;/proc/sys/net/ipv4/ip_fo.rward教育
echo "S.t.arting iptables rules..." 美容
/s.bin/modprobe ipta.ble_filter虚拟主机
/sbin/modprobe ip_tab.les [成人用品]
/sbin/modprobe i.ptable_n.at 建材
#Ref.resh all chains 婚庆
/sbin/iptables .-F -t nat学习
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o p.pp0 -.j MMASQUERADE.
客户端设置(windows98/2000/xp、linux)网关设置为这台linux地址.(192.168..100.123),DNS.设置为61.144.56.100。 域名
透明代理
配置代理软件squid:
编辑/usr/local/squ.id/etc/s.quid.conf,修改以下内容,确保以下配置:电影
.http_port 192.168..100.123:8080--------------彩票
cache_.mem 48 MB 健康
acl a.ll src 0.0..0.0/0.0.0.0电影
acl ma.nager proto ca.che_object.
acl localhost src 127.0..0.1/255.255.255..255.
a.cl SSL_ports por.t 443 563 女人
acl Safe_ports port 80 # h.t.tp.
acl S.afe_ports port 21 # ft.p学习
ac.l Safe_ports port 443 5.63 # https, snews学习
acl Safe_ports port 70 #. .gopher健康
acl .Safe_ports port 210 .# wais 鲜花
acl Saf.e_ports port 1025-65535 # unreg.istered ports健康
acl Safe_ports port 2.80 # http-.mgmt 美容
acl Safe_ports port 488.. # gss-http 美容
.acl Safe_ports port 591 # filem.aker 乙肝
. acl Safe_por.ts port 777 # multiling http.
acl CONNECT me.thod. CONNECT.
acl fl.ag src 192.168.10.0.0/255.255.255.0 女人
httpd_acc.el_ho.st virtual [成人用品]
h.ttpd_accel_port 80 电子
httpd_acc.e.l_with_proxy on 建材
httpd._accel._uses_host_header on 健康
ca.che._effective_user nobody 建材
cache_effective_group no.bo.dy 健康
http_access allow fla.g 健康
http_access .deny all学习
(限制只允许局域网用户使用代理,具体可以参考squid手册中关于.Ac.cess Control Lists的内容来限制访问代理) 女人
cache_dir ufs /.var/spool/sq.uid 100 16 256 美容
cache_dir type Di.rectory-Name Mbytes Lev.el-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 al.low_domain dstdomai.n "/etc/squid/allow_domain" 汽车
创建cache目录
[root@proxy squ.id]# squ.id -z.
修改该目录.所有者squid:外贸
[root@proxy sq.uid]# cho.wn squid:squid /usr/spool/squid健康
最后启动squid:
[root@iptable logs]# /usr/local/squid/bin/.RunCac.he &(广告)
并且系统中应该有如下几个端口被监.听: 鲜花
[root@pro..xy 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的se.rviceconf工具以使得系统启动时自动启动squid服务器。服务器
5.iptables的设置
在/etc/rc.d/目录下用touch命令建立firewall文件,执行chmod u+x firewll以更改文件属性,编辑/etc/rc.d/rc.lo.cal文件,在末尾加上/etc/rc.d/firewall以确保开.机时能自动.执行该脚本。.
firewall.文件内容为:.
#!/bin/sh
echo. "Enabli.ng IP Forwarding..."投资
echo 1 >;. /proc/sys/net./ipv4/ip_forward学习
echo. "Starting .iptables rules..."--------------彩票
#Refres.h all chains.
/sbin/ip.tables -F -t .nat域名
iptables.. -t nat -A PREROUTING -i eth1 -p tcp -m tcp.
--dport. 80 -j REDIRECT --to-ports 80.80(广告)
iptables -t nat -A POST.ROUTING -s 192.168.0.0/24 -o ppp0 -- -j MM.A.SQUERADE.
七、在含有多个vlan的三层交换网络中实现.squi.d+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。et.h1连接..内网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.2.55.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->;......电脑