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