当前位置:Linux教程 - Linux资讯 - RedHat7.2下ADSL双网卡共享上网实战

RedHat7.2下ADSL双网卡共享上网实战

前一段在网通申请开通了包月的ADSL,于是开始了网上真正冲浪的日子,这些年在IT圈里混,家里电脑加起来都有三台了,加上室友的一台笔记本和一台PC,一共有5台电脑了,于是开始琢磨怎么能让这些电脑都上网。

在网上找了一阵,从一些坛子上看到有些地方有不限制一个帐户多次拨号的情况,于是我也抱着试试看的想法动手试我家的ADSL,结果一试才发现家里的 ADSL居然也可以多次拨号,嘿,这下可爽了。我买了一个8口的HUB,把ADSL猫接到HUB的UP Link口上,然后别的机器都用网线接到HUB上,分别在各个机器上都安装了ADSL拨号软件,结果每台电脑都可以独立拨号上去,并且各自的速度都是 512Kbps,实在是爽!有ADSL的朋友不妨也试试看运气!

结果好日子没有持续多久就发生噩梦了,昨天回到家和往常一样打开HUB和ADSL猫的电源,结果发现无论怎么试都只能拨通一台机器,后来经过确认得知我们这个区的电话局也做了限制了,这下没办法了,只能开始折腾代理服务器了。

历史原因留下来家里有一台比较旧的电脑,目前闲置不用,配置为赛扬366、内存64MB、硬盘2.5G、无显示器和键盘鼠标、双网卡,正好用来做代理服务器,经过一晚上的折腾,总算是搞好了,现在大家虽然上网速度慢了点,不过也还算满意,下面就是整个的安装配置过程。

1、确定实现目标:

我们要实现代理服务器一块网卡和ADSL猫连接,另外一个和HUB连接,在服务器上设置NAT,并配置防火墙和DHCP,内网的其他电脑使用自动获取IP地址方式,并通过代理服务器共享上网。

2、服务器安装和网络配置:

由于当时手里只有RedHat Linux 7.2 的安装光盘,于是就决定安装RedHat7.2作为代理服务器的系统,安装过程不用详细说明了,我选择了最小安装方式,自定义选择了pppd服务、防火墙、rp-pppoe包安装。

系统安装好以后,开始配置两个网卡,两块网卡分别为eth0和eth1,我选择eth0连接ADSL猫,eth1连接内网。ADSL拨号上网无需设置eth0的ip地址,下面是我的网络配置文件设置情况

/etc/sysconfig/networks文件:

英文代码NETWORKING=yes HOSTNAME=proxy FORWARD_IPV4="yes" GATEWAY="ppp0" GATEWAYDEV=""

/etc/sysconfig/network-scripts/ifcfg-eth0文件:

DEVICE=eth0 BOOTPROTO=static ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-eth1文件:

DEVICE=eth1 BROADCAST=192.168.0.255 IPADDR=192.168.0.1 NETMASK=255.255.255.0 NETWORK=192.168.0.0 ONBOOT=yes

接下来设置ip转发和打开核心对ip转发的支持,打开/etc/rc.local文件,加入下面三行:

echo 1 > /proc/sys/net/ipv4/ip_forward ipchains -A forward -s 192.168.0.0/24 -d 0/0 -j MASQ adsl-start &

最后一行设置系统在启动时自动连接ADSL,这在后面有说明。

3、ADSL配置

配置好服务器的基本环境后,开始进行ADSL拨号设置,Michael在设置的时候发现了一个很奇怪的问题,就是系统中怎么都找不到adsl- setup命令,别的如adsl-start 、adsl-connect等都有,这让我很纳闷。实在没有办法,我去openbsd.org下载了redhat7.3的rp-pppoe-3.5- 1.i386.rpm 包,然后用下面的命令重新安装了rp-pppoe包:

#rpm -Uhiv --replacepkgs rp-pppoe-3.5-1.i386.rpm

一看一下就好了,呵呵,不知道7.2带的包到底有什么毛病,也没有功夫仔细研究了。

接下来开始运行adsl-setup来设置ADSL,下面是配置过程:

#/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 重新输入。

这样就完成了ADSL的配置,这时试着运行一下adsl-start,正确的话应该可以看到connected的信息,如果有问题试着看看/var/log/message的信息,然后重新进行配置。

运行adsl-start成功连接后,运行ifconfig -a看看网络设备信息,应该可以看到ppp0的信息,这就是ADSL建立的连接,应该可以看到电信分配的IP地址之类的信息。

此时,Michael尝试设置了其他的电脑的ip信息,比如设置了另外一台接在HUB上的笔记本的ip地址为192.168.0.128,网关设置为192.168.0.1,打开ie上网,呵呵,大功告成!

4、配置DHCP服务

为了让家里的网络环境更方便,于是开始在代理服务器上配置DHCP服务,下面是 DHCP的简单配置过程;从光盘或者网上找到dhcp-2.0pl5-8.i386.rpm和dhcpcd-1.3.22pl1-7.i386.rpm两个包,用rpm -hiv 安装。拷贝/usr/share/doc/dhcp-2.0pl5/dhcpd.conf.sample 文件到 /etc/dhcpd.conf 然后根据自己具体情况修改部分配置信息,下面是Michael的dhcpd.conf文件内容:

subnet 192.168.0.0 netmask 255.255.255.0 { # --- default gateway option routers 192.168.0.1; option subnet-mask 255.255.255.0; option nis-domain "toplee.com"; option domain-name "toplee.com"; option domain-name-servers 202.106.196.115,202.106.196.152,202.96.199.133; option time-offset -18000; # Eastern Standard Time # option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type 2; range dynamic-bootp 192.168.0.128 192.168.0.255; default-lease-time 21600; max-lease-time 43200; # we want the nameserver to appear at a fixed address host ns { next-server ns.toplee.com; hardware ethernet 00:03:0F:F8:60:22; fixed-address 192.168.0.1; } }

基本上你直接拷贝上面的内容就可以了。

然后运行/etc/init.d/dhcpd start 启动dhcp服务(另外可以在setup里面设置启动的时候自动运行dhcp服务)一切ok,设置内网其他的机器使用自动获取就ok了!你可以通过查看 /var/lib/dhcp/dhcpd.leases 文件查看客户机器租用ip的情况。

好了,有点晚了,Michael就写到这里,基本上都说清楚了,大家有什么问题或者发现Michael有些什么设置不够好的都可以告诉我!大家相互交流,共同进步!

(出处:http://www.sheup.com)