Linux下宽带设置使局域网连接互联网实例
核心提示:以RedHat Linux 7.3为平台,其它平台Linux的安装办法可以参照下面安装的步骤。
以RedHat Linux 7.3为平台,其它平台Linux的安装办法可以参照下面安装的步骤。
1、安装的条件条件
1.确保安装了网卡并工作正常使用命令#ifconfig eth0查看网卡状态2.在系统中不要设置默许路由(网关),让ADSL拨号后自动取得假设已设置了默许路由,使用以下方法删除:在文件 /etc/sysconfig/network 中删除 GATEWAY= 这1行,然后以root履行:#/etc/rc.d/init.d/network restart 3.已安装了pppd软件包假设存在文件 /usr/sbin/pppd,则说明已安装了pppd;如未安装,从RedHatLinux 安装光盘上装ppp⑵.3.11⑷.i386.rpm(版本可能不1样)这个软件包
2、安装PPPOE客户端软件
Linux下的PPPOE客户端软件比较多,而且大多使用GNU License,推荐使用rp-pppoe这个软件包,
从http://www.roaringpenguin.com/pppoe/这个网站上,不但可以下栽RedHat 平台下的rp-pppoe的2进制软件包,而且可以下栽源代码软件包。
1.2进制软件包的安装:A.下栽2进制软件包http://www.roaringpenguin.com/pppoe/rp-pppoe⑶.5⑴.i386.rpm B.进行安装以root履行:#rpm -Uvh rp-pppoe⑶.5⑴.i386.rpm 2.从源代码进行安装:从源代码进行安装一样适用于其它平台的Linux,但必须在Linux系统中安装gcc编译器。
A.下栽源代码软件包http://www.roaringpenguin.com/pppoe/rp-pppoe⑶.5.tar.gz B.解紧缩#tar xvfz rp-pppoe⑶.5.tar.gz #cd rp-pppoe⑶.5 C.进行编译和安装运行脚本#./go将自动进行编译和安装,最后,自动调用/usr/sbin/adsl-setup进行配置,具体解释见3。
3、配置PPPOE客户端软件
安装完软件包后,必须配置pppoe的配置文件/etc/ppp/pppoe.conf,从而让ADSL拨号时使用配置文件中的用户名、密码等参数。我们没必要手工改动这个文件,可使用adsl-setup这个工具进行配置:#/usr/sbin/adsl-setup当出现
>>> Enter your PPPoE user name :
输进ADSL帐号的用户名当出现
>>> Enter the Ethernet inte***ce 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⑵):
输进 0 ,不使用防火墙当出现
>>> Accept these settings and adjust configuration files (y/n)?
假设输进的信息正ā确,输进 y ,完成配置,否则,输进 n 重新输进。
4、启动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的自启动脚本
5、测试
当连接成功后,使用命令#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了。
6、使用双网卡带动公司网、家庭网络上网
硬件要求:同上双网卡
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⑹5535 # unregistered ports acl Safe_ports port 280 # 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⑴ Level2
(说明:指定squid用来存储对象的交换空间的大小及其目录结构。可以用多个cache_dir命令来定义多个这样的交换空间,并且这些交换空间可以散布不同的磁盘分区。“directory ”指明了该交换空间的顶 级目录。假设你想用全部磁盘来作为交换空间,那末你可以将该目录作为装载点将全部磁盘mount上往。缺省值为/var/spool/squid.“Mbytes”定义了可用的空间总量。需要留意的是,squid进程必须具有对该目录的读写权利。“Level⑴″是可以在该顶级目录下建立的第1级子目录的数目,缺省值为16.同理,”Level⑵″是可以建立的第2级子目录的数目,缺省值为256.为甚么要定义这么多子目录呢?这是由于假设子目录太少,则存储在1个子目录下的文件数目将大大增加,这也会导致系统寻觅某1个文件的时间大大增加,从而使系统的整体性能急剧下降。所以,为了减少每个目录下的文件数目,我们必须增加所使用的目录的数目。假设仅仅使用1级子目录则顶级目录下的子目录数目太大了,所以我们使用两级子目录结构。那末,怎样来肯定你的系统所需要的子目录数目呢?我们可以用下面的公式来估算。
已知量:
DS = 可用交换空间总量(单位KB)/ 交换空间数目
OS = 均匀每个对象的大小= 20k
NO = 均匀每个2级子目录所存储的对象数目 = 256
未知量:
L1 = 1级子目录的数目
L2 = 2级子目录的数目
计算公式:
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 MMASQUERADE7、在含有多个vlan的3层交换网络中实现squid+iptables的透明朝理在企业中网络常常会有3层交换。它能够有效隔离广播,避免广播风暴。通过3层交换机划分vlan,使得利用和治理都变得相对轻易些。但也给代理的设置带来1点小麻烦,传统代理要设置代理
服务器地址和端口,这对3层交换网络没有甚么题目。关键是透明朝理中网关的设置,在3层交换的网络中 每个vlan的计算机的网关都要设置成所在vlan的网关,如:下表中vlan1的网关必须是192.168.100.1,vlan2的网关必须是192.168.110.1,像普通网络中把网关都设置成代理服务器的地址是尽对不行的。所以,3层交换网络中透明朝理的设置主要题目集中在3层中心交换机和代理服务器路由的设置,3层交换机的路由表中要有1条默许路由指向代理服务器,服务器的路由表中要有1个容纳所有vlan的网关。
以下是我的网络说明:网络内网有15个vlan如路由表所示,代理服务器(squid+iptables)在vlan1中服务器有两块网卡,eth0连接外网ip是A.B.C.D,网关为A.B.C.1.eth1连接内网ip是192.168.100.123/24不设网关。给服务器加上1条路由,将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->…… 请作者联系本站,及时附注您的姓名。联系邮箱:edu#chinaz.com(把#改成@)。 http://www.fw8.net/TAG:子目录,网关,数目,路由,软件包
评论加载中...
|