Linux学习(八)网络基础

本文介绍了Linux下的网络基础知识,包括OSI/ISO七层模型与TCP/IP四层模型的区别,网络层协议如IP和ICMP的工作原理,以及如何配置Linux系统中的IP地址。此外,还详细讲解了SSH协议的基本概念、配置方法和使用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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地址范围
A126(2^7-2)1.0.0.0–126.255.255.2552^24-21.0.0.0–10.255.255.255
B16384(2^14)128.0.0.0–191.255.255.2552^16-2172.16.0.0–172.31.255.255
C2097152(2^21)192.0.0.0–233.255.255.2552^8-2192.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=yes
IPV6INIT=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/network
NETWORKING=yes
HOSTNAME=localhost.localdomain #主机名

[root@localhost ~]hostname [主机名] #查看与临时设置主机名命令

3.3.3、DNS配置文件

[root@localhost ~]# vim /etc/resolv.conf
; generated by /sbin/dhclient-script
search 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    #本机DNS
Address: 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=no
ONBOOT=yes
service 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:/root
cat id_rsa.pub >> .ssh/authorized_keys
chmod 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/config
SELINUX=disabled #修改
#重启系统
#服务器端重启ssh服务
service sshd restart
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值