|
|
Linux局域网共享宽带上网
admin2003-12-16 09:30
曾几何时,我们借助于Wingate或Sysgate通过56K Modem共享接入Internet,速度虽慢却也令人高兴。而今随着网络技术的发展,宽带接入互联网已经进入寻常百姓家,ADSL和以太网给用户提供了兆级的宽带接入解决方案。虽然把这种方式称为宽带接入还带有一些广告宣传的意味,但与以前K级的速度相比,它确实给用户带来了前所未有的体验,也使共享接入具有了实际应用的价值。目前,Windows和Linux操作系统都提供了这方面的功能,两者相比,前者方便简单,而后者在电脑配置相同或在低档配置下可提供更高的效率,动力也明显比前者强劲。
Linux环境的基本配置
以本共享方案为例,其配置为: MMX200 CPU、内存96M、网卡两块(一块是D-link200 ISA网卡,另一块是Reltek8029 PCI网卡)和RedHat7.2 Linux系统。注意在安装并配置Linux7.2服务器时,只要硬盘够大应尽可能完整安装,免得以后再添加。
具体的网络配置如下:Eth0为8029网卡,IP地址为192.168.0.1;Eth1为D-link网卡,IP地址为192.168.1.1; 缺省的路由是192.168.0.1,Host name为linux.home.cn,Domain name为home.cn。
在共享上网中,网络的配置是必不可少的(如果已经配置了局域网所需的服务如DNS、sendmail、http、samba、innd、ssh、ftp等也不影响共享上网的使用),其中Eth0与局域网连接,Eth1与ADSL或以太网宽带接入连接,客户端则可根据上述服务器的配置做相应配置。另外,网段应设置为192.168.0.x,子网掩码为255.255.255.0,默认网关为192.168.0.1,DNS为192.168.0.1。
接下来进行PPPoE的安装,将PPP的安全登录和数据流量大的优点添加到以太网连接中。在此,需要PPPoE拨号进入宽带网。目前,在Linux下已经有了一个很好的PPPoE程序rp-pppoe,但RedHat 7.2所带的版本较低,可以从http://www.roaringpenguin.com/pp ... 版本是3.3-1。
执行命令:
[root@linux /]#rpm -U -test rp-pppoe-3.3-1.i386.rpm //升级PPPoE。
[root@linux /]#rpm -q rp-pppoe //查看PPPoE的版本。
[root@linux /]#rp-pppoe-3.3-1 //在正常情况下应该显示这个版本。
[root@linux /]#adsl-setup //开始PPPoE的配置。
//以下是屏幕显示:
Welcome to the Roaring Penguin ADSL client setup. First, I will run some checks on your system to make sure the PPPoE client is installed properly...
Looks good! Now, please enter some information:
USER NAME
>>> Enter your PPPoE user name :
输入连入宽带网的账号,值得注意的是,如果接入ADSL,使用中国电信的服务可直接输入账号,而如果是接入中国网通的以太网,要紧跟着账号后面输入! Internet(I要大写)。
INTERFACE
>>> 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 eth1):
输入准备接入互联网的网卡名,如果是缺省的就直接敲回车键。
>>> Enter the demand value (default no):
直接回车。
DNS
>>> Enter the DNS information here:
输入有服务商提供的域名服务器地址,或输入server,由服务商自动提供。
PASSWORD
>>> Please enter your PPPoE password:
>>> Please re-enter your PPPoE password:
输入上网密码。
FIREWALLING
The firewall choices are:
0 - NONE: This script will not set any firewall rules. You are responsible for ensuring the security of your machine. You are STRONGLY recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway for a LAN
>>> Choose a type of firewall (0-2):
选择防火墙,选0。
** Summary of what you entered **
Ethernet Interface: eth1
User name: ddtthz! Internet
Activate-on-demand: No
DNS: server
Firewalling: NONE
>>> Accept these settings and adjust configuration files (y/n)?
最后,对上述配置进行确认。确认后的配置系统会写入/etc/ppp/pppoe.conf文件,熟练的用户可直接对其进行修改。
拨号
配置完成后,就可以进行拨号了。
[root@linux /]# adsl-start
如果屏幕上出现:“... Connected!”就说明拨号成功了。一般而言做到这一步是没什么问题的。这时可以用ifconfig命令查看,结果除了原本有的eth0、eth1、lo外又增添了ppp0。
接下来可以Ping一下互联网上的某个主机名,www.sina.com.cn或其IP地址。 ... 的网关地址。
修改方案为,用adsl-stop命令停掉拨入服务,找到并修改/etc/sysconfig/network文件,把其中的gateway和gatewaydev语句注释掉或删除。然后用命令/etc/rc.d/init.d/network restart重新启动网络进程。用adsl-start拨入互联网后,route命令应显示如下路由表:
此时Ping www.sina.com.cn没有一点问题,路由的问题解决了。
局域网的共享接入
下面就要为局域网的共享接入进行配置。先增添一条静态路由,为局域网内的电脑做路由网关:找到并修改/etc/sysconfig/static-routes文件,写入“eth0 net 192.168.0.0 netmask 255.255.255.255 gw 192.168.0.1”。同时不要忘记配置IP报的转发: 找到并修改/etc/sysctl.conf文件,里面有一段“net.ipv4.ip_forward=0”,把0改为1。不放心的话还可以在命令行中输入:“echo 1 > /proc/sys/net/ipv4/ip_forward”。重新启动网络进程后用route命令查看,路由表内多了一条静态路由:
接下来设置IP伪装,它可以使局域网内的私有地址以NAT方式透明访问互联网。在RedHat7.2版本中已经内置了一个比原来版本所提供的Ipchains更优异的Iptables进程,就用它作为地址翻译的引擎。
在命令行中输入:
[root@linux /]# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE //设置一个IP包过滤的规则。
一切就绪,启动拨入服务命令adsl-start。从共享的局域网中的某台电脑Ping www.sina.com.cn,通的话说 ... 不当或疏漏。
实现自动启动
最后,为了让Linux能自动启动这些配置,可以做如下设置:执行ntsysv命令,选中ADSL选项,在/etc/rc.d/目录下,新建一个firewall文件,内容为:
echo "starting iptables rules......"
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
最后一个语句视情况而定。如果/etc/sysctl.conf已经设置好,则不写也没有关系。同时,把这个文件的权限修改为可执行模式:
[root@linux rc.d]# chmod 755 firewall
修改/etc/rc.d/rc.local文件,在文件的最后添加:“/etc/rc.d/firewall”。
重新启动Linux服务器,一切正常的话,服务器已经可以自动拨入宽带网,并设置好了IP伪装。这 样,Linux服务器既承担了局域网原有的各项服务,同时又做了局域网共享访问的引擎。
原 作 者:
文章来源:
本站的大部分资料,文章都来自网上收集,其版权归作者本人所有,如果有任何侵犯您权益的地方,请联系我,我将马上进行整理,谢谢。 |
|