- 论坛徽章:
- 0
|
Redhat 9.0 下配置局域网内ADSL上网网关- -
1.实际环境描述:
一台Linux Redhat 9.0 作为局域网内 ADSL 网关服务器配置两块网卡
一台笔记本和一台台式机为windows2000系统,各一块网卡
局域网内一台8口HUB连接三台机器
一台ADSL上网用猫
局域网内地址划分为:192.168.0.1 – 192.168.0.24
NETMASK: 255.255.255.0
两台windows2000机器的地址分别为:192.168.0.10和192.168.0.20
Linux机器连接HUB的网卡地址为:192.168.0.1,连接ADSL的网卡地址不需要配置
2.实现功能:
局域网内所有计算机通过Linux Redhat 9.0 网关使用同一台ADSL共享上网
3.配置Linux网关需要的条件
Linux网关服务器需要两块网卡,一块网卡连接ADSL猫,一块网卡连接局域网内HUB;
需要知道ISP服务商提供的DNS地址;
4.获取DNS地址
首先使用Windows2000的机器通过ADSL拨号上网;
进入DOS窗口下执行 IPCONFIG/ALL命令,显示如下图所示
现实 PPP adapter 的信息即为ADSL拨号上网的信息,一般DNS Server地址为两个,上图所示分别为 202.106.46.151和202.106.0.20,记下此地址我们在将来的配置中要使用;
5.开始配置Linux的ADSL拨号网关
<1> 启动Linux,网卡设备eth0连接ADSL不需要配置网络地址,网卡设备eth1地址为192.168.0.1连接HUB;我们可以直接打开配置文件来察看两块网卡的配置,如下图为我的机器上的配置:
执行 vi /etc/sysconfig/network-scripts/ifcfg-eth0
显示eth0的配置如下
执行 vi /etc/sysconfig/network-scripts/ifcfg-eth1
显示eth1的配置如下
此配置可直接根据上图所示进行修改。
<2> 设置Linux机器上的ADSL拨号
调用 /usr/sbin/adsl-setup 进行配置
执行adsl-setup
显示如下图:
这是要设置ADSL名称,默认回车即可,显示如下:
>>> 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 values (default no):
输入 no
当出现
>>> Enter the DNS inFORMation here:
输入相应的 DNS 服务器 IP 地址,输入 server,即让系统自动分配 ip 地址
当出现
>>> Please enter your PPPoE password:
输入你的 ADSL 帐号的密码
当出现
>>> Choose a type of firewall (0-2):
输入2,选择防火墙
当出现
>>> Accept these settings and adjust configuration files (y/n)?
如果输入的信息正确,输入 y ,完成配置,否则,输入 n 重新输入。
完成后使用命令:
adsl-start 启动 PPPOE 客户端软件,进行连接,如果成功,将出现
Connected;
adsl-stop 断开和ISP的连接
adsl-status 查看当前连接的状态
到此一步,执行adsl-status 查看当前连接的状态,可以看到ADSL拨号已经同了,但是我们执行 ping www.sina.com.cn时却发现不能ping通,那么我们需要继续向下进行了。
<3> 网络环境和路由的配置
将/etc/sysctl.conf文件参数配置为 net.ipv4.ip_forward = 1
执行如下命令:
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -F
/sbin/iptables -t nat -A POSTROUTING -s 210.31.34.0/28 -j MASQUERADE
/sbin/iptables -A FORWARD -s 210.31.34.0/28 -j ACCEPT
上面的设置重启后会失效,将它写成脚本,自启动即可。
上面的设置完成后我们执行 ping www.sina.com.cn 就会发现,我们Linux机器上的网络已经没有问题了。
下面的过程将以上配置写成脚本,并设置成如adsl-start可执行的方式,如下
首先将如上四行命令使用vi编辑成文件名为adsl-init.sh的文件,文件的目录为 /usr/local/bin 以确保其他用户可用,然后执行 chmod +x adsl-init.sh 命令修改文件执行状态,再进行如下的文件权限的设置
chown root /usr/local/bin/adsl-init.sh
chgrp root /usr/local/bin/adsl-init.sh
chmod 755 /usr/local/bin/adsl-init.sh
设置完成后你就可以在您的/root下像执行其他命令一样执行adsl-init.sh了。
在这里多数操作都能照办,但只有/sbin/iptables -F
/sbin/iptables -t nat -A POSTROUTING -s 210.31.34.0/28 -j MASQUERADE
/sbin/iptables -A FORWARD -s 210.31.34.0/28 -j ACCEPT
这几个命令不能实现,总是提示找不到指定的文件或目录,我的红帽子版本是9.0,内核是2.4.20-8,请问哪位大虾能够指教,另外如果哪位大虾能够提供此版本系统下更直观的设置指导,在下更是欢迎了.谢谢各位大虾了. |
|