Linux网络管理

视频地址:

慕客网- - - Linux网络管理

1.网络基础

1.1 ISO/OSI

1.1.1 基本概念

ISO:国际标准组织
OSI:开房系统互联模型
IOS:苹果操作系统;思科交换机系统

这里写图片描述

note

1.上三层给用户提供服务;下四层进行实际的传输
2.window计算机看实际的ip地址
(1)

ipconfig

这里写图片描述
(2)

ipconfig /all

这里写图片描述
在这里面有物理地址,物理地址实际上就是MAC地址
3.MAC地址负责内网通信;ip地址负责外网通信

1.1.2 每一层的作用

作用
应用层用户接口
表示层数据的表现形式;特定功能的实现如加密
会话层对应用会话的管理和同步
传输层可靠与不可靠的传输;传输前的错误检测 ;流控
网络层提供ip地址(源地址和目的地址);选择通路
数据链路层成帧;用MAC地址访问媒介;错误检测与修正
物理层比特流传输;物理接口;电气特性

表示层:
(1)翻译:将图像,语音等翻译为0101..;将010101..翻译为图片,语音,文字等形式
(2)实现加密等功能
举例:发送邮件

作用
应用层用文件编辑软件书写邮件,保存
表示层将文字翻译ASCII码,中文翻译为GB2312;图片翻译为jpg等格式,最终都翻译为01串;同时可以实现文件加密和压缩
会话层判断上面文件是否需要发送:如果文件为幻灯片,则直接保存;若文件为邮件,则传输给传输层进行下一步发送
传输层写入邮件端口号(发送端口和接受端口);确定使用的协议(TCP/IP或者UDP)
网络层写入自己的ip地址和收件人的ip地址
数据链路层负责在局域网中传送数据
物理层利用网线和网卡传送数据信号

1.2 TCP/IP四层模型

与七层模型的对应关系
应用层应用层;表示层;会话层
传输层传输层
网络互联层网络层
网络接口层数据链路层;物理层

对应关系

这里写图片描述

1.2.1 网络接口层

网络接口层负责监视数据在主机和网络之间的交换。事实上TCP/IP本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP的网络接入册进行连接。
地址解析协议(ARP)工作在此层,即OSI参考模型的数据链路层。

arp协议

1)作用

将ip地址翻译为MAC地址

2)原因

在不同局域网,传递信息靠ip识别;
在同一局域网内部,传递信息靠MAC地址识别—-当两台主机处于同一局域网时,信号靠交换机进行传递,但是交换机只能根据MAC地址进行传递。

3)步骤

交换机会记录接在交换机的每个端口的网卡的物理地址
在同一局域网上发送数据,点击发送,数据就会被发送到网线上,网线将数据发送到交换机上,交换机直接通过端口号进行发送数据

这里写图片描述

1.2.2 国际互联层

国际互联层对应于OSI模型中的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络中的逻辑传输。
该层主要有三个主要协议 :
网际协议(IP)
互联网组管理协议(IGMP)
互联网控制报文协议(ICMP)

1.2.3 传输层

为应用层实体提供端到端的通信功能,保证了数据包的顺序传送以及数据的完成性。
该协议层定义了两个主要的传输协议:
传输控制协议(TCP)
用户数据报协议(UDP)

1.TCP

TCP是面向连接的可靠协议

(1)面向连接- - -三次握手

这里写图片描述

为什么进行三次握手协议?

两军问题
这里写图片描述
(2)可靠

在三次握手过程中,会有信号的错误检查;
如果信号出现错误,那么主机A会重新发送一份信息。

2.UDP

优势:更加迅速
缺点:信息容易丢失

1.2.4 应用层

应用层对应于OSI参考模型的高层,为用户提供所需要的各种服务
如:FTP,Telnet,DNS,SMTP

数据封装

这里写图片描述

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

共同点
(1) OSI参考模型和TCP/IP模型都采用了层次结构的概念
(2) 都能够提供面向连接和无连接两种通信服务机制
不同点:
(1)前者是四层结构,后者是七层结构
(2)对可靠性要求不同
(3)OSI模型是在协议开发之前设计的,具有通用性;TCP/IP先有协议集,然后建立模型,不适用于非TCP/IP网络
(4)实际应用情况不同

1.3 IP地址

1. IP包头

这里写图片描述

2. IP地址

(1)IP地址的范围

00000000.00000000.00000000.00000000
11111111.11111111.11111111.11111111
即 0.0.0.0~255.255.255.255
并不是所有的ip地址都是可用的
(2)IP地址分类

这里写图片描述

类网络属于同一网络不同主机特殊说明
A第一位相同第二位,第三位,第四位1.0.0.0代表网络本身,不能分配 ; 1.255.255.255代表当前网络的广播地址,不能分配
B第一位,第二位 相同第三位,第四位-
C第一位,第二位,第三位 相同第四位

