论坛: UNIX系统 标题: Linux局域网共享宽带上网 复制本贴地址    
作者: 柳霖明楠 [hackerjune]    论坛用户   登录
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/pppoe下载最新的版本,目前最新的版本是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地址。接通了的话就可以在Linux环境下上网了。但大多数情况下此时可能是Ping不通的,原因是Linux服务器的路由不一定是正确的。用route命令查看,如果default路由是错误的,那是因为原来的默认路由是Linux服务器的地址,而拨入宽带网的默认路由必须是拨入的网关地址。

修改方案为,用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,通的话说明所有的共享接入设置都没有问题,局域网中的电脑都可以上互联网享受冲浪的快乐了。如果Ping不通,就要仔细检查上述的配置步骤和IP的设置是否有不当或疏漏。  

实现自动启动

最后,为了让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服务器既承担了局域网原有的各项服务,同时又做了局域网共享访问的引擎。





[此贴被 柳霖明楠(hackerjune) 在 09月18日19时47分 编辑过]

地主 发表时间: 04-09-18 19:40

论坛: UNIX系统

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号