路由器管控功能设计教程文件.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 路由器 功能设计 教程 文件
- 资源描述:
-
路由器管控功能设计 精品文档 路由器管控功能设计 摘要:路由器是互联网的主要结点设备。路由器通过路由决定数据的转发。转发策略称为路由选择,这也是路由器名称的由来。作为不同网络之间互相连接的枢纽,路由器系统构成了基于TCP/IP 的国际互联网络Internet的主体脉络,也可以说,路由器构成了Internet的骨架。Linux系统是一个强大的网络操作系统,本身就是具有路由器的功能,只要经过非常少的几步设置,就会使用Linux系统本身成为一台出色的路由器。该论文研究内容既是将Linux系统配置成具有管理控制功能的路由器,并使其具备FTP,TFTP,Telnet,SSH,QoS(如源IP过滤,业务流类型调度)功能。分为两个部分,基础知识介绍和具体搭建过程的介绍。 关键字:Linux,SSH,Router,FTP,QOS 1. 设计思路与方案 该设计主要是完成路由器的管控功能,因此,首先需要将Linux系统配置成路由器。然后设置其管控功能,并测试。在整个过程中,主要用Linux系统自带的以下功能来完成。 1.1. Linux防火墙功能 所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障,是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全网关(Security Gateway),从而保护内部网免受非法用户的侵入,防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。 在Linux系统中到数据包进入系统后,首先在内核维护的网络内存空间队列中排队,在内核接手数据包后,TCP/IP协议栈会对数据包IP头部进行拆解,检测目的IP。如果目的IP指向自己,则继续检测TCP首部,并将数据包递交给处于内核空间和用户空间的套接字,让用户程序来处理数据包。如果IP地址不是自己,则对比路由表,如果存在相关条目则转发数据包。 具体的,在Linux内核中有一款自带的防火墙软件IPtables,可以实现网络流量的控制、数据包的过滤和转发等功能。IPtables分为两个部分,一个部分在内核中用来存放规则,称为NetFilter;另一部分在用户空间,用来定义规则,并将其传递到内存中,称为iptables。在内核中,规则主要存放在5个表中,每个表又有不同的链组成,其各自的功能用途如下: u Filter(过滤器):主要与进入Linux本机的数据包有关,为默认的表; ² INPUT:与进入Linux系统的包有关; ² OUTPUT:与Linux系统发送的包有关; ² FORWARD:与Linux系统转发的包有关。 u Nat(地址转换):主要进行源IP地址和目的IP地址或其端口的转换。主要用于有内网的情况。 ² PREROUTING:存储进行路由判断前所要进行的规则; ² POSTROUTING:存储路由判断之后所要进行的规则; ² OUTPUT:与系统发送的包裹有关。 u Mangle:这个表格主要与特殊数据包表头有关,较少使用。用到的链有: ² PREROUTING; ² INPUT; ² OUTPUT; ² FORWARD; ² POSTROUTING。 基于以上表和链的系统防火墙的运行示意图如下: 该设计主要涉及到nat和filter中规则的制定,用它们来完成路由和IP过滤的功能。 1.1.1.iptables语法 为了实现Linux系统的防火墙功能,需要对在用户态中通过iptables对其进行设置。Iptable定义规则的一般机制(更加具体的语法参照man文档)如下: Iptables [-t table] sub command CHAIN[num][cretiria][-j ACCTION] -t: 默认没有指定是filter,也可以指定mangle,nat,raw sub_command: rule: -A(append):追加 -I(insert):插入,如 -I INPUT 3 -D(delete):删除,指定标准或者num 如 -D OUTPUT 8 -R(replace):替换 -R FORWARD chain: -F(flush):清空链 -N(new):新增一条链 -X:删除用户自定义的空链 -Z:清空计数器;关于计数器:每条规则都有2条计数器 1:记录被本条规则匹配到的包个数 2:记录匹配到本条规则到的包的体积之和 -E:重命名链 policy: -P chain {ACCEPT|DROP} example:将INPUT链的默认策略修改为DROP。 ptables –t filter –P INPUT –j DROP view: -L 显示定义的规则 -n:使用这个选项,就不会去反向解析IP地址的主机名,加快察看速度-v:详细信息,可以多加几个v,越多越详细 -x:精确显示数据包体积 --line-numbers 匹配条件: -s IP/NETWORK:源地址 -d IP/NETWORK:目标地址 -p {tcp|udp|icmp}:指定协议 -i input interface:指定数据包进入的接口 -o output interface:指定数据包出去的接口 1.2. Linux软路由功能 软路由是指利用台式机或服务器配合软件形成路由解决方案,主要靠软件的设置,达成路由器的功能。通常使用普通的计算机充当,并使用通用的操作系统,如Linux,因此归根结底就是对Linux系统的设置。通常只需要几步操作就可以将其配置为强大的路由器: a. 首先,查看Linux系统内核中是否打开了IP转发功能,具体命令环境搭建过程; b. 如果命令返回值为0,则表明Linux内核没有启用IP转发的路由功能,需要开启; c. 通过命令echo 1 >/proc/sys/net/ipv4/ip_forward,开启IP转发功能。 但是这种方法只能保证当次有效,计算机重启后将消失。因此,为了保证系统能够每次自动设置,需要用编辑器修改配置文件/etc/sysctl.conf。 另外,每台计算机都有一个自己的路由表,存储了一定的路由信息。路由表中含有网络周边的拓扑信息。路由表建立的主要目标是为了实现路由协议和静态路由选择。在现代路由器构造中,路由表不直接参与数据包的传输,而是用于生成一个小型指向表,这个指向表仅仅包含由路由选择选择的数据包传输优先路径,这个表格通常为了优化硬件存储和查找而被压缩或提前编译。当然Linux也不能例外,但是Linux并没有将这这两种情况进行区分,而是使用“多张路由表”将二者统一了起来。在Linux中,内置了三张路由表: local,main,default,其中local路由表的优先级最高,并且不能被替换,在有数据包进来的时候,首先无条件的查找local路由表,如果找到了路由,则数据包就是发往本机的,如果找不到,则接着在其它的路由表中进行查找。 主机发送数据时就查看该路由表决定数据发送的方向,而当本机路由表无相关记录时,则将数据发送到默认路由上,有默认路由来选择路线。在Linux系统中的静态路由可以通过route命令来编辑,具体语法如下: route command [-net|-host] [网域或主机地址] netmask [mask] [gw|dev] command: -add 增加一条路由 -del 删除一条路由 -net 目标为网络地址 -host 目标位主机 Netmask 子网掩码 gw 网关地址 dev 网络接口号 2. 软件选型 2.1. Linux上的FTP FTP即文件传输协议,是应用层的协议,它基于传输层,为用户服务,它们负责进行文件的传输。FTP是一个8位的客户端-服务器协议,能操作任何类型的文件而不需要进一步处理。但是,FTP有着极高的延时,这意味着,从开始请求到第一次接收需求数据之间的时间会非常长,并且不时的必需执行一些冗长的登录进程。FTP服务一般运行在20和21两个端口。端口20用于在客户端和服务器之间传输数据流,而端口21用于传输控制流,并且是命令通向ftp服务器的进口。 Linux一种常见的服务器叫vsftpd。它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。当在系统中安装好vsftpd后,需要对其进行参数配置,即修改其默认配置文件/etc/vsftpd.conf,使其支持本地用户登录和匿名登录。具体配置情况见搭建过程。 当本地主机通过FTP登录到远端主机后,需要一些指令来完成相应操作,常见的有: ls:列出远程机的当前目录; cd:在远程机上改变工作目录; lcd:在本地机上改变工作目录; ascii:设置文件传输方式为ASCII模式; binary:设置文件传输方式为二进制模式; close:终止当前的ftp会话; hash:每次传输完数据缓冲区中的数据后就显示一个#号; get(mget):从远程机传送指定文件到本地机; put(mput):从本地机传送指定文件到远程机; open:连接远程ftp站点; quit:断开与远程机的连接并退出ftp; ? :显示本地帮助信息; ! :转到Shell中。 2.2. Linux上的TFTP TFTP是一种小型的文件传输协议,通过少量存储器就能轻松实现。它是基于UDP协议的,端口为69。其只能完成对远程服务器的读或写操作,不能列出目录内容。每一个TFTP传输的文件都构成了一个独立的交换,且任何时间网络上仅仅传递一个包,在很多链接情况下仅提供较低的吞吐量。由于该传输协议缺少安全性,所有普遍仅仅用于私人本地网络。 2.3. Linux上的Telnet Telnet协议时TCP/IP协议族中客户机/服务器的一种,是远端登录服务的标准协议和主要方式,常用于网页控制服务器的远端控制,也可提供使用者在本地主机执行远端主机上的工作。它提供了三种基本服务: a) 定义了一个网络虚拟终端为远程系统提供一个标准接口; b) 包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项; c) 对称处理连接的两端。 2.4. Linux上的SSH 传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。因此在最新的Linux版本中,telnet不再是默认启动项,需要用户自己开启。 而更好的方式是使用ssh来进行远程登录。SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task Force)的Network Working Group所制定的一种协议。SSH是一种加密过后的数据包,既是数据包被窃取了,其中的信息也是需要解密才能被了解的。因此,安全性较telnet要好很多。ssh协议目前有SSH1和SSH2,SSH2协议兼容SSH1。目前实现SSH1和SSH2协议的主要软件有Openssh和SSH Communications。设计采用Openssh来完成。当SSH登录远程主机后,可以像本地终端一样向远程主机发送命令。 另外,本设计主要是在软件VMware Workstation上完成的。 3. 搭建过程和测试 3.1. 环境搭建 本设计是在虚拟情况下建立了一个虚拟的内网192.168.152.0/24。该内网中有两台主机和一个路由器。通过该路由器,内网中主机可以与外网相连。具体网络结构如下图所示。另外,该路由器可以提供FTP服务和SSH服务,且只有一台内网主机可以登录该路由,即IP选择功能。搭建环境的具体工程如下。 首先,在VMware Workstation软件中建立三台虚拟机H1、H2和R。其中,H2为路由主机,配有两张网卡,具体网卡配置如下图。设备eth0为桥连的方式接入实验室中的局域网中,其IP地址为192.168.1.111;eth1的IP地址为192.168.152.129,处在所建立虚拟内网中。 R为一内网主机,网卡配置情况如下图。IP地址为192.168.152.130。其通过路由主机H2来访问外网,由此来测试H2的路由管理功能。因此在没有建立路由连接前,主机R无法访问外网。 H1也是内网主机,其网卡信息如下如所示,IP地址为192.168.152.128。 3.2. 配置过程与测试 a. 首先,打开内网主机R的终端,输入下图中的命令,建立默认路由条目,其网关为主机H2在内网中的IP地址192.168.152.0。 同样的,设置主机H1的默认网关为路由器主机H2在内网中的IP地址192.168.152.0。 b. 然后,在主机H2中打开终端,开启系统的路由转发功能。这样主机H2在收到目的地址不是本身时就可以执行转发操作。具体命令如下图所示,图可以看到此时ip_forward=1,即转发功能已开启。 c. 在终端中输入命令,查看路由器的路由表中的表项,从下图中可以看到主机的默认路由为192.168.1.1,即实验室中路由器在局域网中的地址。另外有两条转发信息,当所接受数据包的目标为网络192.168.1.0时,数据包从接口eht0送出;当目标位网络192.168,152.0时,数据包从接口eth1送出。 d. 然后查看现有nat链表规则,如下图。此时主机H2依然无法访问外网,因为主机H2中无任何地址转换的条目。外网主机无法得知外内地址。 随后,我们在终端中输入下图中命令,建立内网主机通向外网的源地址转换规则并查看。当H2收到来自主机R的任何数据报在POSTROUTING中将源地址转换成192.168.1.111,即H2接口eth0的地址。 e. 查看实验室局域网中的主机,即该设计中的外网主机的信息如下图,IP地址为192.168.1.107。 f. 在主机R上Ping外网主机192.168.1.107成功,即内网主机R通过路由主机H2与外网建立了连接。并采用Tcpdump对该工程进行了抓包操作。 对主机H1做同样的操作,得到如下结果。 到目前为止,已经完成了主机H2的路由功能,即内网192.168.152.0/24通过H2与外网建立了连接。因为TFTP与FTP功能上类似,telnet与SSH类似,下面的管控功能设计中,我们只配置路由器上的FTP服务、SSH服务和QoS。 g. 在路由器主机H2上安装VSFTPD服务器软件,并更改其配置参数,同时开启本地登录和匿名登录,使其支持上传或下载文件等功能。 下图是从主机R采用FTP本地登录H2成功后的截图。 登录成功之后就可以在对路由器实行文件上传或下载的操作,由此来与路由器建立的资源交互。如下图,主机R执行get命令从路由器H2上获得测试所用空文件text,并存储为本地名为text的文件。 h. 通过在路由器主机H2上安装openssh服务端软件,实现对其的远程登陆。下图为从主机R采用SSH登录H2成功的截图。此时可以在该终端中对路由器主机H2发送操作命令,实现对其的远程控制功能。 i. 接下来完成QoS中的IP地址过滤功能。在终端中输入下图中命令,设置主机H2防火墙拒绝来自内网主机192.168.152.128的SSH请求,以此来保证路由器主机不能被其他未授权主机登录。 在此之后,主机H1的所有请求SSH,都将遭到路由器主机H2的拒绝,如下图。通过设置防火墙规则,还可以拒绝转发一些特定的数据包,如:来自内网的web请求、针对某一端口的tcp连接或源IP过滤。 4. 结果分析 作为路由器的Linux系统,在具体配置和软件支持后,可以具有强大的管控功能。进一步设计还可以具有流量监控,业务类型调度等功能。 附录 VSFTPD配置情况: Anonymous_enable=yes 允许匿名登陆 Dirmessage_enable=yes 切换目录时,显示目录下.message的内容 Local_umask=022 FTP上本地的文件权限,默认是077 Connect_form_port_20=yes 启用FTP数据端口的数据连接 Xferlog_enable=yes 激活上传和下传的日志 Xferlog_std_format=yes 使用标准的日志格式 Ftpd_banner=XXXXX 显示欢迎信息 Pam_service_name=vsftpd 验证方式 Listen=yes 独立的VSFTPD服务器 Anon_upload_enable=yes 匿名用户上传权限 Anon_mkdir_write_enable=yes 创建目录的同时可以在此目录中上传文件 Write_enable=yes 本地用户写的权限 Anon_other_write_enable=yes 匿名帐号可以有删除的权限 Anon_world_readable_only=no 匿名用户浏览权限 Ascii_upload_enable=yes 启用上传的ASCII传输方式 Ascii_download_enable=yes 启用下载的ASCII传输方式 H2的脚本文件: #!/bin/bash #Program: 2014.4.9 R route -n echo 1 >/proc/sys/net/ipv4/ip_forward cat /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -s 192.168.152.130 -d 192.168.1.0/24 –j SNAT --to 192.168.1.111 iptables -t nat -n -L iptables -t filter -A INPUT -s 192.168.152.128 -d 192.168.152.129 -p tcp --dport 22 -j REJECT 收集于网络,如有侵权请联系管理员删除展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




路由器管控功能设计教程文件.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/3918150.html