私有ip地址:用于内网ip,不需要花钱购买

3. 子网掩码

子网掩码决定了A,B,C类网络有不同的网关和主机个数。

ip地址必须跟子网掩码一起看,子网掩码的字段数,与ip的网络地址是对应的。

1)固定子网掩码

A类:

这里写图片描述

B类:
这里写图片描述

C类:
这里写图片描述

2)变长子网掩码

这里写图片描述
IP地址为B类地址;子网掩码为C类的子网掩码

1.4 端口作用

1)传输层完成的事情

确定采用的协议
确定端口号(发送端端口号和接受端端口号)

2)端口号是什么?

端口号类似于收件人;ip地址类似于门牌号。
通过对方的ip可以确定对方的服务器位置,但是服务器可能开启了很多服务。通过端口号来确定访问哪个服务

3)协议包头

TCP协议包头

这里写图片描述

UDP协议包头

这里写图片描述

TCP协议包头比UDP协议复杂,但是二者的端口号位数都相同。

4)常见端口号

FTP(文件传输协议) :20,21
SSH(安全shell协议):22
telnet(远程登录协议):23
DNS(域名系统):53
http(超文本传输协议):80
SMTP(简单邮件传输协议):25
POP3(邮局协议3代):110

5)查看本机启用的端口
netstat -an

这里写图片描述

LISTENING:开启了本机服务,即开启了端口
ESTABLISHED:已经存在连接

UDP没有LISTENING:UDP没有三次握手协议,是不可靠的协议

1.5 DNS作用

  • DNS(名称解析协议)
  • 在互联网中,通过IP进行通信
  • IP通过数字计算,记忆起来太困难
  • 人对域名更加敏感

1)hosts文件

作用

  • 用于保存IP地址及对应的域名
  • 优先于DNS服务器

缺点

  • 名称解析效能下降
  • 主机维护困难

2)DNS

优点
  • 层次性
  • 分布式
作用

这里写图片描述

域名空间结构

这里写图片描述

DNS查询过程

这里写图片描述

查询分类:
1.查询方式

  • 递归查询
    要么查询成功响应,要么做出查询失败的响应。一般客户机与本地域名服务器之间属于递归查询。

  • 迭代查询
    服务器收到一次迭代查询回复一次结果,这个结果不一定是目标IP与域名的映射冠雄,也可以是其它DNS服务器的地址

2.查询内容

  • 正向查询:由域名查找IP地址
  • 反向查询:由IP地址查找域名

1.6 网关

定义

  • 网间连接器、协议转换器
  • 在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连
  • 既可以用于广域网互连,也可以用于局域网互连
  • 是一种充当转换重任的服务器或者路由器

解释

这里写图片描述

1)交换信息的工具

  • 在局域网内传递信息
    通过交换机(数据链路层)根据MAC地址进行交换
  • 不在局域网传递信息时
    通过网关传递信息

2)具有路由功能的设备

网关是硬件设备,一般情况下是路由器,但是也可以为搭建路由功能的服务器

3)
不同网络的内网ip可能相同,这时,不能直接访问公网,需要网关转换

网关的两个作用

  • 网关在所有内网计算机访问的不是本网段的数据报时使用
  • 网关负责将内网IP转换为公网IP,公网IP转为内网ip

2 网络配置

2.1 Linux配置IP地址

DHCP

DHCP(Dynamic Host Configuration Protocol)动态主机设置协议,是一个局域网的网络协议,主要有两个用途:

  • 给内部网络或网络服务器供应商自动分配IP地址
  • 给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

一般来说在工作中,都不会给你开启DCHP服务的,而是给你一个指定的IP。自动获取IP的命令是:

dhclient

工作环境中并不是很常用。

2.1.1 ifconfig命令临时配置IP地址

