linux网络基础实验报告(Linux基础实验报告)

网络设计 943
本篇文章给大家谈谈linux网络基础实验报告,以及Linux基础实验报告对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、Linux实验报告 第八章

本篇文章给大家谈谈linux网络基础实验报告,以及Linux基础实验报告对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Linux实验报告 第八章

linux实验报告

第八章 

帮助命令

  内建命令      通常在 Linux 系统加载运行时 shell 就被加载并驻留在系统内存中 解析内部命令shell不需要创建子进程,执行命令速度比外部快

外部命令        Linux 系统中的实用程序部分  在系统加载时并不随系统一起被加载到内存中,而是在需要时才将其调用内存

一个是天生自带的天赋技能,一个是后天得来附加技能。我们可以使用 type 命令来区分命令是内建的还是外部的

帮助命令的使用

1,help命令 

若环境中没有help命令,可以进入bash中内置该命令

若实验环境是 zsh,而 zsh 中内置并没有 help 命令,我们可以进入 bash 中,在 bash 中内置有该命令

使用  help ls        

help 命令是用于显示 shell 内建命令的简要帮助信息

help 命令只能用于显示内建命令的帮助信息

外部命令的话基本上都有一个参数--help

2,man 命令

man 没有内建与外部命令的区分,因为 man 工具是显示系统手册页中的内容

3,info命令

如果man现实的信息都还不够,可以使用info

1、Linux系统基本网络

1.1、服务器注意事项:

远程服务器不允许关机,只能重启

重启时应该先关闭服务

不要在服务器访问高峰运行高负载命令

远程配置防火墙时不要把自己踢出服务器

指定合理的密码规范并定期更新

合理分配权限

定期备份重要的数据和日志

1.2、设置网络桥接命令和(ANT模式):

systemctl restart network------重启网卡service network restart---------重启网络服务

systemctl  stop NetworkManager 临时暂停网络管理器systemctl disable NetworkManager 永久关闭网络管理器

systemctl start NetworkManager      拥有root用户的可执行权限

systemctl stop NetworkManager      停止并禁用虚拟机 NetworkManager 服务

systemctl disable NetworkManager

注意:修改网络配置文件后,需要重新加载网络连接,如果是通过network.service则使用命令:systemctl restart network;如果是通过NetworkManager.service则使用nmcli命令:nmcli connection reload。

设置网络主要操作(桥接模式和)

[root@localhost network-scripts]# cd etc/sysconfig/network-scripts/

[root@localhost network-scripts]# vi ifcfg-ens33

systemctl restart network------重启网卡

service network restart---------重启网络服务

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static            设置静态

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=yes

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33

UUID=10c17057-e9c9-4831-a8ff-0757ea0abc0b

DEVICE=ens33

ONBOOT=yes                          #开机重启

#IPADDR=192.168.43.168              #ip地址(需要跟主机同一个网段,不同一个IP)

IPADDR=10.63.73.20                 

#NETMASK=255.255.255.0              #子网掩码(下面三个都跟主机一样)

NETMASK=255.255.0.0

#GATEWAY=192.168.43.1              #***

GATEWAK=10.63.255.254

#GATEWAK=10.200.0.3

#DNS1=192.168.43.1                  #DNS服务

设置网络主要步骤(Nat模式)

1.打开Vm,点击编辑-虚拟网络编辑

2.选择VMnet8,将VMnet信息改为NAT模式,比如我的本机IP是192.168.138.1,子网掩码为255.255.255.0

所以我将下面的IP配置成192.168.138.0 子网掩码配置成255.255.255

3.再点击NAT设置将网管配置成192.168.138.2(ps:***不要配置成和自己IP地址一样)

然后再应用确定

4.右键点击虚拟机设置,网络适配器改为自定义(选择Vmnet8 Nat模式)

5.接下来开启虚拟机

cd /etc/sysconfig/network-scripts/

vim ifcfg-eno16777736

然后再执行命令:/etc/init.d/network restart

1.3、设置防火墙

1.3.1、防火墙命令

停止防火墙:

systemctl stop firewalld.service #停止firewall 防火墙

service  iptables stop  #(centos7版本之前)

永久关闭防火墙:

systemctl disable firewalld.service #禁止firewall开机启动 ( 永久关闭防火墙 )

chkconfig iptables off #永久关闭防火墙

开始防火墙:

systemctl start firewalld  #启动防火墙

systemctl restart iptables.service #重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动(重启)

查看防火墙状态:

