Linux学习(八)网络基础

来源:互联网 发布:算法导论第四版pdf 编辑:程序博客网 时间:2024/06/09 01:34

Linux网络基础

1、OSI/ISO七层模型和TCP/IP四层模型

ISO的七层框架

层 说明 应用层 用户接口 表示层 数据的表现形式、特定功能的实现如加密 会话层 对应用会话的管理、同步 传输层 可靠与不可靠的传输、传输前的错误检测、流控 网络层 提供逻辑地址、选路 数据链路层 成帧、用MAC地址访问媒介、错误检测与修正 物理层 设备之间的比特流的传输、物理接口、电气特性等

TCP/IP模型与OSI模型的对应

  • 网络接入层与OSI参考模型中的物理层和数据链路层相对应。它负责监视数据在本机和网络之间的交换。TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入层进行链接。地址解析协议(ARP)工作在此层,即OSI参考模型的数据链路层。
  • 网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上逻辑传输。该层有三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。
  • 传输层对应OSI参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。
  • 应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务。

端口:传输层与应用层之间传递的接口。
数据封装过程:

TCP/IP模型与OSI模型的比较
共同点:
1. OSI参考模型和TCP/IP参考模型都采用了层次结构的概念
2. 都能提供面向连接和无连接两种通信服务机制

不同点:
1. 前者是七层模型,后者是四层结构
2. 对可靠性要求不同(后者更高)
3. OSI模型是在协议开发前设计的,具有通用性。TCP/IP是先有协议集然后建立模型,不适用于非TCP/IP网络。
4. 实际市场应用不同(OSI模型只是理论上的模型,没有成熟的产品,TCP/IP已经成为“实际上的标准”)

2、网络层协议和IP划分

网络层协议

  • 网际协议(IP)
  • 互联网控制报文协议(ICMP)

IP包头:

网络类别 最大网络数 IP地址范围 最大主机数 私有IP地址范围 A 126(2^7-2) 1.0.0.0–126.255.255.255 2^24-2 1.0.0.0–10.255.255.255 B 16384(2^14) 128.0.0.0–191.255.255.255 2^16-2 172.16.0.0–172.31.255.255 C 2097152(2^21) 192.0.0.0–233.255.255.255 2^8-2 192.168.0.0–192.168.255.255

子网掩码作用划分网段

ICMP协议:
ICMP消息通过IP数据报传送,被用来发送错误和控制信息。
ICMP定义了很多信息类型,例如:

  • 目的地不可达
  • TTL超时
  • 信息请求
  • 信息应答
  • 地址请求
  • 地址应答

3、Linux的IP地址配置

3.1、ifconfig命令临时配置IP地址

ifconfig #查看与配置网络状态命令ifconfig etho0 192.168.134.10 netmask 255.255.255.0 #临时设置etho0网卡的IP地址与子网掩码

3.2、setup工具永久配置IP地址
红帽专有图形化工具setup设置IP地址

3.3、修改网络配置文件
3.3.1、网卡信息文件

vim /etc/sysconfig/network-scripts/ifcfg-eth0  #编辑网络配置文件DEVICE=eth0 #网卡设备名TYPE=Ethernet   #类型为以太网UUID=39618b08-8eb8-454a-aeac-2e3f4059b016 #唯一识别码ONBOOT=yes  #是否随网络服务启动,eth0生效NM_CONTROLLED=yes   #是否可以有Network Manager图形管理工具托管BOOTPROTO=none  #是否自动获取IP(none、static、dhcp)DEFROUTE=yes    IPV4_FAILURE_FATAL=yesIPV6INIT=no     #IPv6没有启动NAME="System eth0"HWADDR=00:0c:29:fe:78:78    #MAC地址PEERROUTES=yes      IPADDR=192.168.134.10   #IP地址USERCTL=no      #不允许非root用户控制NETMASK=255.255.255.0   #子网掩码GATEWAY=192.168.134.2   #网关DNS1=119.29.29.29       #DNS

3.3.2、主机名文件

[root@localhost ~]# vim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=localhost.localdomain #主机名[root@localhost ~]hostname [主机名] #查看与临时设置主机名命令

3.3.3、DNS配置文件

[root@localhost ~]# vim /etc/resolv.conf; generated by /sbin/dhclient-scriptsearch localdomain          # 域名补全nameserver 119.29.29.29     # DNS

3.4、图形节目配置IP地址

4、常用网络命令

4.1、ifconfig命令:查看与配置网络状态命令

4.2、hostname [主机名] :查看或设置主机名

4.3、关闭与启动网卡

ifdown 网卡设备 #禁用该网卡设备ifup    网卡设备名 #启用该网卡设备

