Linux入门4-网络

时间:2024-05-19 09:43:03

linux的网络模型

1.TCP/IP协议

网络接口层:网络接口层是TCP/IP的最底层,负责将二进制流转换成数据帧,并进行数据帧的发送和接收。数据帧是网络传输的基本单元。
网络层:网络层负责在主机之间的通信中选择数据包的传输路径,即路由。当网络收到传输层的请求后,使用路由算法来确定是直接交付数据包,还是把它传递给路由器,最后把数据包交给适当的网络接口进行传输。
传输层:负责实现应用程序之间的通信服务,又称为端到端通信,传输层要提供可靠的传输服务,以确保数据到达无差错、无乱序。为了达到这个目的,传输层协议软件要进行协商。传输层协议软件要把传输的数据流分为分组。
应用层:应用层是分层模型的最高层。应用程序使用相应的应用层协议,把封装好的数据交给传输层或是传输层接收数据并处理。

Linux入门4-网络

2.IPV4

192.168.1.1/255.255.255.0

IPv4(Internet Protocol Version 4)协议族是TCP/IP协议族中最为核心的协议族,它工作在TCP/IP协议栈的网络层,该层与OSI参考模型的网络层相对应,网络层提供了无连接数据传输服务,即网络在发送分组时不需要先建立连接,每一个分组(也就是IP数据报文)独立发送,与前后的分组无关。

由32位2进制数组成,常常采用点分十进制来书写,例如192.168.1.1

子网掩码:将某个IP地址划分成网络地址主机地址两部分例如:255.255.255.0;255位对应网络位,0对应为主机位

3.配置ip

使用nm-connection-editor命令跳出图形界面来配置ip

Linux入门4-网络

Linux入门4-网络

可使用ifconfig来查看本机ip信息

Linux入门4-网络

使用ping 加IP地址来测试是否配置成功    例如   ping   172.25.254.199

Linux入门4-网络

若无法联通,则显示不可到达

Linux入门4-网络

4.网关与路由器

Linux入门4-网络

5.让虚拟机可以连接网络

根据网关和路由器的意义可以得出,要让虚拟机可以连接网络,则是让真机作为一个路由器来实现网络连接

首先需要开启真机的路由功能

systemctl stop libvirtd.service关闭libvirtd服务
systemctl restart firewalld重启防火墙
systemctl start libvirtd.service开启libvirtd服务
firewall-cmd --add-masquerade开启路由功能
firewall-cmd --list-all查看防火墙,可以查看路由是否开启

masquerade=yes表示路由功能已开启

Linux入门4-网络

得到自己的主机iIP

Linux入门4-网络

在虚拟机中配置网关,地址写为真机的IP

vim /etc/sysconfig/network在这个文件下书写配置信息

Linux入门4-网络

配置完成后使用systemctl restart network重启网关

使用route -n 检查是否配置成功,Gateway一栏出现自己配置的IP即表示配置成功

Linux入门4-网络

此时虚拟机具有了一个网关,可以利用真机充当的路由器来连接网络

6.DNS

dns即域名服务器:有所有的域名及其IP的对应关系,它的动作叫地址解析

我们使用IP来访问网站不太方便,因为我们平常都是使用域名来进行访问的,可以将域名与其对应的IP写入配置文件,让系统知道这个域名对应的是哪一个IP即可

进入vim /etc/hosts配置一个域名与IP的映射,这样在使用域名访问时机会自动找到其对应的IP

Linux入门4-网络

但这样一个个配置太过麻烦,可以使用dns服务器来做统一配置到这一点

dns服务器提供了非常多的域名与IP的映射给用户,这样就不用用户自己配置映射了

接下来配置虚拟机的dns

首先进入/etc/sysconfig/network-scripts,并删除ifcfg-ens33文件,这个ens33是自己电脑的网卡名

Linux入门4-网络

重新建立编辑ifcfg-ens33文件

Linux入门4-网络

