Linux网络基础
这是Linux网络基础的笔记,首先介绍了计算机网络的基础知识,然后是Linux的网络设置
参考资料
- 主要为视频资料:慕课网
- 辅助书籍:Linux从入门到精通(刘忆智 清华大学出版社)
- 网络地址分为A,B,C,D,E类,这样的分类有什么意义,各类别有什么区别吗?
ISO/OSI
容易弄混的几个概念:
- ISO:国际标准化组织
- OSI:开放系统互联模型
- IOS:苹果操作系统
7,6,5是面向应用程序提供的服务,4,3,2,1是面向数据提供服务。
帧存储的是MAC地址,即硬件地址,每个网卡上的唯一的标识,负责局域网(内网)数据通信
-
报文存储的是IP地址,IP地址负责公网(外网)数据通信
应用层 用户接口
表示层 数据的表现形式、特定功能的实现如加密
会话层 对应用会话的管理、同步
传输层 可靠与不可靠的传输、传输前的错误检测、流控、确定端口
网络层 提供逻辑地址、选路
数据链路层 成帧、用MAC地址访问媒介、错误检测与修正
物理层 设备之间的比特流的传输、物理接口、电气特性等
示例(发送邮件):
应用层:打开163等邮件网站,编辑邮件
表示层:点击发送后,把邮件的内容转换为数据,例如转换为ASCII的0101,还有实现加密功能
会话层:确定数据是在本机上使用的例如PPT,还是需要发送出去的邮件。如果是PPT就不用下面4层,直接保存起来就可以了。
传输层:写入邮件的发送端口号:25,接收端口号:110.是个TCP协议
网络层:把本机IP地址和目标IP地址写入
数据链路层:把本机MAC和目标MAC写入
物理层:完成实际的数据传输
TCP/IP
网络接口层
网络接入层与OSI参考模型中的物理层和数据链路从相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP本身并为定义盖层的协议,而由参与互联的个网络使用自己的物理层和数据链路从协议,然后与TCP/IP的网络 接入层进行连接。地址解析协议(ARP)工作在此层,即OSI参考模型的数据链路层。网际互联层
网际互联层对应于OSI参考模型的网络层,主要解决主机到主机通信问题。它所包含的协议涉及数据包在整个网络上的逻辑传输。该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。传输层
传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议TCP和用户数据报协议UDP。
TCP/IP三次握手应用层
应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等。
-
TCP/IP模型和OSI模型的比较
- 共同点
- OSI参考模型和TCP/IP参考模型都采用了层次结构的概念
- 都能够提供面向连接和无连接两种通信服务机制
- 不同点
- 一个是七层一个是四层结构
- 对可靠性要求不同(后者更高)
- OSI模型是在协议开发前设计的,具有通用型。TCP/IP是现有协议集后再建立模型,不适用于非TCP/IP网络
- 共同点
IP地址
IP包头
IP地址分类
- A类地址第1字节为网络地址,其它3个字节为主机地址。另外第1个字节的最高位固定为0。
- A类地址范围:1.0.0.1到126.255.255.254。
A类地址中的私有地址和保留地址: 10.0.0.0到10.255.255.255是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。127.0.0.0到127.255.255.255是保留地址,用做循环测试用的。 - B类IP地址是指,在IP地址的四段号码中,前两段号码为网络号码,剩下的两段号码为本地计算机的号码。如果用二进制表示IP地址的话,B类IP地址就由2字节的网络地址和2字节主机地址组成,网络地址的最高位必须是“10”。B类IP地址中网络的标识长度为14位,主机标识的长度为16位,B类网络地址适用于中等规模规模的网络,每个网络所能容纳的计算机数为6万多台。
- 一个C类IP地址是指,在IP地址的四段号码中,前三段号码为网络号码,剩下的一段号码为本地计算机的号码。如果用二进制表示IP地址的话,C类IP地址就由3字节的网络地址和1字节主机地址组成,网络地址的最高位必须是“110”。
- 除了上面三种类型的IP地址外,还有几种特殊类型的IP地址,TCP/IP协议规定,凡IP地址中的第一个字节以“lll0”开始的地址都叫多点广播地址。因此,任何第一个字节大于223小于240的IP地址是多点广播地址;IP地址中的每一个字节都为0的地址(“0.0.0.0”)对应于当前主机;IP地址中的每一个字节都为1的IP地址(“255.255.255.255”)是当前子网的广播地址;IP地址中凡是以“llll0”的地址都留着将来作为特殊用途使用;IP地址中不能以十进制“127”作为开头,127.0.0.1是回送地址,指本地机,一般用来测试使用。回送地址(127.x.x.x)是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回之,不进行任何网络传输。 属于保留测试地址,不能用,同时网络ID的第一个6位组也不能全置为“0”,全“0”表示本地网络。 D 类和 E 类用于组播和保留地址。
子网掩码
端口作用
-
TCP协议包头
-
UDP包头
常用端口号
FTP(文件传输协议):20 21
SSH(安全shell协议):22
telnet(远程登录协议):23
DNS(域名系统):53
http(超文本传输协议):80
SMTP(简单邮件传输协议):25
POP3(邮局协议3代):110
查看本机启动的端口
netstat -an
-a 查看所有连接和监听端口
-n 显示IP地址和端口号,而不显示域名和服务器
DNS作用
DNS是用来做名称解析的
hosts文件
c:\Windows\System32\drivers\etc\hosts
127.0.0.1 localhost
hosts是做静态IP和域名对应
hosts优先级高于DNS
从Hosts文件到DNS
- 早期Hosts文件解析域名
- 名称解析效能下降
- 主机维护困难
- DNS服务
- 层次性
- 分布式
DNS服务的作用
域名空间结构
DNS查询过程
DNS查询分类
- 从查询方式分
- 递归查询:要么做出查询成功响应,要么做出查询失败响应,一般客户机和服务器之间属于递归查询,即当客户机向DNS服务器发出请求后,若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到结果后转交给客户机
- 迭代查询:服务器收到一次迭代查询恢复一次结果,这个结果不一定是目标IP与域名的映射关系,也可以是其他DNS服务器的地址
网关
- 网关(Gateway)又称网间连接器、协议转换器
- 网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络连接
- 网关既可以用于广域网互连,也可以用于局域网互连
- 网关是一种充当转换重任的服务器或路由器
- IP地址:网络中每个主机的唯一标识
- 子网掩码:用来从IP中得到网络标识,剩下的就是主机标识
- 网关:路由器或能实现路由器功能的服务器
- DNS:域名和IP地址的转换
Linux配置IP地址
Linux配置IP地址的方法
ifconfig命令临时配置IP地址
<pre>
ifconfig命令:查看与配置网络状态命令
ifconfig eth0 192.168.0.200 netmask 255.255.255.0
临时设置eth0网卡的IP地址与子网掩码
</pre>setup工具永久配置IP地址(红帽专有)
<pre>
在setup中设置完退出后需要重启网络服务
service network restart
</pre>
- 修改网络配置文件
网卡信息文件:
主机名文件:
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
hostname [主机名]
查看与临时设置主机名命令
DNS配置文件:
vi /etc/resolv.conf
nameserver 202.106.0.20
search localhost
虚拟机网络参数配置
1配置LinuxIP地址
修改并配置IP地址
2启动网卡
把ONBOOT改为yes
service network restart
重启网络服务
3修改UUID(针对拷贝的系统)
vi /etc/sysconfig/network-scripts/ifcfg-eth0
删除MAC地址行
rm –rf /etc/udev/rules.d/70-persistent-net.rules
删除网卡和MAC地址绑定文件
重启系统
4设置虚拟机网络连接方式
在虚拟机中打开网络适配器-网络连接
桥接模式:直接连接物理网络,使用真实的物理网卡连接网络
虚拟机可以和真实计算机配相同的网段,但是会占用一个IP地址,如果网段使用人比较多,容易造成IP冲突。虚拟机可以和真实机以及局域网中的其他机器直接进行通信
NAT模式:使用vm的虚拟网卡8
只能和真实机通信,不能和局域网中的其他机器通信,但是能访问公网
host-only:使用vm的虚拟网卡1
只能和真实机通信,不能和局域网中的其他机器通信,不能访问公网
5修改桥接网卡
虚拟机-虚拟网络编辑器
网络环境查看命令
ifconfig命令
关闭与启动网卡
ifdown 网卡设备名
禁用该网卡设备
ifup 网卡设备名
启用该网卡设备
查看网络状态
netstat
-t 列出TCP协议端口
-u 列出UDP协议端口
-n 不适用域名与服务名,而使用IP地址和端口号
-l 仅列出在监听状态网络服务
-a 列出所有的网络连接
-r 列出路由列表,功能和route命令一致
常用:-tuln –an –rn
route命令
route –n
查看路由列表(可以看到网关)
route add default gw 192.168.1.1
临时设定网关
域名解析命令
nslookup [主机名或IP]
进行域名与IP地址解析
nslookup
> server
查看本机DNS服务器
网络测试命令
ping命令
ping [选项] ip或域名
探测指定IP或域名的网络状况
-c 次数:指定ping报的次数
telnet命令 (已经被SSH取代)
telnet [域名或IP] [端口]
远程管理与端口探测命令
telnet 192.168.0.252 80
traceroute
traceroute [xuanxiang] IP或域名
路由跟踪命令
-n 使用IP,不使用域名,速度更快
wget命令
wget http://soft.vpser.net/lnmp/lnmp1.1-full.tar.gz
下载命令
tcpdump命令
抓包命令
tcpdump –i eth0 –nnX port 21
-i 指定网卡接口
-nn 将数据包中的域名与服务转换为IP和端口
-X 以十六进制和ASCII码显示数据包内容
port 指定监听的端口
远程登录
SSH协议原理
SSH命令
ssh 用户名@ip
远程管理指定Linux服务器
scp [-r] 用户名@ip:文件路径 本地路径
下载文件到本地
scp [-r] 本地文件 用户名@ip:上传路径
上传文件到远程服务器
SecureCRT远程管理工具(用win远程管理Linux)
Xshell工具和WinSCP文件传输工具