Linux学习(八)网络基础
来源:互联网 发布:算法导论第四版pdf 编辑:程序博客网 时间:2024/06/09 01:34
Linux网络基础
1、OSI/ISO七层模型和TCP/IP四层模型
ISO的七层框架
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包头:
子网掩码作用划分网段
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
- Linux学习(八)网络基础
- Linux学习基础篇(八)
- Linux 网络基础学习
- Linux学习之网络基础
- Zynq-Linux移植学习笔记之八-linux网络驱动
- linux基础(八)----linux命令系统学习----其它命令
- 八、Linux网络配置
- 网络编程学习(八)
- Linux基础学习笔记(Linux网络管理)
- Linux基础之八
- python基础学习八:
- HTML基础学习八
- Python基础学习<八>
- 详细介绍Linux shell脚本基础学习(八)
- Linux多线程基础学习(八)私有数据
- Linux学习笔记(6)-网络基础
- linux(八)网络配置
- linux学习笔记八
- 求最大公约数(辗转相除法)
- 程序中的乐观锁与悲观锁,以及动手实现乐观锁 (转)
- 写在CSDN第一篇
- iOS学习笔记-122.多线程21——多图下载1_第一种实现方式(不靠谱)
- 通过python获取美女图片
- Linux学习(八)网络基础
- 链表
- Ubuntu中安装vmwareTools
- 华为开发者联盟 -- 测试中心
- 排序-5-希尔排序
- HDU 3436 Queue-jumpers splay
- linux 安装mysql数据库——yum安装法
- Android_UI_沉浸式通知栏
- 【动态规划】HDU1422重温世界杯【最大子段和变形】