配置完成后使用systemctl restart network重启网关

这样虚拟机的dns也就配置好了,可以使用域名访问网络了

在配置过程中可能会遇到很多问题例如

使用sysctl -a|grep ip_forward 命令查看内核是否开启路由功能

如果显示

net.ipv4.ip_forward = 0

net.ipv4.ip_forward_use_pmtu = 0   则表示未开启

使用vim /etc/sysctl.conf进入后在文件的末尾将0值改为1即可

Linux入门4-网络

配置yum源

1.在真机中配置

使用挂载rhel的iso镜像的方法配置yum,所使用的镜像版本应与系统一致

安装httpd(阿帕奇):进行文件共享(-y表示不用提示yes或no的选择)

启动:systemctl start httpd

开机启动:systemctl enable httpd

加入到防火墙白名单中,防止防火墙拦截请求: firewall-cmd --permanent -add-service=http

创建挂载文件夹:mkdir /var/www/html/rhel7.3文件名是自定义的

将镜像文件挂载到上面创建的文件夹中 : mount /iso/rhel-server-7.3-x86_64-dvd.iso /var/www/html/rhel7.3/

但是mount挂载是临时操作,这样的操作再系统重启时会失效,所以要使用修改配置文件的方法来永久配置

创建并编写vim /etc/rc.d/rc.local文件使挂载在重启时依然生效

Linux入门4-网络

编写此文件的权限

chmod 755 /etc/rc.d/rc.local

进入/etc/yum.repos.d/目录下,将该目录下的所有文件移动到/mnt/目录下,然后删除这个文件夹下的文件

Linux入门4-网络

vim yum.repo进行配置

Linux入门4-网络

运行 yum clean all命令

这样就可在真机中下载文件了

Linux入门4-网络

例如下载要在linux下运行java文件,则需要下载两个文件

Linux入门4-网络

Linux入门4-网络

这样就可使用javac命令来编译java文件,使用java命令来运行已编译的class文件

2.在虚拟机中访问真机镜像文件

在虚拟机中的 /etv/yum.repos.d/中编辑yum.repo

baseurl的路径写真机的IP及镜像文件的位置

Linux入门4-网络

yum命令

yum clean all  清除原有yum缓存

yum repolist 列出仓库信息

Linux入门4-网络

yum install software  安装软件

Linux入门4-网络

yum remove software   卸载软件

Linux入门4-网络

yum uodate   更新软件

yum list software  查看软件

Linux入门4-网络

yum list all  查看所有软件

Linux入门4-网络

yum list installed  列出已安装的软件

Linux入门4-网络

yum list available  列出可安装的软件

Linux入门4-网络

yum reinstall software   重新安装软件

yum info software  查看软件信息

Linux入门4-网络

yum search software信息   根据软件信息查找软件

Linux入门4-网络

yum whatprovides file  根据文件找出包含此文件的软件

yum group list  列出软件组

Linux入门4-网络

yum group info  查看软件组信息

yum group install  sfgroup  安装软件组

yum group remove sfgroup  卸载软件组

rpm命令

rpm :只能安装已经下载到本地机器上的rpm包,无法解决软件包的依赖关系

yum:在线下载并安装rpm包,能更新系统,能自动处理包与包之间的依赖问题

rpm -i softname  安装软件

rpm -v software  显示过程

rpm -h software  hash加密

rpm -e software  卸载

rpm -q software  查看

rpm -a software  所有

rpm -p software  软件包

rpm -ql software  查看软件在系统中的安装文件路径

rpm -qlp software 查看未安装的软件包在系统中如果安装后产生的文件的路径

rpm -qf software 根据某个文件找出此文件属于的安装包

rpm -qc software 查看软件的配置文件名称

rpm -qd software 查看软件的帮助文件

rpm --scritps software 查看脚本

rpm --nodeps software 安装软件忽略软件依赖

rpm -force software 强行安装软件

rpm -Kv software 检测软件是否被外界修改