systemctl status firewalld

service  iptables status # (7版本之前)

1.3.2、Linux chkconfig 命令

Linux chkconfig 命令用于检查,设置系统的各种服务。

这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。

语法

chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level 等级代号][系统服务][on/off/reset]

参数 :

--add  增加所指定的系统服务,让 chkconfig 指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。

--del  删除所指定的系统服务,不再由 chkconfig 指令管理,并同时在系统启动的叙述文件内删除相关数据。

--level等级代号  指定读系统服务要在哪一个执行等级中开启或关毕。

实例

列出chkconfig 所知道的所有命令,可以用chkconfig –list查看所有的服务及其在每个级别的开启状态。

# chkconfig --list

开启服务

# chkconfig telnet on   //开启 Telnet 服务

# chkconfig --list      //列出 chkconfig 所知道的所有的服务的情况

关闭服务

# chkconfig telnet off  // 关闭 Telnet 服务

# chkconfig --list      // 列出 chkconfig 所知道的所有的服务的情况

[root@cent01 ***in]# chkconfig --level 3 network off  //关闭3级别的network服务

[root@cent01 ***in]# chkconfig --list //3级别已关闭

network        0:关 1:关 2:开 3:关 4:开 5:开 6:关

[root@cent01 ***in]# chkconfig network on //不输入级别,默认打开2,3,4,5级别

[root@cent01 ***in]# chkconfig --list

network        0:关 1:关 2:开 3:开 4:开 5:开 6:关

[root@cent01 ***in]# chkconfig --del network //删除network

[root@cent01 ***in]# chkconfig --list  //network已消失

mysqld          0:关 1:关 2:开 3:开 4:开 5:开 6:关

netconsole      0:关 1:关 2:关 3:关 4:关 5:关 6:关

[root@cent01 ***in]# chkconfig --add network //增加network服务

[root@cent01 ***in]# chkconfig --list  //network服务又恢复了

mysqld          0:关 1:关 2:开 3:开 4:开 5:开 6:关

netconsole      0:关 1:关 2:关 3:关 4:关 5:关 6:关

network        0:关 1:关 2:开 3:开 4:开 5:开 6:关

[root@cent01 ***in]# chkconfig --list

注:该输出结果只显示 SysV 服务,并不包含

原生 systemd 服务。SysV 配置数据

可能被原生 systemd 配置覆盖。

      要列出 systemd 服务,请执行 'systemctl list-unit-files'。

      查看在具体 target 启用的服务请执行

      'systemctl list-dependencies [target]'。

mysqld          0:关 1:关 2:开 3:开 4:开 5:开 6:关

netconsole      0:关 1:关 2:关 3:关 4:关 5:关 6:关

注意: 但是这里只显示了SysV管理的服务,centos6及之前都是这个管理工具,但是在centos7用的是systemd管理,所以systemd管理的服务在这里没有显示出来。

运行级别为系统启动级别,具体含义如下:

0 shutdown关机

1 单用户模式

2 无NFS支持的多用户模式

3 完全多用户模式,常用的命令行模式

4 保留给用户自定义

5 图形界面登录,比3多了一个图形界面

6 重启

1.3.2、Linux systemd命令

systemd是管理开机启动程序的工具(SysV启动开机进程时一次只能启动一个,而systemd则一次可以启动多个服务,这样就导致systemd的开机速度会更快。)

[root@localhost ~]# systemctl list-units --all --type=service

  UNIT                            LOAD      ACTIVE  SUB    DESCRIPTION

  abrt-ccpp.service              loaded    active  exited  Install ABRT coredump hook

  abrt-oops.service              loaded    active  running ABRT kernel log watcher

  UNIT                            LOAD      ACTIVE  SUB    DESCRIPTION

[root@cent01 ***in]# ls /usr/lib/systemd/system  //启动的脚本文件目录

[root@cent01 ~]# systemctl list-units  //列出正在运行的unit

[root@cent01 ~]# systemctl list-units --all //列出所有的unit,包括active和inactive

[root@cent01 ~]# systemctl list-units --all --state=inactive //列出inactive的unit

[root@cent01 ~]# systemctl list-units --all --type=service  //列出所有状态的service

[root@cent01 ~]# systemctl list-units --type=service  //列出active的service

[root@cent01 ~]# systemctl is-active crond.service  //查看某个unit是否active

systemctl enable crond.service //开机启动 .service可以省略

systemctl disable crond.service //禁止开机启动