1.ifconfig运行结果
[centosvm@localhost ~]$ ifconfig
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.199.232  netmask 255.255.255.0  broadcast 192.168.199.255
        ether c4:34:6b:67:eb:ae  txqueuelen 1000  (Ethernet)
        RX packets 74297  bytes 65401915 (62.3 MiB)
        RX errors 2  dropped 0  overruns 0  frame 1
        TX packets 48479  bytes 6011523 (5.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xf7c00000-f7c20000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        loop  txqueuelen 1  (Local Loopback)
        RX packets 4  bytes 200 (200.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 200 (200.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:11:59:d9  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0-nic: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 52:54:00:11:59:d9  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
2 . ifconfig运行结果解释

1.一共有四块网卡:eno1,lo,virbr0,virbr0-nic
2.

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.199.232  netmask 255.255.255.0  broadcast 192.168.199.255
        ether c4:34:6b:67:eb:ae  txqueuelen 1000  (Ethernet)
        RX packets 74297  bytes 65401915 (62.3 MiB)
        RX errors 2  dropped 0  overruns 0  frame 1
        TX packets 48479  bytes 6011523 (5.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 20  memory 0xf7c00000-f7c20000  

UP,BROADCAST,RUNNING,MULTICAST
第一行:

网卡状态网卡的网线连接状态是否支持广播是否支持组播MTU(最大传输速率)
UP(开启)RUNNING(连接)BROADCAST(支持)MULTICAST(支持)1500

第二行:网卡的IP地址、子网、掩码

IP地址子网掩码广播地址
192.168.199.232255.255.255.0192.168.199.255

第三行:
连接类型:Ethernet(以太网)HWaddr(硬件mac地址)

连接类型硬件mac地址
Ethernetc4:34:6b:67:eb:ae

第四、五行、六、七:接收、发送数据包情况统计
第八行:网卡的硬件地址 0xf7c00000-f7c20000
3.一般而言,只需要ip地址和子网掩码即可

3.ifconfig配置
ifconfig eno1 192.168.254.200 mask 255.255.255.0

2.1.2 setup工具永久配置IP地址

1.redhat

1)

setup

进入网络管理界面,配置IP地址和子网掩码
2)
重启网络管理器

service network restart 
2. centos7

centos7已经不再使用setup工具来修改网络配置,而是使用nmtui

yum install NetworkManager-tui
NetworkManager restart
nmtui

2.1.3 修改网络配置文件

三个最重要的文件:

vi /etc/sysconfig/network-scripts/ifcfg-eno1
vi /etc/sysconfig/network
vi /etc/resolv.conf
1.网卡信息文件

1) 打开文件

vi /etc/sysconfig/network-scripts/ifcfg-eno1

运行结果

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno1
UUID=bfa67671-b23d-4f70-ba45-2e3d04362619
DEVICE=eno1
ONBOOT=yes
DNS1=192.168.241.1
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
左边含义
TYPEEthernet类型为以太网
BOOTPROTOdhcp是否自动获取IP(none,static- -静态获取,dhcp- -自动获取)
ONBOOTyes随着当前网络服务启动,eno1会生效
UUIDbfa67671-b23d-4f70-ba45-2e3d04362619唯一标识码
DNS1192.168.241.1DNS服务器地址
IPV6INITyesIPV6启动

2)
CentOS7用Vim
把/etc/sysconfig/network-scripts/ifcfg-enoxxxx中的内容改为

TYPE=Ethernet
BOOTPROTO=static
NAME= 网卡设备名
ONBOOT=yes
IPADDR= IP
NETMASK= 子网掩码
GATEWAY= 网关
DNS1= DNS
2 . 主机名文件

1)打开

vi /etc/sysconfig/network

默认为:

NETWORKING=yes
HOSTNAME=localhost.localdomain

或者空文件
2)修改主机名
1>永久修改,但是需要重启系统后才能生效

NETWORKING=yes
HOSTNAME=imooc

2>临时修改

hostname imooc

3)查询主机名

hostname
3. DNS配置文件

1)打开文件

vi /etc/resolv.conf

结果

generated by /usr/sbin/dhclient-script
search lan
nameserver 192.168.199.1


输入  :quit<Enter>  退出 Vim                                  1,1          全部

2)解释

左边注释
nameserver(即DNS)192.168.199.1DNS为192.168.199.1
serchlan若没有写全域名,lan就是默认的域名

2.2 虚拟机网络参数配置

1)

setup

配置ip地址

2)启动网卡

vi /etc/sysconfig/network-scripts/ifcfg-eno1

中设置

ONBOOT=yes

3)重启网络服务

service network restart

4)修改UUID
1>

vi /etc/sysconfig/network-scripts/ifcfg-eno1

删除MAC地址行
2>

rm -rf /etc/udev/rules/d/70-persostent-net.rules

删除网卡和MAC地址绑定文件
3>

shutdown -r

重启系统

3. Linux 网络命令

3.1 网络环境查看命令

1.

ifconfig
  • 作用: 查看与配置网络状态命令
  • 在Linux下需要配置IP,子网掩码,网关和DNS才能连接网络
    但是该命令只能看见IP和子网掩码
    2.
ifdown 网卡设备名
  • 作用:禁用该网卡设备
ifup 网卡设备名
  • 作用:启用该设备网卡

3.

netstat 选项

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

常用的选项:
1)

netstat -tuln

这里写图片描述

2)

netstat -an

这里写图片描述
3)

netstat -an|grep ESTABLISHED

这里写图片描述

4)
查看现在共有多少条连接

 netstat -an|grep ESTABLISHED|wc -l

这里写图片描述

5)显示路由列表

netstat -rn

这里写图片描述
4.route命令

1)
用于查看路由列表

route -n

这里写图片描述
2)

route add default gw 192.168.199.2

