




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 Linux网络基础,TCP/IP协议 网络配置 网络安全,网络概述,2,TCP/IP协议简介,TCP/IP协议 1以太网 以太网工作起来就象一个总线系统,每一台机器都通过一个分接器挂到一根很长的电缆上。为了让机器识别自身,每块以太网卡都有一个由制造商惟一分配的地址(MAC地址)。当一块以太网卡想要同另一块以太网卡对话时,它象整个以太网电缆发送信息,其中包括自己的MAC地址和接受者的MAC地址。当两块以太网卡试图在同一时间发送数据时,便会产生冲突。解决这种冲突的办法是两台计算机取消这一次发送,各自等待一段随机的时间,再进行发送数据的尝试。,3,TCP/IP协议简介,2IP协议 IP协议负
2、责数据报在计算机之间寻址,决定数据传送到哪里及出现网络故障时如何更换路由。IP不保证传送的可靠性, 在主机资源不足的情况下, 它可能丢弃某些数据报, 同时IP也不检查被数据链路层丢弃的报文。 (1)IP地址 IP地址通常由网络标识ID(Net)和主机标识ID(Host)两部分组成, 可标识一个互连网络中任何一个网络中的任何主机。 网络标识也称为网络地址,用于辨别子网,同一子网上的所有TCP/IP主机的网络ID都相同。 主机标识也称为主机地址,用于辨别每个网络内的主机。,4,TCP/IP协议简介,IP地址分类如下: A类地址:网络类别字段占1位,即第0位为0,表示是A类地址,第17位表示网络地址
3、, 第831位表示主机地址。它所能表示的范围为55,即能表示126 个网络地址,16 387 064个主机地址。A类地址通常用于超大型网络的场合。 B类地址:网络类别字段占2位,即第0、1位为“1 0”,表示是B类地址,第215位表示网络地址, 第1631位表示主机地址。它所能表示的范围为55, 即能表示16 256个网络地址, 64 576个主机地址。 B类地址通常用于大型网络的场合。,5,TCP/IP协议简介,C类地址:网络类别字段占3位,即第0、1、2位为“110”,表示是C类地址,第323位表示网络地址
4、, 第2431位表示主机地址。它所表示的范围为55, 即能表示2 064 512个网络地址, 254个主机地址。C类地址通常用于校园网或企业网。 此外, 还有D类和E类IP地址。 D类地址用于多址广播地址,供特殊协议向选定的节点发送信息时用。E类地址暂时保留。,6,TCP/IP协议简介,(2)子网掩码 :网掩码可概括为如下两个功能: 一是用于区分出网络地址和主机地址; 二是用于将网络分割为多个子网。 例如,某主机A的IP地址为192.166.008.002,子网掩码为,将这两个数据做“与”运算后,得出值中非0部分即为网络地址
5、即192.166.008,剩余字节为主机地址,也就是002。若有主机B的IP地址为192.166.008.005,子网掩码同主机A,通过子网掩码发现主机B与主机A网络地址相同,因此两台主机在同一个网络上。当主机A向主机B发送数据包时,就可以将数据包直接发送给主机B。,7,TCP/IP协议简介,3TCP协议 TCP协议是是一种面向连接的,可靠的传输层协议。面向连接是指一次正常的TCP传输需要通过在TCP客户端和TCP服务端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。可靠的传输协议可避免数据传输错误。 TCP协议可以支持许多高层协议ULP(Upper Level Protocol),
6、 它对高层协议的数据结构无任何要求, 只将它们作为一种连续的数据流。,8,TCP/IP协议简介,4UDP协议 UDP也是常用的传输层协议,它提供非面向连接的、不可靠的数据流传输服务。这种服务不确认报文是否到达,不对报文排序,也不进行流量控制,因此UDP报文可能会出现丢失、重复和失序等现象。与TCP相同的是,UDP协议也是通过端口号支持多路复用功能,但是不能建立连接,而是向目标计算机发送独立的数据包。 UDP是一种简单的协议机制, 通信开销很小, 效率比较高, 比较适合于对可靠性要求不高,但需要快捷、低延迟通信的应用场合, 如多媒体通信等。,9,TCP/IP协议简介,网络配置文件 1 /etc/
7、HOSTNAME文件 该文件包含了系统的主机名称和完全的域名,如: (Linux为主机名,为域名) 2 /etc/host.conf文件 该文件指定如何解析主机名。Linux通过解析器库来获得主机名对应的IP地址。 3/etc/services文件 /etc/services中包含了服务名和端口号之间的映射,不少的系统程序要使用这个文件.,10,配置Linux网络,4/etc/sysconfig/network文件 该文件用来指定服务器上的网络配置信息,包含了控制和网络有关的文件和守护程序的行为的参数。 5/etc/sysconfig/network-scripts/ifcfg-ethN文件
8、在RedHat中,系统网络设备的配置文件保存在/etc/sysconfig/network-scripts目录下,ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eht1包含第二块网卡的配置信息。,11,配置Linux网络,6/etc/hosts文件 /etc/hosts文件中包含了IP地址和主机名之间的映射,还包括主机名的别名,IP地址的设计使计算机容易识别,但对于人却很难记住它们,为了解决这个问题,创建了/etc/hosts这个文件。 7/etc/resolv.conf文件 该文件是由DNS客户端解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件,它包含主机
9、的域名搜索顺序和DNS服务器的地址。,12,配置Linux网络,示例如下: search nameserver nameserver 8 “search域名”表示当提供了一个不包括完全域名的主机名时,在该主机名后添加域名后缀;“nameserver”表示解析域名时使用该地址指定的主机为域名服务器。 8/etc/init.d/network主机地址、子网掩码和网关 为了改变主机缺省的IP地址,必须直接编辑/etc/init.d/network脚本使其反映正确的网络配置。这个文件包括了声明IP地址、掩码、网络、广播地址和缺省路由器的变量。,13,配置L
10、inux网络,9 手工配置TCP/IP网络 1设置主机名 #hostname 主机名 2设置IP地址 3主机和网络文件 主机文件中每行都有一个条目,由IP地址、主机名和主机别名清单组成。这些字段用空格或标号隔开,而且地址字段必须在第一列内。跟在“#”后面的被视为批注。 就象IP地址一样,应该用一个好记的名字来代表某个网络。所以还要有一个/etc/networks文件,该文件指明网络名和网络编号之间的对应关系。,14,配置Linux网络,4配置网络接口 (1)ifconfig命令 ifconfig用于命令接口能够被内核联网层访问。要想启用接口,使用下面的命令: # ifconfig interf
11、ace ip-address 此代码就是将ip-address分给接口,就激活了它。其他参数都采用默认值。 (2)route命令 route命令用于在内核路由表内增加还是删除路由,由管理员手工维护。 #route add net netmask dev eth0,15,配置Linux网络,5配置回送接口 首先激活的接口是回送窗口,如下: #ifconfig lo ifconfig将查找主机文件内的主机名,其中一个条目将该主机名声明为的主机名:localhost 如果要查看接口的配置情况
12、,将接口名作为ifconfig的参数,使用下面的方法调用它即可:#ifconfig lo,16,配置Linux网络,10. 防火墙技术 防火墙的概念 防火墙是一种网络安全产品,它提供了一种保护机制,其目的是保护一个网络不受来自另一个不可信任网络的非法侵入,它对网络的保护主要体现在: 防止非法的外部用户侵入Intranet访问资源和窃取数据; 允许合法的外部用户以指定的权限访问规定的网络资源。,17,Linux网络安全,防火墙的分类 根据不同的防范方式和侧重点,防火墙主要分成两类:分组过滤型和代理服务型。它们在网络性能、安全性和应用透明性等方面各有利弊。 (1) 分组过滤型 分组过滤型(Pack
13、et Filter)防火墙只是根据数据包的内容来判断是否允许数据包的传输。通常在网络层上通过对分组中的IP地址、TCP/UDP端口号以及协议状态等字段的检查来决定是否转发一个分组。,18,Linux网络安全,分组过滤型防火墙的基本原理是: 根据网络安全策略,在防火墙中事先设置分组过滤规则。 依据分组过滤规则,对经过防火墙的分组流进行检查。 分组过滤规则一定按顺序排列。当一个分组到达时,按规则的排列顺序依次地运用每个规则对分组进行检查。一旦分组与一个规则相匹配,则不再向下检查其它的规则。 如果一个分组与一个拒绝转发的规则相匹配,则该分组将被禁止通过。 如果一个分组与一个允许转发的规则相匹配,则该
14、分组将被允许通过。 如果一个分组不与任何规则相匹配,则该分组将被禁止通过。这是遵循“一切未被允许的都是禁止的”的原则。,19,Linux网络安全,Linux通过kernel中的netfilter模块实现的。对进出的数据包进行过滤,netfilter由三个规则表组成,每个表又有许多内建的链组成。通过使用iptables命令可以对这些表链进行操作,如添加、删除和列出规则等。,20,Linux 分组过滤型防火墙,一种是中止当前规则队列的执行,转到下一条规则队列。比如从执行过accept后就中断Filter队列内其它规则,跳到nat队列规则去执行 一种是中止所有规则队列的执行。 当一个数据包进入网卡,
15、会先检查 Prerouting,然后检查目的 IP 判断是否需要转送出去,接着就会跳到 INPUT 或 Forward 进行过滤,如果封包需转送处理则检查 Postrouting,如果是来自本机封包,则检查 OUTPUT 以及 Postrouting。过程中如果符合某条规则将会进行处理,处理动作除了 ACCEPT、REJECT、DROP、REDIRECT 和 MASQUERADE 以外,还多出 LOG、ULOG、DNAT、SNAT、MIRROR、QUEUE、RETURN、TOS、TTL、MARK 等,其中某些处理动作不会中断过滤程序,某些处理动作则会中断同一规则炼的过滤,并依照前述流程继续进行
16、下一个规则炼的过滤,一直到堆栈中的规则检查完毕为止。,21,Linux 分组过滤型防火墙,Netfilter规则表filter nat mangle filter,用于路由网络数据包。是默认的,也就是说如果没有指定-t参数,当创建一条新规则时,它会默认存放到该表内。 INPUT 网络数据包流向服务器 OUTPUT 网络数据包从服务器流出 FORWARD 网络数据包经服务器路由,22,Linux 分组过滤型防火墙,nat,用于NAT表.NAT(Net Address Translation )是一种IP地址转换方法。 PREROUTING 网络数据包到达服务器时可以被修改 POSTROUTING
17、 网络数据包在即将从服务器发出时可以被修改 mangle,用于修改网络数据包的表,如TOS(Type Of Service ), TTL(Time To Live),等,23,Linux 分组过滤型防火墙,配置Iptables 当数据包进入服务器时,Linux Kernel会查找对应的链,直到找到一条规则与数据包匹配。如果该规则的target是ACCEPT,就会跳过剩下的规则,数据包会被继续发送。如果该规则的target是DROP,该数据包会被拦截掉,kernel不会再参考其他规则。 如果从始至终都没有一条规则与数据包匹配,而且表末尾又没有drop all的规则,那末该数据包会被accept。
18、cisco则相反,在表末尾会因含deny all的规则。,24,Linux 分组过滤型防火墙,Iptables的命令选项 iptables -t tables command option parameter target -A 在链尾添加一条规则 -C 将规则添加到用户定义链之前对其进行检查 -D 从链中删除一条规则 -E 重命名用户定义的链,不改变链本身 -F 清空链,删除链上的所有规则,25,Linux 分组过滤型防火墙,-I 在链中插入一条规则 -L 列出某个链上的规则,如iptables L INPUT 列出INPUT链的规则 -N 创建一个新链 -P 定义某个链的默认策略 -R 替
19、换链上的某条规则 -X 删除某个用户相关的链 -Z 将所有表的所有链的字节和数据包计数器清零,26,Linux 分组过滤型防火墙,Iptables的命令参数 -p protocol 应用于数据包的协议类型,可以是TCP UDP ICMP或ALL。!也可使用。 当使用-p tcp时,还可使用其他可以选项,以便允许进一步定义规则。选项包括: sport 允许指定匹配数据包源端口.port1:port2 ,表示port1和port2之间的所有端口 dport 目的端口,和sport雷同。 当使用-p !udp时,也有特殊的选项供使包括: sport,dport,与-p tcp 相同,只不过用以用于U
20、DP包。,27,Linux 分组过滤型防火墙,使用-p icmp参数时,只有一个选项可用。 icmp-type,允许在过滤规则中指定icmp类型。 -s source 指定数据包的源地址。该参数后跟一个IP地址,一个带有sub-net mask的网络地址,或一个主机名。(不建议使用主机名) -d, - destination 数据包的目的地址,同-s. -j,jump 用于指定一个target,告诉规则将该匹配的数据包发送到该 target。Target可以是ACCEPT,DROP,QUEUE,RETURN.如果没有-j,那么不会对数据包进行任何操作,只是将计数器加1。 -i - - in-i
21、nterface ,对于INPUT FORWARD PREROUTING链,该参数指定数据包到达服务器时所使用的端口。 -o - - out-interface,对于OUTPUT FORWARD POSTROUTING链,该参数指定数据包离开服务器时使用的端口。,28,Linux 分组过滤型防火墙,Iptables的命令target 创建规则的最后一步是指定Iptables对数据包的操作。只要某一规则匹配该数据包,就不会再有别的规则的操作。内建的target有:ACCEPT DROP QUEUE RETURN。 ACCEPT:允许数据包通过,到达目的地。 DROP:拒绝数据包通过,丢弃该包。
22、QUEUE:将数据包发送回到用户应用程序处理。 RETURN:不再根据当前链的其他规则来检查数据包,而是直接返回,继续被发送到其目的地址,或下一个链。,29,Linux 分组过滤型防火墙,应用Iptables规则示例 允许WWW iptables A INPUT p tcp dport 80 j ACCEPT 该规则被添加到filter表的INPUT链,允许目的端口是80的数据包。 在内部接口上允许DHCP iptables A INPUT i eth0 p tcp - - sport 68 - -dport 67 ACCEPT 以上同时允许TCP和UDP协议。,30,Linux 分组过滤型防
23、火墙,iptables -A INPUT -d / -i eth1 -j DROP iptables -A INPUT -i eth0 -j DROP iptables -t nat -A PREROUTING -p tcp -dport 80 -j REDIRECT -to-ports 3128,31,Linux 分组过滤型防火墙,将每一条iptables规则统一写到/etc/sysconfig/iptables文件中,iptables每次启动时将读取其中的脚本,并一次性同时生效。 iptables-save 将当前激活的所有规则写入/etc
24、/sysconfig/iptables文件中。,32,Linux 分组过滤型防火墙,1.ftp命令 ftp命令是标准的文件传输协议的用户接口,其功能是在本地机和远程机之间传送文件。该命令的一般格式如下: $ftp 主机名/IP 如果没有指定主机名,ftp将给出提示符,等待用户输入命令: $ ftp ftp 此时在ftp提示符后面输入open命令加主机名或IP地址,将试图连接指定的主机。,33,Linux常用的网络命令,如果没有远程机的专用登录帐号,许多ftp站点设有可以使用的特殊帐号。这个帐号的登录名为anonymous(也称为匿名ftp),当使用这一帐号时,要求输入email地址作为口令。
25、一旦用户使用ftp在远程站点上登录成功,将得到“ftp”提示符。现在可以自由使用ftp提供的命令,可以用help命令取得可供使用的命令清单,也可以在help命令后面指定具体的命令名称,获得这条命令的说明。,34,Linux常用的网络命令,2telnet命令 用户使用telnet命令进行远程登录。该命令允许用户使用telnet协议在远程计算机之间进行通信,用户可以通过网络在远程计算机上登录,就像登录到本地机上执行命令一样。 用户还可以使用telnet从远程站点登录到自己的计算机上,检查电子邮件、编辑文件和运行程序,就像在本地登录一样。 telnet命令的一般格式为: telnet 主机名/IP
26、其中“主机名/IP”是要连接的远程机的主机名或IP地址。如果这一命令执行成功,将从远程机上得到login:提示符。,35,Linux常用的网络命令,使用telnet命令登录的过程如下: $ telnet 主机名/IP 启动telnet会话。 3rlogin命令 rlogin 是“remote login”(远程登录)的缩写。该命令与telnet命令很相似,允许用户启动远程系统上的交互命令会话。rlogin 的一般格式是: rlogin -8EKLdx -e char -k realm - l username host,36,Linux常用的网络命令,4rsh命令 rsh是“remote sh
27、ell”(远程 shell)的缩写。该命令在指定的远程主机上启动一个shell并执行用户在rsh命令行中指定的命令。如果用户没有给出要执行的命令,rsh就用rlogin命令使用户登录到远程机上。 rsh命令的一般格式是: rsh -Kdnx -k realm -l username host command,37,Linux常用的网络命令,5rcp命令 rcp代表“remote file copy”(远程文件拷贝)。该命令用于在计算机之间拷贝文件。 rcp命令有两种格式。第一种格式用于文件到文件的拷贝;第二种格式用于把文件或目录拷贝到另一个目录中。rcp命令的一般格式是: rcp -px -k
28、 realm file1 file2 rcp -px -r -k realm file directory,38,Linux常用的网络命令,6ssh命令 OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。它用安全、加密的网络连接工具代替了 telnet、ftp、 rlogin、rsh 和 rcp 工具。默认的协议是版本 2,该协议默认使用 RSA 钥匙。 使用 OpenSSH 工具将会增进你的系统安全性。 所有使用 OpenSSH 工具的通讯,包括口令,都会被加密。 telnet 和 ftp 使用纯文本口令,并被明文发送。,39,Linux常用的网络命令,配置 Op
29、enSSH 服务器 要运行 OpenSSH 服务器,你必须首先确定你安装了正确的 RPM 软件包。openssh-server 软件包是必不可少的,并且它依赖于 openssh 软件包的安装与否。 OpenSSH 守护进程使用 /etc/ssh/sshd_config 配置文件。 要启动 OpenSSH 服务,使用 /sbin/service sshd start 命令。要停止 OpenSSH 服务器,使用 /sbin/service sshd stop 命令。,40,Linux常用的网络命令,配置 OpenSSH 客户 :要从客户机连接到 OpenSSH 服务器上,你必须在客户机器上装有 o
30、penssh-clients 和 openssh 软件包。 ssh 命令是 rlogin、rsh 和 telnet 命令的安全替换。它允许你在远程机器上登录并在其上执行命令。 使用 ssh 来登录到远程机器和使用 telnet 相似。要登录到一个叫做 的远程机器,在 shell 提示下键入下面的命令: ssh 第一次使用 ssh 在远程机器上登录时,你会看到和下面相仿的消息: . Are you sure you want to continue connecting (yes/no)?,41,Linux常用的网络命令,键入 yes 来继续: Warning: Permanently adde
31、d (RSA) to the list of known hosts. 下一步,你会看到向你询问远程主机口令的提示。在输入口令后,你就会在远程主机的 shell 提示下了。如果你没有指定用户名,你在本地客户机器上登录用的用户名就会被传递给远程机器。,42,Linux常用的网络命令,如果你想指定不同的用户名,使用下面的命令: ssh 你还可以使用 ssh -l username 。 ssh 命令可以用来在远程机器上不经 shell 提示登录而执行命令。它的语法格式是: ssh hostname command。譬如,如果你想在远程主机 上执行 ls /usr/share/doc 命令,在 she
32、ll 提示下键入下面的命令: ssh ls /usr/share/doc 在你输入了正确的口令之后, /usr/share/doc 这个远程目录中的内容就会被显示,然后你就会被返回到你的本地 shell 提示下。,43,Linux常用的网络命令,使用 scp 命令:用来通过安全、加密的连接在机器间传输文件。 把本地文件传输给远程系统的一般语法是: scp localfile usernametohostname:/newfilename localfile 指定源文件,usernametohostname:/newfilename 指定目标文件。 要把本地文件 shadowman 传送到你在 上的账号内: scp shadowman :/home/username 把本地文件 shadowman 传输给 上的 /home/username/shadowman 文件。,44,Linux常用的网络命令,远程文件传输给本地系统的一般语法是: scp usernametohostname:/remotefile /newloca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023年节能减排知识竞赛试题道
- 2023税务数字人事“两测”专业能力-纳税服务知识题库及答案
- 2023年电大货币银行学考试试题练习及答案
- 甘肃省甘南州2024-2025学年高二下学期期末质量监测地理试卷(含答案)
- 二零二五年度企业间融资租赁合同范例
- 二零二五版龙山区中医院医疗废物处理合同
- 二零二五版二手房交易配套设施检查与验收合同
- 2025版鸡粪收购合同范本及执行细则与市场前景分析
- 二零二五年度保温材料质量纠纷调解合同
- 二零二五年度地铁隧道电气设施改造合同范本
- 大数据中心建设解决方案
- T-SDFA 050-2024 混合型饲料添加剂中阿奇霉素的测定 液相色谱-串联质谱法
- 2025年中考化学试题及答案内蒙
- 消防火灾自动联动系统-实训指导书
- 手机通话的流程
- 电力行业中的职业健康与安全
- 水浒传每回内容梗概
- (译林版)二年级英语上册期中检测卷-附参考答案
- 工地试验室安全培训内容
- 小儿哮喘病护理
- 辽宁省第二届职业技能大赛(健康照护赛项)理论参考试题及答案
评论
0/150
提交评论