systemctl status crond.service  //查看服务状态

systemctl start crond.service //启动服务

systemctl stop crond.service  //停止服务

systemctl restart crond.service  //重启服务

systemctl is-enabled crond.service  //查看某个服务是否开机启动

unit /usr/lib/systemd/system 此目录下列出了很多文件,这些文件都是unit。类别如下:

service 系统服务target 多个unit组成的组device 硬件设备mount 文件系统挂载点automount 自动挂载点path 文件或路径scope 不是由systemd启动的外部进程slice 进程组snapshot systemd快照socket 进程间通信的套接字swap swap文件timer 定时器

target target类似于centos6的启动级别,target内又包含多个unit的组合,当然target内也可以包含target。启动target就是启动多个unit,用target来管理这些unit。

[root@cent01 ~]# systemctl list-units --all --type=target  //查看当前所有的target

  UNIT                      LOAD      ACTIVE  SUB    DESCRIPTION

  basic.target              loaded    active  active Basic System

  bluetooth.target          loaded    active  active Bluetooth

[root@localhost ~]# systemctl list-dependencies multi-user.target

multi-user.target

● ├─abrt-ccpp.service

● ├─abrt-oops.service

● ├─abrt-vmcore.service

● ├─abrt-xorg.service

[root@localhost ~]# systemctl get-default  //查看系统默认的target

multi-user.target

systemctl set-default multi-user.target  //设置默认的target

multi-user.target等同于centos6的运行级别3。他们的对应关系如下:

SysV运行级别systemd target备注

0poweroff.target关闭系统

1rescure.target单用户模式

2multiuser.target用户自定义级别,通常识别为3

3multiuser.target多用户命令行模式

4multiuser.target用户自定义级别,通常识别为3

5graphical.target多用户图形界面,比级别3只多一个GUI

6reboot.target重启

所以总结起来,一个service属于一种unit,多个unit组成一个target,当然target里面也可以包含target。

1.4、ifconfig命令配置IP网络参数

格式:

[root@localhost /]#ifconfig [网络设备] [ip地址] [MAC地址] [netmask掩码地址] [broadcast广播地址(NDC)] [up/down]

[root@localhost /]#ifconfig eth0 192.168.74.130 netmask 255.255.255.0 up

用ifconfig命令配置eth0别名设备,为eth0绑定多个IP地址。

[root@localhost /]#ifconfig eth0:1 192.168.74.130

[root@localhost /]#ifconfig eth0:2 192.168.73.130

1.5、使用routedel命令添加路由

格式:

[root@localhost /]#routedel [-net|host] [网域或主机] netmask [mask] [gw]

[root@localhost /]#route #查看路由信息

功能:添加路由

-net : 表示后面接的路由为一个网络。

-host : 表示后面接的为连接到单部主机的路由。

netmask : 与网络有关,可以设定netmask决定网路的大小。

gw : gateway (***)的简写,后面接的是ip地址。

1.6、使用hostname命令修改主机名称

[root@localhost /]#hostname service.jw***

hostnamectl set-hostname nod1

进程的同步与互斥实验报告Linux?

相交进程之间的关系主要有两种,同步与互斥。所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它 们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的 某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。

显然,同步是一种更为复杂的互斥,而互斥是一种特殊的同步。

也就是说互斥是两个线程之间不可以同时运行,他们会相互排斥,必须等待一个线程运行完毕,另一个才能运行,而同步也是不能同时运行,但他是必须要安照某种次序来运行相应的线程(也是一种互斥)!

总结:互斥:是指某一***同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对***的访问顺序,即访问是无序的。

同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对***的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入***的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问***

Linux进程通信实验报告

一、实验目的:

进一步认识并发(并行)执行的概念,区别顺序执行和并发(并行)执行。

分析进程争用临界***的现象,学习解决进程排斥的方法。

二、实验环境:

一台至少具有256MB内存的计算机,并安装Red Hat Linux 9的Linux操作系统。

三、实验内容:

1. 预备知识

fork函数调用:创建一个新进程。

getpid函数调用:获得一个进程的pid。

lockf系统的调用:在进程同步控制中为进程加锁。

2. 编写一段程序(程序名为fork1.c),使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。

(1)进入Linux操作系统。

(2)打开终端。进入vi编译器。

(3)输入源程序代码。

(4)按Esc键,进入命令模式后,输入“: wq文件名”就可以运行该程序了。

关于linux网络基础实验报告和Linux基础实验报告的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

扫码二维码