用于设置默认网关
步骤:
1>

route -n

得到如下结果

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.199.1   0.0.0.0         UG    100    0        0 eno1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.199.0   0.0.0.0         255.255.255.0   U     100    0        0 eno1

有第一行看出,默认网关为192.168.199.1,即自己的子网属于192.168.199.0网络,要重新设置网关,只需要设置子网为192.168.199.X
2>

route add default gw 192.168.199.2

3>

[root@localhost centosvm]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.199.2   0.0.0.0         UG    0      0        0 eno1
0.0.0.0         192.168.199.1   0.0.0.0         UG    100    0        0 eno1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.199.0   0.0.0.0         255.255.255.0   U     100    0        0 eno1

可以看出,网关此时为两个 192.168.199.2和 192.168.199.1

3.2 网络测试命令

3.2.1 ping

ping [选项] ip或域名 c 次数

用于判断本机和对方是否可以连通

3.2.2 Telnet

telnet [域名或IP] [端口]

可以用于端口探测

3.2.3 traceroute

traceroute 域名或IP

3.2.4 wget命令

wget 网址

下载软件包

3.2.5 tcpdump命令

tcpdump -i eno1 -nnX port 21

意思是监听eno1网卡,IP和端口,21端口号

选项:
-i 指定网卡接口
-nn 将数据包的域名与服务转为IP和端口
-X 以16进制
port 监听指定的端口

用于抓包

4 远程登陆工具

4.1 SSH协议原理

4.1.1 加密算法

对称加密
加密和解密都采用同样的密码或者密钥。
非对称加密
公钥和私钥

4.1.2 SSH安全外壳协议

这里写图片描述

4.1.3 SSH命令

1 SSH命令
ssh 用户名@ip

远程管理指定Linux服务器
1.若Linux远程连接另外一台Linux系统
1)

ssh root@192.168.0.253

尝试连接,若成功
2)
下载公钥 yes
输入对方密码:**
登陆对方计算机成功
3)

exit

退回到本机

2.
若连接远程服务器成功
1>

pwd

显示内容

/home/centosvm

2>

[root@localhost centosvm]# ls -a
.                                      Linux网络管理(1).md
..                                     Linux网络管理.md
.adobe                                 lnmp1.1-full.tar.gz
Anaconda3-4.4.0-Linux-ppc64le.sh.part  .local
.bash_history                          .macromedia
.bash_logout                           .mozilla
.bash_profile                          .mplayer
.bashrc                                .oracle_jre_usage
.bashrc.swp                            .pki
.cache                                 Python-3.5.1
Coding                                 pythonCode
.config                                sign32.dot
curl-7.54.0                            .ssh
download                               test
eos_platform_7.5_install.log           .viminfo
.esd_auth                              .wine
GCC                                    公共
git-2.13.0                             模板
git-2.3.0                              视频
.gnupg                                 图片
.ICEauthority                          文档
.java                                  音乐
lantern-installer-64-bit.deb           桌面

里面有一个文件.ssh
3>打开ssh

cd .ssh/

显示

known_hosts

4>在文件中有一个
IP地址以及对应的密钥
若系统被重装或者IP地址发生改变,则该段命令无效,重新连接系统,会重新下载密钥

2 SCP命令

下载文件

scp [-r] 用户名@ip:文件路径 本地路径

上传文件

scp [-r] 本地文件 用户名@ip:上传路径

4.2 Linux远程登陆工具 SecureCRT- - -windows远程连接Linux系统

windows本身不支持SSH,但是有众多的第三方软件。
SecureCRT是最常用的一个软件。

Linux需要做的事情

首先查看ssh服务是否已经启动

netstat -antulp | grep ssh

如果有sshd此选项,只需开启防火墙即可。

若没有sshd选项:

1)安装SSH

yum install openssh-server

2)
确认SSH是否安装

chkconfig --list sshd

3)修改配置文件

 vi /etc/ssh/sshd_config

将文件中的

#port 22

的’#’号去掉
保存退出

4)重启SSH

systemctl start sshd 

或者

/etc/init.d/sshd restart

5)设置sshd开机自启动

chkconfig --add sshd

6)关闭防火墙

iptables -F

windows需要的事情

1)下载SecureCRT破解版,并安装破解
2)点击快速连接,输入IP地址,端口,进行connect
输入用户名和密码,进行登入
3)修改SecureCRT的默认配置

  • Options->Sessions Options->Emulation->Terminal:Linux
  • Options->Sessions Options->Appearance->Font
    Font中设置中文字体为GB2312
  • Options->Sessions Options->Appearance->Character encoding
    UTF-8

4.3 XShell和WinSCP工具

XShell:用于远程管理工具,类似于SecureCRT

这里写图片描述

WinSCP:Linux和windows之间传递文件数据。将数据直接拖拽即

这里写图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值