4.4、查询网络状态
netstat [选项]
选项:
-t:列出TCP协议端口
-u:列出UDP协议端口
-n:不使用域名与服务名,而使用IP地址和端口号
-l:仅列出在监听状态网络服务
-a:列出所有的网络连接

netstat -tuln  netstat -an

netstat -rn
选项:
-r:列出路由列表,功能和route命令一致

4.5、route命令

route -n #查看路由列表(可以看到网关)

4.6、域名解析命令
nslookup [主机名或IP]
进行域名与IP地址解析

[root@localhost ~]# nslookup> server  #查看本机DNS服务器Default server: 119.29.29.29    #本机DNSAddress: 119.29.29.29#53

4.7、ping命令

ping [选项] ip或域名        #探测指定IP或域名的网络状况选项:-c 次数:指定ping包的次数

4.8、telnet命令

telnet [域名或IP][端口] #远程管理与端口探测命令telnet 192.168.134.10 80

4.9、traceroute

traceroute [选项] IP或域名#路由跟踪命令选项:-n:使用IP,不使用域名,速度更快

4.10、wget命令

wget 文件名 #下载命令

5、虚拟机网络参数配置

5.1、配置LinuxIP地址

setup   #修改并配置IP地址

5.2、启动网卡(CentOS6.x)

vim /etc/sysconfig/network-scripts/ifcfg-eth0# ONBOOT=noONBOOT=yesservice network restart #重启网络服务

5.3、设置虚拟机网络连接方式
选择网络连接方法

5.4、克隆功能

5.5、修改UUID
只有复制镜像需要设置

vim /etc/sysconfig/network-scripts/ifcfg-eth0 #删除MAC地址行rm -rf /etc/udev/rules.d/70-persistent-net.rules #删除网卡和MAC地址绑定文件#重启系统

SSH服务

1、SSH简介

SSH(安全外壳协议)为Secure Shell缩写,SSH为建立在应用层和传输层基础上的安全协议。

  • SSH端口:22
  • Linux中守护进程:sshd
  • 安装服务:OpenSSH
  • 服务端主程序:/usr/sbin/sshd
  • 客户端主程序:/usr/bin/ssh

2、SSH原理

对称加密算法:采用单密码系统的加密方法,同一个秘钥可以同时用作信息的加密和解密,这种加密称为对称加密,也称为单密钥加密。
非对称加密算法:需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。

3、SSH配置文件

服务端配置文件/etc/ssh/sshd_config

  • Port 22 端口
  • ListenAddress 0.0.0.0 监听的IP
  • Protocol 2 SSH版本选择
  • HostKey /etc/ssh/ssh_host_rsa_key 私钥保存位置
  • ServerKeyBits 1024 私钥的位数
  • SyslogFacility AUTH 日志记录SSH登录情况
  • LogLevel INFO 日志等级
  • GSSAPIAuthentication yes GSSAPI认证开启

安全设定部分

  • PermitRootLogin yes 允许root的ssh登录
  • PubkeyAuthentication yes 是否使用公钥验证
  • AuthorizedKeyFile .ssh/authorized_keys 公钥的保存位置
  • PasswordAuthentication yes 允许使用密码验证登录
  • PermitEmptyPasswords no 不允许空密码登录

4、常用SSH命令

4.1、SSH远程管理

ssh 用户名@IP

4.2、scp远程复制

#下载scp root@192.168.134.10:/root/hello.sh /root/#上传scp -r /root/gitosis/ root@192.168.134.10:/tmp/

4.3、Sftp文件传输

sftp root@192.168.134.10-ls     查看服务器端数据-cd     切换服务器端目录-lls    查看本地数据-lcd    切换本地目录-get    下载-put    上传

5、SSH连接工具

  • SecureCRT
  • Xshell

6、秘钥对登录

6.1、步骤1
client端:

ssh-keygen -t rsa

server端

#把公钥上传到服务器端scp id_rsa.pub root@192.168.134.11:/rootcat id_rsa.pub >> .ssh/authorized_keyschmod 600 /root/.ssh/authorized_keys

6.2、步骤2
修改服务器端ssh配置文件

vim /etc/ssh/sshd_config RASAAuthentication yes      开启RSA验证PubkeyAuthentication yes    是否使用公钥验证AuthorizedKeysFile  .ssh/authorized_keys    公钥的保存位置PasswordAuthentication no   禁止使用密码验证登录

6.3、步骤3

#服务器端关闭SELinux服务vim /etc/selinux/configSELINUX=disabled #修改#重启系统#服务器端重启ssh服务service sshd restart
原创粉丝点击